SPIRV-Cross/shaders-msl
Chip Davis 8cf99e7d44 MSL: Implement CompositeInsert OpSpecConstantOp.
This op creates a new composite constant with one element replaced. So,
we reconstruct the `SPIRConstant` for the composite constant, but with
one of the IDs replaced. Constant initializer lists are memoized for
when the result of a `CompositeInsert` is used in another
`CompositeInsert`.

(I wanted to add a test case for GLSL as well, but for two things:
1. `glslang` in Vulkan mode chokes on the first constant array,
   insisting that its initializer needs to be a constant. [Bug in
   glslang?]
2. The declarations for the buffers used by the shader aren't emitted,
   regardless of whether Vulkan mode is enabled.)

Fixes five tests under
`dEQP-VK.spirv_assembly.instruction.*.opspecconstantop.vector_related`.
2022-11-01 18:11:39 -07:00
..
amd MSL: Support the SPV_AMD_shader_trinary_minmax extension. 2019-07-13 16:43:57 -05:00
asm MSL: Implement CompositeInsert OpSpecConstantOp. 2022-11-01 18:11:39 -07:00
comp MSL: Do not attempt to alias push constants. 2022-09-21 11:01:42 +02:00
desktop-only MSL: Add support for processing more than one patch per workgroup. 2020-07-23 17:59:54 -05:00
flatten Use declared binding in SPIR-V as a fallback for explicit MSL binds. 2018-04-04 12:25:11 +02:00
frag Promote Unreachable cases into break to avoid fallthrough. 2022-05-18 18:36:32 +02:00
intel MSL: Support the SPV_INTEL_shader_integer_functions2 extension. 2019-07-15 09:42:36 -05:00
legacy/vert Enhance MSL testing and add numerous MSL test cases. 2017-01-30 22:55:21 -05:00
masking MSL: Fix copy of arrays to/from stage IO variables. 2021-04-19 12:10:49 +02:00
tesc MSL: Don't flatten arrayed per-patch output blocks in tessellation shaders. 2022-10-18 15:04:42 -07:00
tese MSL: Support "raw" buffer input in tessellation evaluation shaders. 2022-10-18 14:58:59 -07:00
vert MSL: Add support for SPV_KHR_physical_storage_buffer extension. 2022-06-20 20:21:00 -04:00
vulkan MSL: Support SPV_EXT_demote_to_helper_invocation for MSL 2.3. 2020-10-13 00:25:32 -05:00