SPIRV-Cross/reference/opt/shaders-msl/asm/comp
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
..
atomic-decrement.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
atomic-increment.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
bitcast_iadd.asm.comp MSL: Fix restrict vs __restrict incompatibility. 2022-10-26 17:52:47 +02:00
bitcast_icmp.asm.comp MSL: Fix restrict vs __restrict incompatibility. 2022-10-26 17:52:47 +02:00
bitcast_sar.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
bitcast_sdiv.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
bitcast_slr.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
block-name-alias-global.asm.comp MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
buffer-write-relative-addr.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
buffer-write.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
global-parameter-name-alias.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
image-load-store-short-vector.invalid.asm.comp MSL: Rethink how opaque descriptors are passed to leaf functions. 2022-01-18 14:40:52 +01:00
multiple-entry.asm.comp MSL: Fix restrict vs __restrict incompatibility. 2022-10-26 17:52:47 +02:00
op-spec-constant-op-vector-related.asm.comp MSL: Implement CompositeInsert OpSpecConstantOp. 2022-11-01 18:11:39 -07:00
quantize.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
relaxed-block-layout.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
specialization-constant-workgroup.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
struct-resource-name-aliasing.asm.comp MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
variable-pointers-2.asm.comp Roll dependencies 2020-05-20 10:27:51 -04:00
variable-pointers-store-forwarding.asm.comp Roll dependencies 2020-05-20 10:27:51 -04:00
vector-builtin-type-cast-func.asm.comp Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00
vector-builtin-type-cast.asm.comp Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00