Update for Vulkan-Docs 1.2.173

This commit is contained in:
Jon Leech
2021-03-21 20:23:34 -07:00
committed by Jon Leech
parent 89d366355e
commit a8d6ab19d1
7 changed files with 3097 additions and 1964 deletions

View File

@@ -300,7 +300,9 @@ def makeGenOpts(args):
[ 'vulkan_android.h', [ 'VK_KHR_android_surface',
'VK_ANDROID_external_memory_android_hardware_buffer'
], commonSuppressExtensions ],
[ 'vulkan_fuchsia.h', [ 'VK_FUCHSIA_imagepipe_surface'], commonSuppressExtensions ],
[ 'vulkan_fuchsia.h', [ 'VK_FUCHSIA_imagepipe_surface',
'VK_FUCHSIA_external_memory',
'VK_FUCHSIA_external_semaphore' ], commonSuppressExtensions ],
[ 'vulkan_ggp.h', [ 'VK_GGP_stream_descriptor_surface',
'VK_GGP_frame_token' ], commonSuppressExtensions ],
[ 'vulkan_ios.h', [ 'VK_MVK_ios_surface' ], commonSuppressExtensions ],

View File

@@ -1244,10 +1244,16 @@ class Registry:
# the regexp specified in the generator options. This allows
# forcing extensions into an interface even if they're not
# tagged appropriately in the registry.
# However we still respect the 'supported' attribute.
if regAddExtensions.match(extName) is not None:
self.gen.logMsg('diag', 'Including extension',
extName, '(matches explicitly requested extensions to add)')
include = True
if not apiNameMatch(self.genOpts.apiname, ei.elem.get('supported')):
self.gen.logMsg('diag', 'NOT including extension',
extName, '(matches explicitly requested, but does not match the \'supported\' attribute)')
include = False
else:
self.gen.logMsg('diag', 'Including extension',
extName, '(matches explicitly requested extensions to add)')
include = True
# Remove extensions if the name matches the regexp specified
# in generator options. This allows forcing removal of
# extensions from an interface even if they're tagged that

File diff suppressed because it is too large Load Diff

View File

