GraphicsFuzz
![Build Status](https://github.com/google/graphicsfuzz/workflows/.github/workflows/graphicsfuzz.yml/badge.svg)
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:
- 17 January 2018: Samsung Galaxy S8 (ARM, Qualcomm)
- 22 January 2018: Nvidia Shield TV, Tablet (Nvidia)
- 25 January 2018: Google Pixel Phone 1, 2 (Qualcomm)
- 5 February 2018: Google Nexus Player (Imagination Technologies)
- 15 February 2018: Huawei Honor 9, 9 lite, 10 (ARM)
- 22 February 2018: Apple iPhone 6, 7, 8, X (Apple, Imagination Technologies)
- 12 March 2018: Samsung Galaxy S6, S7 (ARM, Qualcomm)
- 22 May 2018: Samsung Galaxy S9 (ARM, Qualcomm)
Academic research project blog posts:
Academic publications:
This is not an officially supported Google product.