mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2025-01-13 18:00:05 +00:00
2c60d16a64
The Vulkan 1.2.152 headers/spec now include Valid Usage IDs (VUID) for every BuiltIn. This change adds labeling to help aid tracking the coverage gap in Vulkan targeted validation. This is done with a script in the Validation Layers that parses the source for VUID strings, both that there is an implementation and a test for it. There are 2 main changes: 1. A VUID string is added where applicable. It is wrapped in a function that at runtimes checks if Vulkan is the target so that other targets will not be effected as the output error only changes for Vulkan and the overhead only occurs if there is an error at all. 2. For unit test, a new parameter value was added to allow make sure that for each VUID there is a matching test. There are cases where the same unit test checks multiple VUs via the parameter feature of gtest. For this, I added a custom gMock Matcher to simply loop over a list of VUID strings |
||
---|---|---|
.. | ||
fuzz | ||
link | ||
opt | ||
reduce | ||
util | ||
val | ||
assembly_grammar.cpp | ||
assembly_grammar.h | ||
binary.cpp | ||
binary.h | ||
cfa.h | ||
CMakeLists.txt | ||
diagnostic.cpp | ||
diagnostic.h | ||
disassemble.cpp | ||
disassemble.h | ||
enum_set.h | ||
enum_string_mapping.cpp | ||
enum_string_mapping.h | ||
ext_inst.cpp | ||
ext_inst.h | ||
extensions.cpp | ||
extensions.h | ||
instruction.h | ||
latest_version_glsl_std_450_header.h | ||
latest_version_opencl_std_header.h | ||
latest_version_spirv_header.h | ||
libspirv.cpp | ||
macro.h | ||
name_mapper.cpp | ||
name_mapper.h | ||
opcode.cpp | ||
opcode.h | ||
operand.cpp | ||
operand.h | ||
parsed_operand.cpp | ||
parsed_operand.h | ||
pch_source.cpp | ||
pch_source.h | ||
print.cpp | ||
print.h | ||
software_version.cpp | ||
spirv_constant.h | ||
spirv_definition.h | ||
spirv_endian.cpp | ||
spirv_endian.h | ||
spirv_fuzzer_options.cpp | ||
spirv_fuzzer_options.h | ||
spirv_optimizer_options.cpp | ||
spirv_optimizer_options.h | ||
spirv_reducer_options.cpp | ||
spirv_reducer_options.h | ||
spirv_target_env.cpp | ||
spirv_target_env.h | ||
spirv_validator_options.cpp | ||
spirv_validator_options.h | ||
table.cpp | ||
table.h | ||
text_handler.cpp | ||
text_handler.h | ||
text.cpp | ||
text.h |