SPIRV-Cross/reference/shaders-msl
Chip Davis fb5ee4cb5c MSL: Adjust BuiltInWorkgroupId for vkCmdDispatchBase().
This command allows the caller to set the base value of
`BuiltInWorkgroupId`, and thus of `BuiltInGlobalInvocationId`. Metal
provides no direct support for this... but it does provide a builtin,
`[[grid_origin]]`, normally used to pass the base values for the stage
input region, which we will now abuse to pass the dispatch base and
avoid burning a buffer binding.

`[[grid_origin]]`, as part of Metal's support for compute stage input,
requires MSL 1.2. For 1.0 and 1.1, we're forced to provide a buffer.

(Curiously, this builtin was undocumented until the MSL 2.2 release. Go
figure.)
2019-07-24 08:56:15 -05:00
..
amd MSL: Support the SPV_AMD_shader_trinary_minmax extension. 2019-07-13 16:43:57 -05:00
asm Do not eagerly invalidate all active variables on a branch. 2019-07-24 11:17:30 +02:00
comp MSL: Adjust BuiltInWorkgroupId for vkCmdDispatchBase(). 2019-07-24 08:56:15 -05:00
desktop-only MSL: Rewrite how resource indices are fallback-assigned. 2019-06-21 12:54:08 +02:00
flatten Use to_unpacked_row_major_expression to unify row-major in MSL/GLSL. 2019-07-23 11:36:54 +02:00
frag MSL: Support storing to row-major column. 2019-07-22 11:13:44 +02:00
intel MSL: Support the SPV_INTEL_shader_integer_functions2 extension. 2019-07-15 09:42:36 -05:00
legacy/vert CompilerMSL support matrices & arrays in stage-in & stage-out. 2018-06-12 11:41:35 -04:00
tesc Do not eagerly invalidate all active variables on a branch. 2019-07-24 11:17:30 +02:00
tese MSL: Rewrite how resource indices are fallback-assigned. 2019-06-21 12:54:08 +02:00
vert Simplify row-major matrix/vector multiplies. 2019-07-23 10:56:57 +02:00
vulkan Do not attempt to pack types which are already scalar. 2019-07-24 11:52:28 +02:00