SPIRV-Cross/shaders-msl-no-opt/frag
Chip Davis 68908355a9 MSL: Expand subgroup support.
Add support for declaring a fixed subgroup size. Metal, like Vulkan with
`VK_EXT_subgroup_size_control`, allows the thread execution width to
vary depending on factors such as register usage. Unfortunately, this
breaks several tests that depend on the subgroup size being what the
device says it is. So we'll fix the subgroup size at the size the device
declares. The extra invocations in the subgroup will appear to be
inactive. Because of this, the ballot mask builtins are now ANDed with
the active subgroup mask.

Add support for emulating a subgroup of size 1. This is intended to be
used by Vulkan Portability implementations (e.g. MoltenVK) when the
hardware/software combo provides insufficient support for subgroups.
Luckily for us, Vulkan 1.1 only requires that the subgroup size be at
least 1.

Add support for quadgroup and SIMD-group functions which were added to
iOS in Metal 2.2 and 2.3. This will allow clients to take advantage of
expanded quadgroup and SIMD-group support in recent Metal versions and
on recent Apple GPUs (families 6 and 7).

Gut emulation of subgroup builtins in fragment shaders. It turns out
codegen for the SIMD-group functions in fragment wasn't implemented for
AMD on Mojave; it's a safe bet that it wasn't implemented for the other
drivers either. Subgroup support in fragment shaders now requires Metal
2.2.
2020-11-20 15:55:49 -06:00
..
16bit-constants.invalid.frag Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
demote-to-helper.vk.nocompat.msl21.invalid.frag Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
depth-image-gather.asm.frag MSL: Do not use component::x gather for depth2d textures. 2020-10-26 10:18:17 +01:00
force-active-resources.msl2.argument..force-active.discrete.frag MSL: Add support for force-activating IAB resources. 2020-01-16 11:12:06 +01:00
fp16.desktop.invalid.frag Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
image-gather.frag MSL: Fix regression in image gather handling. 2020-11-06 16:21:30 +01:00
in_block_assign.frag Refactor out noopt shaders to their own folders. 2018-03-13 10:39:49 +01:00
min-max-clamp.invalid.asm.frag Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
pixel-interlock-simple-callstack.msl2.frag Add test shader for simple case of interlocked callstack. 2019-09-04 11:56:19 +02:00
scalar-block-layout-ubo-std430.vk.nocompat.invalid.frag Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
shadow-compare-global-alias.invalid.frag Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
subgroups.nocompat.invalid.vk.msl22.frag MSL: Expand subgroup support. 2020-11-20 15:55:49 -06:00
subpass-input-attachment-index-fallback.msl20.ios.framebuffer-fetch.frag MSL: Use input attachment index directly for resource index fallback. 2020-07-06 09:49:46 +02:00
subpass-input-attachment-index-fallback.msl23.framebuffer-fetch.frag MSL: Allow framebuffer fetch on Mac in MSL 2.3. 2020-10-29 10:50:59 -05:00
subpass-input-function-argument.framebuffer-fetch.ios.frag MSL: Fix case where subpassInput is passed to leaf functions. 2020-04-27 11:29:21 +02:00
subpass-input-function-argument.framebuffer-fetch.msl23.frag MSL: Allow framebuffer fetch on Mac in MSL 2.3. 2020-10-29 10:50:59 -05:00
texture-access-int.swizzle.frag Pass the swizzle constants as a buffer. 2018-09-22 19:36:11 -05:00
texture-access-leaf.swizzle.frag Pass the swizzle constants as a buffer. 2018-09-22 19:36:11 -05:00
texture-access-uint.swizzle.frag Pass the swizzle constants as a buffer. 2018-09-22 19:36:11 -05:00
texture-access.swizzle.frag MSL: Add an option to insert texture swizzles into generated shaders. 2018-09-19 22:32:24 -05:00
ubo-array-multiple-structs-access-chain.argument.msl2.frag MSL: Fix access chain for deep struct hierarchy on array of buffers. 2020-03-31 14:17:29 +02:00
ubo-array-multiple-structs-access-chain.frag MSL: Fix access chain for deep struct hierarchy on array of buffers. 2020-03-31 14:17:29 +02:00
ubo-offset-out-of-order.frag MSL: Redirect member indices when buffer has been sorted by Offset. 2020-04-30 11:48:53 +02:00
variables.zero-initialize.frag Add support for forcefully zero-initialized variables. 2020-03-26 13:38:27 +01:00