SPIRV-Cross/reference/opt/shaders-msl/asm/comp
Hans-Kristian Arntzen 5b952d2cbf MSL: Rethink how opaque descriptors are passed to leaf functions.
We were passing arrays by value which the compiler fails to optimize,
causing abyssal performance. To fix this, we need to consider that
descriptors can be in constant or const device address spaces.

Also, lone descriptors are passed by value, so we explicitly remove address
space qualifiers.

One failure case is when shader passes a texture/sampler array as an
argument. It's all UniformConstant in SPIR-V, but in MSL it might be
thread, const device or constant, so that won't work ...
Global variable use works fine though, and that should cover 99.9999999%
of use cases.
2022-01-18 14:40:52 +01: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 Updates for pull request #1162 2019-09-24 14:35:25 -04:00
bitcast_icmp.asm.comp Handle SPIR-V 1.4 selection constructs. 2021-06-28 12:23:44 +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 Updates for pull request #1162 2019-09-24 14:35:25 -04: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