Skip to content

A testing framework for automatically finding and simplifying bugs in graphics shader compilers.

License

Notifications You must be signed in to change notification settings

google/graphicsfuzz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

aa32d4c · Mar 10, 2022
Sep 28, 2021
Jul 14, 2020
Jul 7, 2020
Mar 10, 2022
Feb 22, 2020
Mar 10, 2022
Apr 22, 2020
Jul 30, 2020
Sep 14, 2021
Mar 6, 2019
Sep 21, 2021
Jun 11, 2020
Jul 30, 2020
Oct 1, 2021
Mar 4, 2022
Nov 22, 2018
Jul 30, 2020
Jan 25, 2021
Jan 10, 2022
Jul 30, 2020
Jul 30, 2020
Mar 10, 2022
Nov 27, 2018
Dec 19, 2018
Jul 15, 2020
Apr 22, 2020
Sep 11, 2021
Jul 16, 2019
Sep 24, 2018
May 23, 2019
Dec 14, 2021
Sep 24, 2020
Jan 25, 2021
Jun 15, 2021
Jun 30, 2020
Jul 30, 2020
Apr 22, 2020
Mar 6, 2019
Jan 7, 2020
Jul 15, 2020
Nov 15, 2018
Sep 24, 2018
Sep 25, 2018
Sep 24, 2018
Sep 9, 2019
Sep 24, 2018
Feb 22, 2020
Jun 15, 2021
Mar 6, 2019

GraphicsFuzz

License Build Status

GraphicsFuzz is a set of tools for testing shader compilers

GraphicsFuzz provides tools for automatically finding and simplifying bugs in graphics drivers, specifically graphics shader compilers. The glsl-fuzz and glsl-reduce tools manipulate GLSL shaders, targeting SPIR-V compilers via translation. The spirv-fuzz and spirv-reduce tools directly manipulate SPIR-V shaders.

Download and run

Follow the gfauto README. The gfauto command line tool is the recommended way of automatically downloading and running our fuzzers to test Vulkan drivers in a "push-button" fashion with minimal interaction. See below if you want to read about individual tools and/or use them as standalone command line tools.

Tool documentation

  • gfauto: the recommended way of automatically downloading and running our fuzzers to test Vulkan drivers in a "push-button" fashion with minimal interaction
  • glsl-fuzz: a family of tools for testing GLSL shader compilers using randomized metamorphic testing
  • glsl-reduce: a stand-alone GLSL shader reducer
  • spirv-fuzz: a stand-alone SPIR-V shader fuzzer and shrinker that uses randomized metamorphic testing
  • spirv-reduce: a stand-alone SPIR-V shader reducer

glsl-fuzz

glsl-reduce

spirv-fuzz

spirv-reduce

Contribute

Further reading

GraphicsFuzz blog posts:

Academic research project blog posts:

Academic publications:

This is not an officially supported Google product.