SPIRV-Tools/source/val
alan-baker 4563d90934
Only validate full layout in Vulkan environments (#4972)
Fixes #4671
Fixes https://crbug.com/oss-fuzz/43265

* Only validate full layout in a vulkan environment
  * Universal validation still checks that the right decorations are
    present, but the values are only considered for vulkan
* One exception is that invalid overlaps are only checked for vulkan
  * This is a pragmatic choice as SPIR-V doesn't define the size of
    types so the amount of universal checking would be quite limited
* Removed redundant check for GLSLShared and GLSLPacked decorations
  * Should never have been validated as part of universal validation

* make conditionals independent
2022-10-28 11:52:28 -04:00
..
basic_block.cpp Use structural reachability in CFG checks (#4849) 2022-07-06 17:43:32 -04:00
basic_block.h Use structural reachability in CFG checks (#4849) 2022-07-06 17:43:32 -04:00
construct.cpp Fix unreachable loop increment (#4836) 2022-06-30 13:52:50 -04:00
construct.h Allows breaks selection breaks to switches (#2605) 2019-05-21 22:49:37 -07:00
decoration.h spirv-val: Optimize struct field decoration lookup (#4809) 2022-06-02 11:32:38 -04:00
function.cpp Use structural dominance to validate cfg (#4832) 2022-06-29 23:32:20 -04:00
function.h Use structural dominance to validate cfg (#4832) 2022-06-29 23:32:20 -04:00
instruction.cpp Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
instruction.h Fix endianness of string literals (#4622) 2021-12-08 12:01:26 -05:00
validate_adjacency.cpp spirv-opt: Switch from Vulkan.DebugInfo to Shader.DebugInfo (#4493) 2021-09-15 14:38:53 -04:00
validate_annotation.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_arithmetics.cpp Fix various source comment (doxygen) typos (#4680) 2022-01-26 15:13:08 -05:00
validate_atomics.cpp Implement tool changes for SPV_EXT_mesh_shader. (#4915) 2022-09-01 20:36:15 -04:00
validate_barriers.cpp Implement tool changes for SPV_EXT_mesh_shader. (#4915) 2022-09-01 20:36:15 -04:00
validate_bitwise.cpp spirv-val: Add Vulkan 32-bit bit op Base (#4758) 2022-03-23 13:55:42 -04:00
validate_builtins.cpp spirv-val: Add SPV_ARM_core_builtins validation (#4958) 2022-10-05 22:47:10 -04:00
validate_capability.cpp Remove WebGPU support (#4108) 2021-01-14 16:45:18 -05:00
validate_cfg.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_composites.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_constants.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_conversion.cpp spirv-val: Add OpConvertUToAccelerationStructureKHR (#4838) 2022-07-15 09:55:33 -04:00
validate_debug.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_decorations.cpp Only validate full layout in Vulkan environments (#4972) 2022-10-28 11:52:28 -04:00
validate_derivatives.cpp Do not assume there are execution modes (#4555) 2021-09-30 19:20:28 -04:00
validate_execution_limitations.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_extensions.cpp Implement tool changes for SPV_EXT_mesh_shader. (#4915) 2022-09-01 20:36:15 -04:00
validate_function.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_id.cpp Allow forward pointer to be used in types generally (#4044) 2020-12-08 08:46:47 -05:00
validate_image.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_instruction.cpp Implement SPV_NV_bindless_texture related changes (#4847) 2022-07-19 14:41:19 -04:00
validate_interfaces.cpp spirv-val: Add PerVertexKHR (#4807) 2022-05-26 13:11:05 -04:00
validate_layout.cpp Implement SPV_NV_bindless_texture related changes (#4847) 2022-07-19 14:41:19 -04:00
validate_literals.cpp Update diag() calls in validate_literals. (#1771) 2018-08-01 12:41:46 -04:00
validate_logicals.cpp Implement SPV_NV_bindless_texture related changes (#4847) 2022-07-19 14:41:19 -04:00
validate_memory_semantics.cpp spirv-val: Add Vulkan Invocation Sematics check (#4182) 2021-03-16 10:53:37 -04:00
validate_memory_semantics.h spirv-val: Add Vulkan Invocation Sematics check (#4182) 2021-03-16 10:53:37 -04:00
validate_memory.cpp spirv-val: Label new Vulkan OpPtrAccessChain VUs (#4975) 2022-10-27 10:10:27 -04:00
validate_mesh_shading.cpp spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924) 2022-09-23 11:06:46 -04:00
validate_misc.cpp spirv-val: Add OpConvertUToAccelerationStructureKHR (#4838) 2022-07-15 09:55:33 -04:00
validate_mode_setting.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate_non_uniform.cpp Add support for SPV_KHR_subgroup_rotate (#4786) 2022-05-05 08:58:05 -04:00
validate_primitives.cpp Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00
validate_ray_query.cpp spirv-val: Make it legal to use arrays of ray queries (#4938) 2022-09-21 15:27:36 -04:00
validate_ray_tracing.cpp spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924) 2022-09-23 11:06:46 -04:00
validate_scopes.cpp spirv-val: Update VUID from 1.3.228 Vulkan spec (#4936) 2022-09-16 14:51:36 -04:00
validate_scopes.h Re-enable OpReadClockKHR validation (#3013) 2019-11-07 09:51:38 -05:00
validate_small_type_uses.cpp Extra small storage validation (#2732) 2019-07-11 13:05:14 -04:00
validate_type.cpp spirv-val: Consistently quote ids in messages (#4950) 2022-09-29 10:03:49 +02:00
validate.cpp spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924) 2022-09-23 11:06:46 -04:00
validate.h spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924) 2022-09-23 11:06:46 -04:00
validation_state.cpp spirv-val: Label new Vulkan OpPtrAccessChain VUs (#4975) 2022-10-27 10:10:27 -04:00
validation_state.h spirv-val: Use lookup table for Decoration string (#4903) 2022-08-29 11:09:20 -04:00