SPIRV-Cross/shaders-msl/asm/comp
Chip Davis 41007cdc7d MSL: Deduplicate function constants.
It is possible in SPIR-V to declare multiple specialization constants
with the same constant ID. The most common cause of this in GLSL is
defining a spec constant, then declaring the workgroup size to use that
spec constant by its ID. But, MSL forbids defining multiple function
constants with the same function constant ID. So, we must only emit one
definition of the actual function constant (with the
`[[function_constant(id)]]` attribute); but we can point the other
variables at this one definition.

Fixes three tests in the Vulkan CTS under
`dEQP-VK.compute.basic.max_local_size_*`.
2023-02-17 10:43:50 -08:00
..
atomic-decrement.asm.comp MSL: Fix OpAtomicIIncrement and OpAtomicIDecrement. 2018-09-11 17:29:54 -05:00
atomic-increment.asm.comp MSL: Fix OpAtomicIIncrement and OpAtomicIDecrement. 2018-09-11 17:29:54 -05:00
bitcast_iadd.asm.comp Enhancements to MSL compute and entry point naming. 2017-11-05 21:34:42 -05:00
bitcast_icmp.asm.comp HLSL: Fix unrolled S/G LE/LT/GE/GT opcodes. 2019-10-14 16:08:39 +02:00
bitcast_sar.asm.comp Enhancements to MSL compute and entry point naming. 2017-11-05 21:34:42 -05:00
bitcast_sdiv.asm.comp Enhancements to MSL compute and entry point naming. 2017-11-05 21:34:42 -05:00
bitcast_slr.asm.comp Enhancements to MSL compute and entry point naming. 2017-11-05 21:34:42 -05:00
block-name-alias-global.asm.comp Use correct block-name / other-name aliasing rules. 2019-01-04 15:02:54 +01:00
buffer-write-relative-addr.asm.comp MSL: Correct number of words to skip in OpImageWrite. 2018-09-05 10:02:25 -05:00
buffer-write.asm.comp Update to latest glslang/SPIRV-Tools. 2019-01-30 13:41:57 +01:00
copy-object-ssbo-to-ssbo.asm.comp MSL: Don't dereference forwarded copies of OpVariable pointers. 2022-11-20 02:08:37 -08:00
copy-object-ubo-to-ssbo.asm.comp MSL: Don't dereference forwarded copies of OpVariable pointers. 2022-11-20 02:08:37 -08:00
duplicate-spec-id.asm.comp MSL: Deduplicate function constants. 2023-02-17 10:43:50 -08:00
global-parameter-name-alias.asm.comp MSL: Fix naming issue of aliased global variables. 2018-08-27 09:59:55 +02:00
image-load-store-short-vector.invalid.asm.comp Roll dependencies. 2021-01-08 10:41:51 +01:00
multiple-entry.asm.comp Update to latest glslang/SPIRV-Tools. 2019-01-30 13:41:57 +01:00
op-spec-constant-op-vector-related.asm.comp MSL: Implement CompositeInsert OpSpecConstantOp. 2022-11-01 18:11:39 -07:00
quantize.asm.comp Enhancements to MSL compute and entry point naming. 2017-11-05 21:34:42 -05:00
relaxed-block-layout.asm.comp Test loading from and storing to packed vectors. 2018-11-14 10:47:20 -06:00
specialization-constant-workgroup.asm.comp Add SPVASM testing support for HLSL/MSL. 2017-09-29 11:07:11 +02:00
struct-resource-name-aliasing.asm.comp Update to latest glslang/SPIRV-Tools. 2019-01-30 13:41:57 +01:00
uint_smulextended.asm.comp MSL: Add missing casts to Op?MulExtended. 2022-11-20 00:20:49 -08:00
undefined-constant-composite.asm.comp GLSL, MSL: Handle OpUndef as part of a constant composite. 2022-11-20 02:08:33 -08:00
undefined-spec-constant-composite.asm.comp Interleave undef values with constants and types. 2022-11-20 02:08:37 -08:00
variable-pointers-2.asm.comp MSL: Support SPV_KHR_variable_pointers. 2019-01-07 11:19:10 -06:00
variable-pointers-store-forwarding.asm.comp Flush all variables after storing through a variable pointer. 2019-01-08 15:16:33 -06:00
vector-builtin-type-cast-func.asm.comp MSL: Cast uses of builtin vectors to their declared SPIR-V type. 2018-09-08 21:17:54 -05:00
vector-builtin-type-cast.asm.comp MSL: Cast uses of builtin vectors to their declared SPIR-V type. 2018-09-08 21:17:54 -05:00