SPIRV-Tools/source/val
Andrey Tuganov fe9121f721 Add Vulkan validation rules for BuiltIn variables
Added a framework for validation of BuiltIn variables. The framework
allows implementation of flexible abstract rules which are required for
built-ins as the information (decoration, definition, reference) is not
in one place, but is scattered all over the module.

Validation rules are implemented as a map
id -> list<functor(instrution)>

Ids which are dependent on built-in types or objects receive a task
list, such as "this id cannot be referenced from function which is
called from entry point with execution model X; propagate this rule
to your descendants in the global scope".

Also refactored test/val/val_fixtures.

All built-ins covered by tests
2018-03-23 14:02:42 -04:00
..
basic_block.cpp Re-format files in source, source/opt, source/util, source/val and tools. 2017-11-08 14:03:08 -05:00
basic_block.h Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -05:00
construct.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
construct.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
decoration.h Add Vulkan validation rules for BuiltIn variables 2018-03-23 14:02:42 -04:00
function.cpp Fixes compile errors generated with -Wpedantic 2018-03-22 09:40:11 -04:00
function.h Add barrier instructions validation pass 2018-02-05 13:14:55 -05:00
instruction.cpp Rename validation source files to comply with Google style guide. 2016-11-08 17:19:56 -08:00
instruction.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
validation_state.cpp AMD_gpu_shader_half_float enables float16 2018-03-07 11:07:58 -05:00
validation_state.h Add Vulkan validation rules for BuiltIn variables 2018-03-23 14:02:42 -04:00