SPIRV-Cross/reference/shaders-msl/vert
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
..
array-component-io.for-tess.vert MSL: Handle array with component when we cannot rely on user() attrib. 2021-05-21 13:46:33 +02:00
array-component-io.vert MSL: Handle array with component when we cannot rely on user() attrib. 2021-05-21 13:46:33 +02:00
basic.capture.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
basic.for-tess.vert MSL: Add support for processing more than one patch per workgroup. 2020-07-23 17:59:54 -05:00
basic.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
clip-distance-block.no-user-varying.vert MSL: Allow removing clip distance user varyings. 2020-04-20 09:58:40 +02:00
clip-distance-block.vert MSL: Support ClipDistance as an input stage variable. 2019-12-02 13:19:42 +01:00
copy.flatten.vert MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
dynamic.flatten.vert MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
float-math.invariant-float-math.vert MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
float-math.vert Added '--msl-invariant-float-math' option and new test case for it. 2019-10-09 14:03:06 -04:00
functions.vert MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
implicit-position-1.vert MSL: Always return [[position]] when required. 2021-02-15 12:57:37 +01:00
implicit-position-2.vert MSL: Always return [[position]] when required. 2021-02-15 12:57:37 +01:00
in_out_array_mat.vert MSL: Don't emit weird reference type for spvUnsafeArray types. 2021-04-19 12:10:49 +02:00
interface-block-block-composites.frag Updates for pull request #1162 2019-09-24 14:35:25 -04:00
interface-block-block-composites.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
interpolation-qualifiers-block.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
interpolation-qualifiers.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
invariant.msl21.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
leaf-function.capture.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
leaf-function.for-tess.vert MSL: Add support for processing more than one patch per workgroup. 2020-07-23 17:59:54 -05:00
no_stage_out.for-tess.vert Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00
no_stage_out.vert Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00
no_stage_out.write_buff_atomic.vert Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00
no_stage_out.write_buff.vert Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00
no_stage_out.write_tex.vert Overhaul how we deal with reserved identifiers. 2020-08-21 16:33:27 +02:00
no-contraction.vert MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
no-disable-vertex-out.frag-output.vert MSL: Only disable output variables in fragment shaders. 2020-04-15 12:14:57 -05:00
out_block.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
packed_matrix.vert MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
packed-bool2-to-packed_uint2.vert MSL: Avoid packed arrays in more cases. 2020-05-06 10:27:12 +02:00
packed-bool-to-uint.vert MSL: Avoid packed arrays in more cases. 2020-05-06 10:27:12 +02:00
pointsize.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
read-from-row-major-array.vert Roll GLSLang, SPIRV-Headers and SPIRV-Tools. 2020-07-22 23:03:11 -04:00
resource-arrays-leaf.ios.vert MSL: Rethink how opaque descriptors are passed to leaf functions. 2022-01-18 14:40:52 +01:00
resource-arrays.ios.vert MSL: Do not declare array of UBO/SSBO as spvUnsafeArray<T>. 2019-10-26 16:10:08 +02:00
return-array.force-native-array.vert MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
return-array.vert MSL: Enable proper value types for return and value-passing of arrays. 2019-10-24 13:03:38 +02:00
set_builtin_in_func.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
sign-int-types.vert MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
signedness-mismatch.shader-inputs.vert MSL: Fix up input variables' vector lengths in all stages. 2020-06-16 14:50:30 -05:00
texture_buffer.texture-buffer-native.msl21.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
texture_buffer.vert MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
ubo.alignment.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
ubo.vert Updates for pull request #1162 2019-09-24 14:35:25 -04:00
uniform-struct-out-of-order-offests.vert MSL: Fix type redirection when struct members are reordered to align with offsets. 2021-10-28 10:16:34 -04:00
uniform-struct-packing-nested.vert MSL: Remove over-zealous check for struct packing compatibility. 2021-10-28 19:36:32 -04:00
unused-position.vert MSL: Fix duplicate gl_Position outputs when gl_Position defined but unused. 2021-08-16 11:23:15 -04:00