SPIRV-Tools/test/val
Lei Zhang 1ef6b19260 Migrate to use unified grammar tables
Previously we keep a separate static grammar table for opcodes/
operands per SPIR-V version. This commit changes that to use a
single unified static grammar table for opcodes/operands.

This essentially changes how grammar facts are queried against
a certain target environment. There are only limited filtering
according to the desired target environment; a symbol is
considered as available as long as:

1. The target environment satisfies the minimal requirement of
   the symbol; or
2. There is at least one extension enabling this symbol.

Note that the second rule assumes the extension enabling the
symbol is indeed requested in the SPIR-V code; checking that
should be the validator's work.

Also fixed a few grammar related issues:
* Rounding mode capability requirements are moved to client APIs.
* Reserved symbols not available in any extension is no longer
  recognized by assembler.
2018-03-17 15:25:26 -04:00
..
CMakeLists.txt Migrate to use unified grammar tables 2018-03-17 15:25:26 -04:00
val_adjacency_test.cpp Add adjacency validation pass 2018-02-01 14:10:55 -05:00
val_arithmetics_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_atomics_test.cpp Disable check which fails Vulkan CTS 2018-02-07 13:31:35 -05:00
val_barriers_test.cpp Add barrier instructions validation pass 2018-02-05 13:14:55 -05:00
val_bitwise_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_capability_test.cpp Migrate to use unified grammar tables 2018-03-17 15:25:26 -04:00
val_cfg_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_composites_test.cpp Validator checks out of bounds composite access 2018-01-04 14:02:38 -05:00
val_conversion_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_data_test.cpp Migrate to use unified grammar tables 2018-03-17 15:25:26 -04:00
val_decoration_test.cpp Vulkan BuiltIn variables can't have Location/Component decorations 2018-03-01 15:00:08 -05:00
val_derivatives_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_ext_inst_test.cpp Added OpenCL ExtInst validation rules 2018-02-01 14:14:13 -05:00
val_extensions_test.cpp Support SPV_GOOGLE_decorate_string and SPV_GOOGLE_hlsl_functionality1 2018-03-05 13:34:13 -05:00
val_fixtures.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_fixtures.h Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_id_test.cpp Add adjacency validation pass 2018-02-01 14:10:55 -05:00
val_image_test.cpp Added Vulkan-specifc checks to image validation 2018-01-24 14:05:42 -08:00
val_layout_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_limits_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_literals_test.cpp validate & test of literal's upper bits 2017-12-19 13:19:56 -05:00
val_logicals_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_primitives_test.cpp Make a string parameter const ref 2017-12-19 18:42:35 -05:00
val_ssa_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_state_test.cpp Refactor include of latest spir-v header versions 2017-12-14 11:18:20 -05:00
val_storage_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_type_unique_test.cpp Re-format source tree - NFC. 2017-11-27 14:31:49 -05:00
val_validation_state_test.cpp Add command line options struct for the validator 2017-02-28 12:00:06 -05:00