gfauto is currently geared towards generating Amber tests. It would be useful to give it the ability to generate ShaderTrap tests, in order to be able to test GL and GLES drivers.
Currently gfauto has a fuzz_glsl_test file, which has most of the logic for the fuzzing process, and fuzz_spirv_test, which provides the ability to test using spirv-fuzz. fuzz_spirv_test uses quite a lot of the logic in fuzz_glsl_test.
Adding a ShaderTrap back-end without first refactoring could make things rather messy, so I propose the following pathway:
[x] Refactor fuzz_glsl_test and fuzz_spirv_test to call them fuzz_glsl_amber_test and fuzz_spirv_amber_test, extracting any common code into a new fuzz_test_util file, so that neither fuzz_glsl_amber_test nor fuzz_spirv_amber_test depends on the other.
[ ] Add a ShaderTrap back-end in a new file, fuzz_glsl_shadertrap_test.
[ ] Assess whether the common code in fuzz_test_util should be common to both the Amber and ShaderTrap back-ends. If it is, no action is required. Otherwise think about having a fuzz_amber_test_util file with the Amber-specific common code.
For now, the ShaderTrap back-end will use the existing .json shader job format.
gfauto is currently geared towards generating Amber tests. It would be useful to give it the ability to generate ShaderTrap tests, in order to be able to test GL and GLES drivers.
Currently gfauto has a
fuzz_glsl_test
file, which has most of the logic for the fuzzing process, andfuzz_spirv_test
, which provides the ability to test using spirv-fuzz.fuzz_spirv_test
uses quite a lot of the logic infuzz_glsl_test
.Adding a ShaderTrap back-end without first refactoring could make things rather messy, so I propose the following pathway:
fuzz_glsl_test
andfuzz_spirv_test
to call themfuzz_glsl_amber_test
andfuzz_spirv_amber_test
, extracting any common code into a newfuzz_test_util
file, so that neitherfuzz_glsl_amber_test
norfuzz_spirv_amber_test
depends on the other.fuzz_glsl_shadertrap_test
.fuzz_test_util
should be common to both the Amber and ShaderTrap back-ends. If it is, no action is required. Otherwise think about having afuzz_amber_test_util
file with the Amber-specific common code.For now, the ShaderTrap back-end will use the existing
.json
shader job format.@paulthomson for info.