8cf99e7d44
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`. |
||
---|---|---|
.. | ||
atomic-decrement.asm.comp | ||
atomic-increment.asm.comp | ||
bitcast_iadd.asm.comp | ||
bitcast_icmp.asm.comp | ||
bitcast_sar.asm.comp | ||
bitcast_sdiv.asm.comp | ||
bitcast_slr.asm.comp | ||
block-name-alias-global.asm.comp | ||
buffer-write-relative-addr.asm.comp | ||
buffer-write.asm.comp | ||
global-parameter-name-alias.asm.comp | ||
image-load-store-short-vector.invalid.asm.comp | ||
multiple-entry.asm.comp | ||
op-spec-constant-op-vector-related.asm.comp | ||
quantize.asm.comp | ||
relaxed-block-layout.asm.comp | ||
specialization-constant-workgroup.asm.comp | ||
struct-resource-name-aliasing.asm.comp | ||
variable-pointers-2.asm.comp | ||
variable-pointers-store-forwarding.asm.comp | ||
vector-builtin-type-cast-func.asm.comp | ||
vector-builtin-type-cast.asm.comp |