graphicsfuzz icon indicating copy to clipboard operation
graphicsfuzz copied to clipboard

Add ShaderTrap back-end to gfauto

Open afd opened this issue 4 years ago • 0 comments

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.

@paulthomson for info.

afd avatar Sep 14 '21 07:09 afd