mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-10-19 03:20:14 +00:00
1ef6b19260
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. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
val_adjacency_test.cpp | ||
val_arithmetics_test.cpp | ||
val_atomics_test.cpp | ||
val_barriers_test.cpp | ||
val_bitwise_test.cpp | ||
val_capability_test.cpp | ||
val_cfg_test.cpp | ||
val_composites_test.cpp | ||
val_conversion_test.cpp | ||
val_data_test.cpp | ||
val_decoration_test.cpp | ||
val_derivatives_test.cpp | ||
val_ext_inst_test.cpp | ||
val_extensions_test.cpp | ||
val_fixtures.cpp | ||
val_fixtures.h | ||
val_id_test.cpp | ||
val_image_test.cpp | ||
val_layout_test.cpp | ||
val_limits_test.cpp | ||
val_literals_test.cpp | ||
val_logicals_test.cpp | ||
val_primitives_test.cpp | ||
val_ssa_test.cpp | ||
val_state_test.cpp | ||
val_storage_test.cpp | ||
val_type_unique_test.cpp | ||
val_validation_state_test.cpp |