@@ -51,7 +51,7 @@ branch of the member gitlab server.
<tag name="KDAB" author="KDAB" contact="Sean Harmer @seanharmer"/>
<tag name="ANDROID" author="Google LLC" contact="Jesse Hall @critsec"/>
<tag name="CHROMIUM" author="Google LLC" contact="Jesse Hall @critsec"/>
<tag name="FUCHSIA" author="Google LLC" contact="Craig Stout @cdotstout, Jesse Hall @critsec"/>
<tag name="FUCHSIA" author="Google LLC" contact="Craig Stout @cdotstout, Jesse Hall @critsec, John Rosasco @rosasco"/>
<tag name="GGP" author="Google, LLC" contact="Jean-Francois Roy @jfroy, Hai Nguyen @chaoticbob, Jesse Hall @critsec"/>
<tag name="GOOGLE" author="Google LLC" contact="Jesse Hall @critsec"/>
<tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Jeff Leger @jackohounhd"/>
@@ -142,7 +142,7 @@ branch of the member gitlab server.
<type category="define">// Vulkan 1.2 version number
#define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_VERSION</type>(1, 2, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 172</type>
#define <name>VK_HEADER_VERSION</name> 173</type>
<type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_VERSION</type>(1, 2, VK_HEADER_VERSION)</type>
@@ -2230,6 +2230,23 @@ typedef void <name>CAMetalLayer</name>;
<member><type>DWORD</type> <name>dwAccess</name></member>
<member><type>LPCWSTR</type> <name>name</name></member>
</type>
<type category="struct" name="VkImportMemoryZirconHandleInfoFUCHSIA" structextends="VkMemoryAllocateInfo">
<member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
<member optional="true"><type>zx_handle_t</type> <name>handle</name></member>
</type>
<type category="struct" name="VkMemoryZirconHandlePropertiesFUCHSIA" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member><type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>memoryTypeBits</name></member>
</type>
<type category="struct" name="VkMemoryGetZirconHandleInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member>const <type>void</type>* <name>pNext</name></member>
<member><type>VkDeviceMemory</type> <name>memory</name></member>
<member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
</type>
<type category="struct" name="VkMemoryWin32HandlePropertiesKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
@@ -2333,6 +2350,20 @@ typedef void <name>CAMetalLayer</name>;
<member><type>VkSemaphore</type> <name>semaphore</name></member>
<member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
</type>
<type category="struct" name="VkImportSemaphoreZirconHandleInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member externsync="true"><type>VkSemaphore</type> <name>semaphore</name></member>
<member optional="true"><type>VkSemaphoreImportFlags</type> <name>flags</name></member>
<member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
<member><type>zx_handle_t</type> <name>zirconHandle</name></member>
</type>
<type category="struct" name="VkSemaphoreGetZirconHandleInfoFUCHSIA">
<member values="VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkSemaphore</type> <name>semaphore</name></member>
<member><type>VkExternalSemaphoreHandleTypeFlagBits</type> <name>handleType</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceExternalFenceInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@@ -8127,6 +8158,19 @@ typedef void <name>CAMetalLayer</name>;
<param><type>int</type> <name>fd</name></param>
<param><type>VkMemoryFdPropertiesKHR</type>* <name>pMemoryFdProperties</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkGetMemoryZirconHandleFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkMemoryGetZirconHandleInfoFUCHSIA</type>* <name>pGetZirconHandleInfo</name></param>
<param><type>zx_handle_t</type>* <name>pZirconHandle</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INVALID_EXTERNAL_HANDLE">
<proto><type>VkResult</type> <name>vkGetMemoryZirconHandlePropertiesFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></param>
<param><type>zx_handle_t</type> <name>zirconHandle</name></param>
<param><type>VkMemoryZirconHandlePropertiesFUCHSIA</type>* <name>pMemoryZirconHandleProperties</name></param>
</command>
<command>
<proto><type>void</type> <name>vkGetPhysicalDeviceExternalSemaphoreProperties</name></proto>
<param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
@@ -8156,6 +8200,17 @@ typedef void <name>CAMetalLayer</name>;
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkImportSemaphoreFdInfoKHR</type>* <name>pImportSemaphoreFdInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_TOO_MANY_OBJECTS,VK_ERROR_OUT_OF_HOST_MEMORY">
<proto><type>VkResult</type> <name>vkGetSemaphoreZirconHandleFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkSemaphoreGetZirconHandleInfoFUCHSIA</type>* <name>pGetZirconHandleInfo</name></param>
<param><type>zx_handle_t</type>* <name>pZirconHandle</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_INVALID_EXTERNAL_HANDLE">
<proto><type>VkResult</type> <name>vkImportSemaphoreZirconHandleFUCHSIA</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkImportSemaphoreZirconHandleInfoFUCHSIA</type>* <name>pImportSemaphoreZirconHandleInfo</name></param>
</command>
<command>
<proto><type>void</type> <name>vkGetPhysicalDeviceExternalFenceProperties</name></proto>
<param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param>
@@ -10876,12 +10931,10 @@ typedef void <name>CAMetalLayer</name>;
<enum value="0" name="VK_AMD_EXTENSION_24_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_24&quot;" name="VK_AMD_EXTENSION_24_EXTENSION_NAME"/>
<enum bitpos="6" extends="VkQueueFlagBits" name="VK_QUEUE_RESERVED_6_BIT_KHR"/>
<enum bitpos="27" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR"/>
<enum bitpos="30" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_30_BIT_KHR"/>
<!-- Comment this out for now to avoid warning messages.
The extension will probably change to avoid it.
<enum bitpos="31" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_31_BIT_KHR"/>
-->
<enum bitpos="26" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RESERVED_26_BIT_KHR"/>
<!-- Also reserve equivalent 32-bit enum <enum bitpos="26" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR"/> -->
<enum bitpos="35" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_RESERVED_READ_35_BIT_KHR"/>
<enum bitpos="36" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_RESERVED_WRITE_36_BIT_KHR"/>
<enum bitpos="15" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_15_BIT_KHR"/>
<enum bitpos="16" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_16_BIT_KHR"/>
<enum bitpos="13" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_13_BIT_KHR"/>
@@ -10897,9 +10950,10 @@ typedef void <name>CAMetalLayer</name>;
<enum value="0" name="VK_AMD_EXTENSION_25_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_25&quot;" name="VK_AMD_EXTENSION_25_EXTENSION_NAME"/>
<enum bitpos="5" extends="VkQueueFlagBits" name="VK_QUEUE_RESERVED_5_BIT_KHR"/>
<enum bitpos="26" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_26_BIT_KHR"/>
<enum bitpos="28" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_28_BIT_KHR"/>
<enum bitpos="29" extends="VkAccessFlagBits" name="VK_ACCESS_RESERVED_29_BIT_KHR"/>
<enum bitpos="27" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RESERVED_27_BIT_KHR"/>
<!-- Also reserve equivalent 32-bit enum <enum bitpos="27" extends="VkPipelineStageFlagBits" name="VK_PIPELINE_STAGE_RESERVED_27_BIT_KHR"/> -->
<enum bitpos="37" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_RESERVED_READ_37_BIT_KHR"/>
<enum bitpos="38" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_RESERVED_WRITE_38_BIT_KHR"/>
<enum bitpos="13" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_13_BIT_KHR"/>
<enum bitpos="14" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_14_BIT_KHR"/>
<enum bitpos="10" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_RESERVED_10_BIT_KHR"/>
@@ -14846,17 +14900,33 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_EXT_extension_364&quot;" name="VK_EXT_EXTENSION_364_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_FUCHSIA_extension_365" number="365" author="FUCHSIA" contact="John Rosasco @rosasco" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_365_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_365&quot;" name="VK_EXT_EXTENSION_365_EXTENSION_NAME"/>
</require>
<extension name="VK_FUCHSIA_external_memory" number="365" type="device" requires="VK_KHR_external_memory_capabilities,VK_KHR_external_memory" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan">
<require>
<enum value="1" name="VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION"/>
<enum value="&quot;VK_FUCHSIA_external_memory&quot;" name="VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/>
<enum bitpos="11" extends="VkExternalMemoryHandleTypeFlagBits" name="VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA"/>
<type name="VkImportMemoryZirconHandleInfoFUCHSIA"/>
<type name="VkMemoryZirconHandlePropertiesFUCHSIA"/>
<type name="VkMemoryGetZirconHandleInfoFUCHSIA"/>
<command name="vkGetMemoryZirconHandleFUCHSIA"/>
<command name="vkGetMemoryZirconHandlePropertiesFUCHSIA"/>
</require>
</extension>
<extension name="VK_FUCHSIA_extension_366" number="366" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_366_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_366&quot;" name="VK_EXT_EXTENSION_366_EXTENSION_NAME"/>
</require>
<extension name="VK_FUCHSIA_external_semaphore" number="366" type="device" requires="VK_KHR_external_semaphore_capabilities,VK_KHR_external_semaphore" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan">
<require>
<enum value="1" name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION"/>
<enum value="&quot;VK_FUCHSIA_external_semaphore&quot;" name="VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"/>
<enum bitpos="7" extends="VkExternalSemaphoreHandleTypeFlagBits" name="VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA"/>
<type name="VkImportSemaphoreZirconHandleInfoFUCHSIA"/>
<type name="VkSemaphoreGetZirconHandleInfoFUCHSIA"/>
<command name="vkImportSemaphoreZirconHandleFUCHSIA"/>
<command name="vkGetSemaphoreZirconHandleFUCHSIA"/>
</require>
</extension>
<extension name="VK_FUCHSIA_extension_367" number="367" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
<require>
@@ -15008,6 +15078,24 @@ typedef void <name>CAMetalLayer</name>;
<enum value="&quot;VK_EXT_extension_389&quot;" name="VK_EXT_EXTENSION_389_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_390" number="390" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_390_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_390&quot;" name="VK_EXT_EXTENSION_390_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_391" number="391" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_391_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_391&quot;" name="VK_EXT_EXTENSION_391_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_392" number="392" author="EXT" contact="Joshua Ashton @Joshua-Ashton" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_392_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_392&quot;" name="VK_EXT_EXTENSION_392_EXTENSION_NAME"/>
</require>
</extension>
</extensions>
<spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it">
<spirvextension name="SPV_KHR_variable_pointers">
@@ -15305,21 +15393,25 @@ typedef void <name>CAMetalLayer</name>;
<enable struct="VkPhysicalDeviceFeatures" feature="multiViewport"/>
</spirvcapability>
<spirvcapability name="DrawParameters">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="shaderDrawParameters" requires="VK_VERSION_1_1"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="shaderDrawParameters" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDeviceShaderDrawParametersFeatures" feature="shaderDrawParameters" requires="VK_VERSION_1_1"/>
<enable extension="VK_KHR_shader_draw_parameters"/>
</spirvcapability>
<spirvcapability name="MultiView">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="multiview" requires="VK_VERSION_1_1,VK_KHR_multiview"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="multiview" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDeviceMultiviewFeatures" feature="multiview" requires="VK_KHR_multiview"/>
</spirvcapability>
<spirvcapability name="DeviceGroup">
<enable version="VK_API_VERSION_1_1"/>
<enable extension="VK_KHR_device_group"/>
</spirvcapability>
<spirvcapability name="VariablePointersStorageBuffer">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointersStorageBuffer" requires="VK_VERSION_1_1,VK_KHR_variable_pointers"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointersStorageBuffer" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDeviceVariablePointersFeatures" feature="variablePointersStorageBuffer" requires="VK_KHR_variable_pointers"/>
</spirvcapability>
<spirvcapability name="VariablePointers">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointers" requires="VK_VERSION_1_1,VK_KHR_variable_pointers"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="variablePointers" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDeviceVariablePointersFeatures" feature="variablePointers" requires="VK_KHR_variable_pointers"/>
</spirvcapability>
<spirvcapability name="ShaderClockKHR">
<enable extension="VK_KHR_shader_clock"/>
@@ -15367,16 +15459,20 @@ typedef void <name>CAMetalLayer</name>;
<enable extension="VK_NVX_multiview_per_view_attributes"/>
</spirvcapability>
<spirvcapability name="StorageBuffer16BitAccess">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="storageBuffer16BitAccess" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="storageBuffer16BitAccess" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storageBuffer16BitAccess" requires="VK_KHR_16bit_storage"/>
</spirvcapability>
<spirvcapability name="UniformAndStorageBuffer16BitAccess">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="uniformAndStorageBuffer16BitAccess" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="uniformAndStorageBuffer16BitAccess" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDevice16BitStorageFeatures" feature="uniformAndStorageBuffer16BitAccess" requires="VK_KHR_16bit_storage"/>
</spirvcapability>
<spirvcapability name="StoragePushConstant16">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="storagePushConstant16" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="storagePushConstant16" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storagePushConstant16" requires="VK_KHR_16bit_storage"/>
</spirvcapability>
<spirvcapability name="StorageInputOutput16">
<enable struct="VkPhysicalDeviceVulkan11Features" feature="storageInputOutput16" requires="VK_VERSION_1_1,VK_KHR_16bit_storage"/>
<enable struct="VkPhysicalDeviceVulkan11Features" feature="storageInputOutput16" requires="VK_VERSION_1_2"/>
<enable struct="VkPhysicalDevice16BitStorageFeatures" feature="storageInputOutput16" requires="VK_KHR_16bit_storage"/>
</spirvcapability>
<spirvcapability name="GroupNonUniform">
<enable property="VkPhysicalDeviceVulkan11Properties" member="subgroupSupportedOperations" value="VK_SUBGROUP_FEATURE_BASIC_BIT" requires="VK_VERSION_1_1"/>