Support VK_EXT_shader_subgroup_ballot and VK_EXT_shader_subgroup_vote.

Update SPIRV-Cross to pull in the needed support for these extensions.
This commit is contained in:
Chip Davis 2023-06-24 15:38:48 -07:00
parent 714781ebf6
commit b74feb7c77
5 changed files with 9 additions and 1 deletions

View File

@ -377,6 +377,8 @@ In addition to core *Vulkan* functionality, **MoltenVK** also supports the foll
- `VK_EXT_shader_atomic_float` *(requires Metal 3.0)*
- `VK_EXT_shader_demote_to_helper_invocation` *(requires Metal Shading Language 2.3)*
- `VK_EXT_shader_stencil_export` *(requires Mac GPU family 2 or iOS GPU family 5)*
- `VK_EXT_shader_subgroup_ballot` *(requires Mac GPU family 2 or Apple GPU family 4)*
- `VK_EXT_shader_subgroup_vote` *(requires Mac GPU family 2 or Apple GPU family 4)*
- `VK_EXT_shader_viewport_index_layer`
- `VK_EXT_subgroup_size_control` *(requires Metal 2.1 on Mac or Metal 2.2 and Apple family 4 on iOS)*
- `VK_EXT_surface_maintenance1`

View File

@ -22,6 +22,8 @@ Released TBD
- `VK_EXT_4444_formats`
- `VK_EXT_calibrated_timestamps`
- `VK_EXT_shader_demote_to_helper_invocation`
- `VK_EXT_shader_subgroup_ballot`
- `VK_EXT_shader_subgroup_vote`
- Ensure non-dispatch compute commands don't interfere with compute encoding state used by dispatch commands.
- Support `VK_PRESENT_MODE_IMMEDIATE_KHR` if `VkPresentTimeGOOGLE::desiredPresentTime` is zero.
- Support maximizing the concurrent executing compilation tasks via `MVKConfiguration::shouldMaximizeConcurrentCompilation`

View File

@ -1 +1 @@
55750be7886a96008b964e75e1eb4a5a6c369a2a
aafcc207ea82308722124db2575aa95f42cb99c9

View File

@ -3112,6 +3112,8 @@ void MVKPhysicalDevice::initExtensions() {
}
if (!_metalFeatures.simdPermute && !_metalFeatures.quadPermute) {
pWritableExtns->vk_KHR_shader_subgroup_extended_types.enabled = false;
pWritableExtns->vk_EXT_shader_subgroup_ballot.enabled = false;
pWritableExtns->vk_EXT_shader_subgroup_vote.enabled = false;
}
if (!_metalFeatures.shaderBarycentricCoordinates) {
pWritableExtns->vk_KHR_fragment_shader_barycentric.enabled = false;

View File

@ -120,6 +120,8 @@ MVK_EXTENSION(EXT_separate_stencil_usage, EXT_SEPARATE_STENCIL_USAGE
MVK_EXTENSION(EXT_shader_atomic_float, EXT_SHADER_ATOMIC_FLOAT, DEVICE, 13.0, 16.0)
MVK_EXTENSION(EXT_shader_demote_to_helper_invocation, EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION, DEVICE, 11.0, 14.0)
MVK_EXTENSION(EXT_shader_stencil_export, EXT_SHADER_STENCIL_EXPORT, DEVICE, 10.14, 12.0)
MVK_EXTENSION(EXT_shader_subgroup_ballot, EXT_SHADER_SUBGROUP_BALLOT, DEVICE, 10.14, 13.0)
MVK_EXTENSION(EXT_shader_subgroup_vote, EXT_SHADER_SUBGROUP_VOTE, DEVICE, 10.14, 13.0)
MVK_EXTENSION(EXT_shader_viewport_index_layer, EXT_SHADER_VIEWPORT_INDEX_LAYER, DEVICE, 10.11, 8.0)
MVK_EXTENSION(EXT_subgroup_size_control, EXT_SUBGROUP_SIZE_CONTROL, DEVICE, 10.14, 13.0)
MVK_EXTENSION(EXT_surface_maintenance1, EXT_SURFACE_MAINTENANCE_1, INSTANCE, 10.11, 8.0)