SPIRV-Tools/source
Alastair Donaldson 8d4261bc44
spirv-fuzz: Introduce TransformationContext (#3272)
Some transformations (e.g. TransformationAddFunction) rely on running
the validator to decide whether the transformation is applicable.  A
recent change allowed spirv-fuzz to take validator options, to cater
for the case where a module should be considered valid under
particular conditions.  However, validation during the checking of
transformations had no access to these validator options.

This change introduced TransformationContext, which currently consists
of a fact manager and a set of validator options, but could in the
future have other fields corresponding to other objects that it is
useful to have access to when applying transformations.  Now, instead
of checking and applying transformations in the context of a
FactManager, a TransformationContext is used.  This gives access to
the fact manager as before, and also access to the validator options
when they are needed.
2020-04-02 15:54:46 +01:00
..
fuzz spirv-fuzz: Introduce TransformationContext (#3272) 2020-04-02 15:54:46 +01:00
link Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
opt Update dominates to check for null nodes (#3271) 2020-04-02 08:19:54 -04:00
reduce Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
util Support constant-folding UConvert and SConvert (#2960) 2019-10-16 16:29:55 -04:00
val Validate Buffer and BufferBlock apply only to struct types (#3259) 2020-03-31 10:06:29 -04:00
assembly_grammar.cpp Add validation for SPV_NV_cooperative_matrix (#2404) 2019-02-25 17:43:11 -05:00
assembly_grammar.h
binary.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
binary.h
cfa.h
CMakeLists.txt Combine extinst-name and extinst-output-base into one arg. (#3200) 2020-02-25 00:46:52 -05:00
diagnostic.cpp
diagnostic.h
disassemble.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
disassemble.h
enum_set.h Instrument: Debug Printf support (#3215) 2020-03-12 09:19:52 -04:00
enum_string_mapping.cpp
enum_string_mapping.h
ext_inst.cpp Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
ext_inst.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
extensions.cpp
extensions.h
extinst.debuginfo.grammar.json
extinst.opencl.debuginfo.100.grammar.json Support OpenCL.DebugInfo.100 extended instruction set (#3080) 2019-12-19 17:16:26 -05:00
extinst.spv-amd-gcn-shader.grammar.json
extinst.spv-amd-shader-ballot.grammar.json
extinst.spv-amd-shader-explicit-vertex-parameter.grammar.json
extinst.spv-amd-shader-trinary-minmax.grammar.json
instruction.h
latest_version_glsl_std_450_header.h
latest_version_opencl_std_header.h
latest_version_spirv_header.h
libspirv.cpp Add SpirvTools::IsValid(). (#2326) 2019-01-24 09:45:09 -05:00
macro.h
name_mapper.cpp
name_mapper.h
opcode.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
opcode.h spirv-fuzz: Add swap commutable operands transformation (#3205) 2020-03-05 08:18:39 +00:00
operand.cpp Add support for KHR_ray_{query,tracing} extensions (#3235) 2020-03-17 15:30:19 -04:00
operand.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
parsed_operand.cpp
parsed_operand.h
pch_source.cpp
pch_source.h
print.cpp build: cmake: Add support for Fuchsia. (#3062) 2019-11-26 16:22:59 -05:00
print.h
software_version.cpp
spirv_constant.h
spirv_definition.h
spirv_endian.cpp
spirv_endian.h
spirv_fuzzer_options.cpp spirv-fuzz: Improve debugging facilities (#3074) 2019-11-27 18:05:56 +00:00
spirv_fuzzer_options.h spirv-fuzz: Improve debugging facilities (#3074) 2019-11-27 18:05:56 +00:00
spirv_optimizer_options.cpp Add —preserve-bindings and —preserve-spec-constants (#2693) 2019-07-10 14:12:19 -04:00
spirv_optimizer_options.h Add —preserve-bindings and —preserve-spec-constants (#2693) 2019-07-10 14:12:19 -04:00
spirv_reducer_options.cpp Refactor reducer options (#2709) 2019-07-04 11:11:42 +01:00
spirv_reducer_options.h Refactor reducer options (#2709) 2019-07-04 11:11:42 +01:00
spirv_target_env.cpp Add spvParseVulkanEnv (#3142) 2020-01-23 17:20:32 -05:00
spirv_target_env.h Validate that in OpenGL env block variables have Binding (#2685) 2019-07-02 08:11:20 -04:00
spirv_validator_options.cpp Make pointers to isomorphic type interchangeable with option. (#2570) 2019-05-13 13:48:17 -04:00
spirv_validator_options.h Make pointers to isomorphic type interchangeable with option. (#2570) 2019-05-13 13:48:17 -04:00
table.cpp Add basic support for Vulkan 1.2: SPV_ENV_VULKAN_1_2 2020-01-14 20:06:19 -05:00
table.h Use last version (#2578) 2019-05-10 11:02:01 -04:00
text_handler.cpp Avoid GCC8 warning in text_handler.cpp. (#2197) 2018-12-13 15:03:28 -05:00
text_handler.h
text.cpp Support OpenCL.DebugInfo.100 extended instruction set (#3080) 2019-12-19 17:16:26 -05:00
text.h