SPIRV-Cross/reference
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
..
opt MSL: Implement CompositeInsert OpSpecConstantOp. 2022-11-01 18:11:39 -07:00
shaders Update mesh/task test references. 2022-09-12 12:46:14 +02:00
shaders-hlsl Merge pull request #1946 from KhronosGroup/fix-1943 2022-05-18 19:22:45 +02:00
shaders-hlsl-no-opt HLSL: Improve support for VertexInfo aux struct. 2022-10-03 13:31:27 +02:00
shaders-msl MSL: Implement CompositeInsert OpSpecConstantOp. 2022-11-01 18:11:39 -07:00
shaders-msl-no-opt MSL: Handle implicit integer promotion rules. 2022-10-31 13:33:46 +01:00
shaders-no-opt Update mesh/task test references. 2022-09-12 12:46:14 +02:00
shaders-reflection remove newline at eof 2022-04-26 19:15:51 +02:00
shaders-ue4/asm MSL: only fix up gl_FragCoord if really necessary. 2022-09-13 18:50:57 +08:00
shaders-ue4-no-opt/asm Update dependencies. 2022-09-02 14:58:04 +02:00