SPIRV-Cross/reference/shaders-msl/asm/frag
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
..
combined-sampler-reuse.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
default-member-names.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
depth-image-color-format-fetch.asm.frag MSL: Rethink how opaque descriptors are passed to leaf functions. 2022-01-18 14:40:52 +01:00
depth-image-color-format-sampled.asm.frag MSL: Rethink how opaque descriptors are passed to leaf functions. 2022-01-18 14:40:52 +01:00
descriptor-array-unnamed.asm.frag MSL: Do not declare array of UBO/SSBO as spvUnsafeArray<T>. 2019-10-26 16:10:08 +02:00
disable-renamed-output.frag-output.asm.frag MSL: Force disabled fragment builtins to have the right name. 2020-04-15 19:25:18 -05:00
empty-struct.asm.frag Implement constant empty struct correctly on all backends. 2019-10-26 16:10:11 +02:00
extract-packed-from-composite.asm.frag MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
frem.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
function-overload-alias.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
image-extract-reuse.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
implicit-read-dep-phi.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
inf-nan-constant.asm.frag Add comment after inf/nan float number for clarifying. 2021-05-27 02:40:41 +08:00
interpolation-qualifiers-struct.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
line-directive.line.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
locations-components.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
lut-promotion-initializer.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
min-lod.msl22.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
op-constant-null.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
op-image-sampled-image.asm.frag MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
pass-by-value.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
phi-loop-variable.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
pull-model-interpolation.asm.msl23.frag MSL: Don't emit weird reference type for spvUnsafeArray types. 2021-04-19 12:10:49 +02:00
sample-and-compare.asm.frag MSL: Fix textures which are sampled and compared against. 2019-02-22 12:27:40 +01:00
single-function-private-lut.asm.frag MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
srem.asm.frag CompilerMSL support matrices & arrays in stage-in & stage-out. 2018-06-12 11:41:35 -04:00
storage-class-output-initializer.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
switch-different-sizes.asm.frag MSL: Add 64 bit switch support 2021-11-26 15:54:56 -03:00
switch-long-case.asm.msl22.frag MSL: Add 64 bit switch support 2021-11-26 15:54:56 -03:00
switch-unsigned-long-case.asm.msl22.frag MSL: Add 64 bit switch support 2021-11-26 15:54:56 -03:00
texel-fetch-no-lod.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
texture-atomics.asm.frag Removed bounds checks in favor of SPIRV-Tools pass '--graphics-robust-access' 2019-10-21 16:39:53 -04:00
texture-atomics.asm.graphics-robust-access.frag Removed bounds checks in favor of SPIRV-Tools pass '--graphics-robust-access' 2019-10-21 16:39:53 -04:00
texture-sampling-fp16.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
undef-variable-store.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
unknown-depth-state.asm.frag MSL: Rethink how opaque descriptors are passed to leaf functions. 2022-01-18 14:40:52 +01:00
unord-relational-op.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
unreachable.asm.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
vector-shuffle-oom.asm.frag MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00