SPIRV-Tools/source/val
Greg Fischer 48007a5c7f
Add interpolate legalization pass (#4220)
This pass converts an internal form of GLSLstd450 Interpolate ops
to the externally valid form. The external form takes the lvalue
of the interpolant. The internal form can do a load of the interpolant.
The pass replaces the load with its pointer. The internal form is
generated by glslang and possibly other frontends for HLSL shaders.
The new pass is called as part of HLSL legalization after all
propagation is complete.

Also adds internal interpolate form to pre-legalization validation
2021-03-31 14:26:36 -04:00
..
basic_block.cpp Fix reachability in the validator (#3541) 2020-07-15 21:27:03 -04:00
basic_block.h Remove usage of std::iterator. (#4171) 2021-03-12 14:00:56 +00:00
construct.cpp Fix structured exit validation (#3141) 2020-01-23 18:04:21 -05:00
construct.h Allows breaks selection breaks to switches (#2605) 2019-05-21 22:49:37 -07:00
decoration.h Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
function.cpp Fix reachability in the validator (#3541) 2020-07-15 21:27:03 -04:00
function.h Fix reachability in the validator (#3541) 2020-07-15 21:27:03 -04:00
instruction.cpp Cleanup includes. (#1795) 2018-08-03 15:06:09 -04:00
instruction.h Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
validate_adjacency.cpp Handle conflict between debug info and existing validation rule (#3104) 2020-01-23 17:04:30 -05:00
validate_annotation.cpp Remove WebGPU support (#4108) 2021-01-14 16:45:18 -05:00
validate_arithmetics.cpp Add validation for SPV_NV_cooperative_matrix (#2404) 2019-02-25 17:43:11 -05:00
validate_atomics.cpp Add validation for SPV_EXT_shader_atomic_float_min_max (#4105) 2021-03-24 08:49:21 -04:00
validate_barriers.cpp spirv-val: Add Vulkan Invocation Sematics check (#4182) 2021-03-16 10:53:37 -04:00
validate_bitwise.cpp Update diag() usage in validate_bitwise. (#1757) 2018-08-01 09:19:37 -04:00
validate_builtins.cpp spirv-val: Add Vulkan EXT builtins (#4115) 2021-01-20 10:40:31 -05:00
validate_capability.cpp Remove WebGPU support (#4108) 2021-01-14 16:45:18 -05:00
validate_cfg.cpp Require an OpSelectionMerge before an OpSwitch (#4154) 2021-03-02 15:40:56 -05:00
validate_composites.cpp Remove WebGPU support (#4108) 2021-01-14 16:45:18 -05:00
validate_constants.cpp Validate physical storage buffer restrictions (#2930) 2019-10-02 21:12:57 -04:00
validate_conversion.cpp spirv-val: Add Vulkan PSB64 convert VUID (#4122) 2021-02-01 10:39:44 -05:00
validate_debug.cpp Permit the debug instructions in WebGPU SPIR-V (#3063) 2019-11-26 14:04:57 -05:00
validate_decorations.cpp Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164) 2021-03-09 13:16:43 +00:00
validate_derivatives.cpp Check that derivatives operate on 32-bit values (#2983) 2019-10-18 09:02:25 -04:00
validate_execution_limitations.cpp Add validation for SPV_EXT_fragment_shader_interlock (#2650) 2019-06-03 10:55:07 -04:00
validate_extensions.cpp Add interpolate legalization pass (#4220) 2021-03-31 14:26:36 -04:00
validate_function.cpp Fix validation failure on OpDecorationGroup (#3365) 2020-05-21 13:15:41 -04: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 spriv-val: Vulkan image gather constant component (#4133) 2021-02-05 15:12:38 -05:00
validate_instruction.cpp Support SPV_KHR_terminate_invocation (#3568) 2020-07-22 11:45:02 -04:00
validate_interfaces.cpp Only validation locations for appropriate execution models (#3656) 2020-08-11 18:51:49 -04:00
validate_layout.cpp Update val to handle reversed instruction sections. (#3887) 2020-10-08 13:10:12 -04:00
validate_literals.cpp Update diag() calls in validate_literals. (#1771) 2018-08-01 12:41:46 -04:00
validate_logicals.cpp Fix -Wextra-semi-stmt -Wsuggest-destructor-override -Wdeprecated-copy-dtor (#4164) 2021-03-09 13:16:43 +00: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 VUID 04643 (#4202) 2021-03-19 09:02:48 -04:00
validate_misc.cpp Support SPV_KHR_linkonce_odr, SPV_KHR_expect_assume (#4161) 2021-03-16 09:51:59 -04:00
validate_mode_setting.cpp spirv-val: Label VUID 04683 (#4121) 2021-01-25 09:38:19 -05:00
validate_non_uniform.cpp spirv-val: Add Vulkan Group Operation VUID (#4086) 2021-01-05 09:51:07 -05:00
validate_primitives.cpp Refactor where opcodes are validated 2018-08-07 10:29:30 -04:00
validate_scopes.cpp spirv-val: Add Vulkan Execution Scope checks (#4183) 2021-03-17 10:00:11 -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: Label VUID 04643 (#4202) 2021-03-19 09:02:48 -04:00
validate.cpp spirv-val: Label VUID 04634 (#4181) 2021-03-16 10:53:27 -04:00
validate.h Fix reachability in the validator (#3541) 2020-07-15 21:27:03 -04:00
validation_state.cpp spirv-val: Label VUID 04643 (#4202) 2021-03-19 09:02:48 -04:00
validation_state.h Validate SPV_KHR_workgroup_memory_explicit_layout (#4128) 2021-01-27 19:38:38 -05:00