dawn-cmake/fuzzers
Vasyl Teliman 0b3611b8c8 Add spirv-tools fuzzer
This change adds a new tint fuzzer that uses SPIRV-Tools to fuzz SPIR-V binaries.
The fuzzer works on a corpus of SPIR-V shaders. For each shader from the corpus it uses
one of `spirv-fuzz`, `spirv-reduce` or `spirv-opt` to mutate and then runs the shader through
the Tint compiler in two steps:
- Converts the mutated shader to WGSL.
- Converts WGSL to some target language specified in the CLI arguments.

The list of all supported CLI arguments and their description is in the cli.h file.

Change-Id: I95c0741b78ccc600dd9a73c371d520bdf7814352
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/41945
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Vasyl Teliman <vasniktel@gmail.com>
Reviewed-by: David Neto <dneto@google.com>
Reviewed-by: Alastair Donaldson <allydonaldson@googlemail.com>
2021-06-24 18:10:46 +00:00
..
tint_spirv_tools_fuzzer Add spirv-tools fuzzer 2021-06-24 18:10:46 +00:00
BUILD.gn Remove fuzzing for transform::EmitVertPointSize 2021-05-07 15:48:04 +00:00
CMakeLists.txt Add spirv-tools fuzzer 2021-06-24 18:10:46 +00:00
dictionary.txt [wgsl-reader] Disallow explicit storage classes on handle types 2021-03-22 15:49:16 +00:00
tint_all_transforms_fuzzer.cc Remove fuzzing for transform::EmitVertPointSize 2021-05-07 15:48:04 +00:00
tint_ast_clone_fuzzer.cc ast: Add type nodes 2021-04-20 15:04:21 +00:00
tint_binding_remapper_fuzzer.cc Add fuzzing for transform::VertexPulling 2021-05-06 15:43:33 +00:00
tint_bound_array_accessors_fuzzer.cc src/transform: Remove deprecated APIs 2021-04-26 20:38:36 +00:00
tint_common_fuzzer.cc Add spirv-tools fuzzer 2021-06-24 18:10:46 +00:00
tint_common_fuzzer.h Add spirv-tools fuzzer 2021-06-24 18:10:46 +00:00
tint_first_index_offset_fuzzer.cc Add fuzzing for transform::VertexPulling 2021-05-06 15:43:33 +00:00
tint_hlsl_transform_fuzzer.cc Add fuzzing for transform::Hlsl 2021-04-29 20:03:35 +00:00
tint_inspector_fuzzer.cc Add in Inspector Fuzzer implementation file 2021-01-13 20:15:32 +00:00
tint_msl_transform_fuzzer.cc Add fuzzing for transform::Msl 2021-04-29 20:06:25 +00:00
tint_renamer_fuzzer.cc Add fuzzing for transform::Renamer 2021-04-29 20:43:45 +00:00
tint_single_entry_point_fuzzer.cc Add fuzzing for transform::VertexPulling 2021-05-06 15:43:33 +00:00
tint_spirv_transform_fuzzer.cc Add fuzzing for transform::Spirv 2021-04-29 20:12:05 +00:00
tint_spv_reader_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_spv_reader_hlsl_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_spv_reader_msl_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_spv_reader_spv_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_spv_reader_wgsl_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_vertex_pulling_fuzzer.cc Remove fuzzing for transform::EmitVertPointSize 2021-05-07 15:48:04 +00:00
tint_wgsl_reader_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_wgsl_reader_hlsl_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_wgsl_reader_msl_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_wgsl_reader_spv_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00
tint_wgsl_reader_wgsl_writer_fuzzer.cc Re-land fuzzing work with fix 2021-01-12 16:23:48 +00:00