Update for Vulkan-Docs 1.4.321

This commit is contained in:
Jon Leech 2025-07-04 00:55:43 +01:00 committed by Jon Leech
parent 16cedde356
commit 2cd90f9d20
19 changed files with 179987 additions and 139944 deletions

View file

@ -125,6 +125,19 @@ class APISpecific:
nameString = f'"{name}"'
return Version(name, nameString, nameApi)
# TODO - Currently genType in reg.py does not provide a good way to get this string to apply the C-macro
# We do our best to emulate the answer here the way the spec/headers will with goal to have a proper fix before these assumptions break
@staticmethod
def createHeaderVersion(targetApiName: str, vk: VulkanObject) -> str:
match targetApiName:
case 'vulkan':
major_version = 1
minor_version = 4
case 'vulkansc':
major_version = 1
minor_version = 0
return f'{major_version}.{minor_version}.{vk.headerVersion}'
# This Generator Option is used across all generators.
# After years of use, it has shown that most the options are unified across each generator (file)
@ -417,6 +430,8 @@ class BaseGenerator(OutputGenerator):
self.addConstants()
self.vk.headerVersionComplete = APISpecific.createHeaderVersion(self.targetApiName, self.vk)
# Use structs and commands to find which things are returnedOnly
for struct in [x for x in self.vk.structs.values() if not x.returnedOnly]:
for enum in [self.vk.enums[x.type] for x in struct.members if x.type in self.vk.enums]:

File diff suppressed because one or more lines are too long

312
registry/vk.xml Executable file → Normal file
View file

@ -182,7 +182,7 @@ branch of the member gitlab server.
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
<type api="vulkan" category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 320</type>
#define <name>VK_HEADER_VERSION</name> 321</type>
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 4, VK_HEADER_VERSION)</type>
<type api="vulkansc" category="define">// Version of this file
@ -504,8 +504,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="VkOpticalFlowSessionCreateFlagBitsNV" category="bitmask">typedef <type>VkFlags</type> <name>VkOpticalFlowSessionCreateFlagsNV</name>;</type>
<type requires="VkOpticalFlowExecuteFlagBitsNV" category="bitmask">typedef <type>VkFlags</type> <name>VkOpticalFlowExecuteFlagsNV</name>;</type>
<type requires="VkFrameBoundaryFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkFrameBoundaryFlagsEXT</name>;</type>
<type requires="VkPresentScalingFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkPresentScalingFlagsEXT</name>;</type>
<type requires="VkPresentGravityFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkPresentGravityFlagsEXT</name>;</type>
<type requires="VkPresentScalingFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkPresentScalingFlagsKHR</name>;</type>
<type category="bitmask" name="VkPresentScalingFlagsEXT" alias="VkPresentScalingFlagsKHR"/>
<type requires="VkPresentGravityFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkPresentGravityFlagsKHR</name>;</type>
<type category="bitmask" name="VkPresentGravityFlagsEXT" alias="VkPresentGravityFlagsKHR"/>
<type requires="VkShaderCreateFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkShaderCreateFlagsEXT</name>;</type>
<type requires="VkTileShadingRenderPassFlagBitsQCOM" category="bitmask">typedef <type>VkFlags</type> <name>VkTileShadingRenderPassFlagsQCOM</name>;</type>
<type bitvalues="VkPhysicalDeviceSchedulingControlsFlagBitsARM" category="bitmask">typedef <type>VkFlags64</type> <name>VkPhysicalDeviceSchedulingControlsFlagsARM</name>;</type>
@ -536,6 +538,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="VkVideoEncodeFeedbackFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeFeedbackFlagsKHR</name>;</type>
<type category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeRateControlFlagsKHR</name>;</type>
<type requires="VkVideoEncodeRateControlModeFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeRateControlModeFlagsKHR</name>;</type>
<type requires="VkVideoEncodeIntraRefreshModeFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeIntraRefreshModeFlagsKHR</name>;</type>
<type requires="VkVideoChromaSubsamplingFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoChromaSubsamplingFlagsKHR</name>;</type>
<type requires="VkVideoComponentBitDepthFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoComponentBitDepthFlagsKHR</name>;</type>
@ -949,8 +952,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkOpticalFlowSessionCreateFlagBitsNV" category="enum"/>
<type name="VkOpticalFlowExecuteFlagBitsNV" category="enum"/>
<type name="VkDeviceFaultAddressTypeEXT" category="enum"/>
<type name="VkPresentScalingFlagBitsEXT" category="enum"/>
<type name="VkPresentGravityFlagBitsEXT" category="enum"/>
<type name="VkPresentScalingFlagBitsKHR" category="enum"/>
<type name="VkPresentScalingFlagBitsEXT" category="enum" alias="VkPresentScalingFlagBitsKHR"/>
<type name="VkPresentGravityFlagBitsKHR" category="enum"/>
<type name="VkPresentGravityFlagBitsEXT" category="enum" alias="VkPresentGravityFlagBitsKHR"/>
<type name="VkLayerSettingTypeEXT" category="enum"/>
<type name="VkLatencyMarkerNV" category="enum"/>
<type name="VkOutOfBandQueueTypeNV" category="enum"/>
@ -994,6 +999,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkVideoEncodeCapabilityFlagBitsKHR" category="enum"/>
<type name="VkVideoEncodeFeedbackFlagBitsKHR" category="enum"/>
<type name="VkVideoEncodeRateControlModeFlagBitsKHR" category="enum"/>
<type name="VkVideoEncodeIntraRefreshModeFlagBitsKHR" category="enum"/>
<comment>Video H.264 Encode extensions</comment>
<type name="VkVideoEncodeH264CapabilityFlagBitsKHR" category="enum"/>
@ -6443,7 +6449,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkRenderPassTransformBeginInfoQCOM" structextends="VkRenderPassBeginInfo">
<member values="VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name><comment>Pointer to next structure</comment></member>
<member optional="true">const <type>void</type>* <name>pNext</name><comment>Pointer to next structure</comment></member>
<member noautovalidity="true"><type>VkSurfaceTransformFlagBitsKHR</type> <name>transform</name></member>
</type>
<type category="struct" name="VkCopyCommandTransformInfoQCOM" structextends="VkBufferImageCopy2,VkImageBlit2">
@ -6453,7 +6459,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkCommandBufferInheritanceRenderPassTransformInfoQCOM" structextends="VkCommandBufferInheritanceInfo">
<member values="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name><comment>Pointer to next structure</comment></member>
<member optional="true">const <type>void</type>* <name>pNext</name><comment>Pointer to next structure</comment></member>
<member noautovalidity="true"><type>VkSurfaceTransformFlagBitsKHR</type> <name>transform</name></member>
<member><type>VkRect2D</type> <name>renderArea</name></member>
</type>
@ -8328,6 +8334,36 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkProvokingVertexModeEXT</type> <name>provokingVertexMode</name></member>
</type>
<type category="struct" name="VkVideoEncodeIntraRefreshCapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member limittype="bitmask" optional="true"><type>VkVideoEncodeIntraRefreshModeFlagsKHR</type> <name>intraRefreshModes</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxIntraRefreshCycleDuration</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxIntraRefreshActiveReferencePictures</name></member>
<member limittype="max"><type>VkBool32</type> <name>partitionIndependentIntraRefreshRegions</name></member>
<member limittype="max"><type>VkBool32</type> <name>nonRectangularIntraRefreshRegions</name></member>
</type>
<type category="struct" name="VkVideoEncodeSessionIntraRefreshCreateInfoKHR" structextends="VkVideoSessionCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkVideoEncodeIntraRefreshModeFlagBitsKHR</type> <name>intraRefreshMode</name></member>
</type>
<type category="struct" name="VkVideoEncodeIntraRefreshInfoKHR" structextends="VkVideoEncodeInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>intraRefreshCycleDuration</name></member>
<member><type>uint32_t</type> <name>intraRefreshIndex</name></member>
</type>
<type category="struct" name="VkVideoReferenceIntraRefreshInfoKHR" structextends="VkVideoReferenceSlotInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>dirtyIntraRefreshRegions</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>videoEncodeIntraRefresh</name></member>
</type>
<type category="struct" name="VkCuModuleCreateInfoNVX">
<member values="VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@ -9508,63 +9544,72 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>dynamicRenderingUnusedAttachments</name></member>
</type>
<type category="struct" name="VkSurfacePresentModeEXT" structextends="VkPhysicalDeviceSurfaceInfo2KHR">
<member values="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSurfacePresentModeKHR" structextends="VkPhysicalDeviceSurfaceInfo2KHR">
<member values="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkPresentModeKHR</type> <name>presentMode</name></member>
</type>
<type category="struct" name="VkSurfacePresentScalingCapabilitiesEXT" structextends="VkSurfaceCapabilities2KHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSurfacePresentModeEXT" alias="VkSurfacePresentModeKHR"/>
<type category="struct" name="VkSurfacePresentScalingCapabilitiesKHR" structextends="VkSurfaceCapabilities2KHR">
<member values="VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkPresentScalingFlagsEXT</type> <name>supportedPresentScaling</name></member>
<member optional="true"><type>VkPresentGravityFlagsEXT</type> <name>supportedPresentGravityX</name></member>
<member optional="true"><type>VkPresentGravityFlagsEXT</type> <name>supportedPresentGravityY</name></member>
<member optional="true"><type>VkPresentScalingFlagsKHR</type> <name>supportedPresentScaling</name></member>
<member optional="true"><type>VkPresentGravityFlagsKHR</type> <name>supportedPresentGravityX</name></member>
<member optional="true"><type>VkPresentGravityFlagsKHR</type> <name>supportedPresentGravityY</name></member>
<member optional="true"><type>VkExtent2D</type> <name>minScaledImageExtent</name><comment>Supported minimum image width and height for the surface when scaling is used</comment></member>
<member optional="true"><type>VkExtent2D</type> <name>maxScaledImageExtent</name><comment>Supported maximum image width and height for the surface when scaling is used</comment></member>
</type>
<type category="struct" name="VkSurfacePresentModeCompatibilityEXT" structextends="VkSurfaceCapabilities2KHR">
<member values="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSurfacePresentScalingCapabilitiesEXT" alias="VkSurfacePresentScalingCapabilitiesKHR"/>
<type category="struct" name="VkSurfacePresentModeCompatibilityKHR" structextends="VkSurfaceCapabilities2KHR">
<member values="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member optional="true"><type>uint32_t</type> <name>presentModeCount</name></member>
<member optional="true" len="presentModeCount"><type>VkPresentModeKHR</type>* <name>pPresentModes</name><comment>Output list of present modes compatible with the one specified in VkSurfacePresentModeEXT</comment></member>
<member optional="true" len="presentModeCount"><type>VkPresentModeKHR</type>* <name>pPresentModes</name><comment>Output list of present modes compatible with the one specified in VkSurfacePresentModeKHR</comment></member>
</type>
<type category="struct" name="VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSurfacePresentModeCompatibilityEXT" alias="VkSurfacePresentModeCompatibilityKHR"/>
<type category="struct" name="VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>swapchainMaintenance1</name></member>
</type>
<type category="struct" name="VkSwapchainPresentFenceInfoEXT" structextends="VkPresentInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT" alias="VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR"/>
<type category="struct" name="VkSwapchainPresentFenceInfoKHR" structextends="VkPresentInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>swapchainCount</name><comment>Copy of VkPresentInfoKHR::swapchainCount</comment></member>
<member len="swapchainCount" optional="false,true">const <type>VkFence</type>* <name>pFences</name><comment>Fence to signal for each swapchain</comment></member>
</type>
<type category="struct" name="VkSwapchainPresentModesCreateInfoEXT" structextends="VkSwapchainCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSwapchainPresentFenceInfoEXT" alias="VkSwapchainPresentFenceInfoKHR"/>
<type category="struct" name="VkSwapchainPresentModesCreateInfoKHR" structextends="VkSwapchainCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>presentModeCount</name></member><comment>Length of the pPresentModes array</comment>
<member len="presentModeCount">const <type>VkPresentModeKHR</type>* <name>pPresentModes</name></member><comment>Presentation modes which will be usable with this swapchain</comment>
</type>
<type category="struct" name="VkSwapchainPresentModeInfoEXT" structextends="VkPresentInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSwapchainPresentModesCreateInfoEXT" alias="VkSwapchainPresentModesCreateInfoKHR"/>
<type category="struct" name="VkSwapchainPresentModeInfoKHR" structextends="VkPresentInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>uint32_t</type> <name>swapchainCount</name><comment>Copy of VkPresentInfoKHR::swapchainCount</comment></member>
<member len="swapchainCount">const <type>VkPresentModeKHR</type>* <name>pPresentModes</name><comment>Presentation mode for each swapchain</comment></member>
</type>
<type category="struct" name="VkSwapchainPresentScalingCreateInfoEXT" structextends="VkSwapchainCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSwapchainPresentModeInfoEXT" alias="VkSwapchainPresentModeInfoKHR"/>
<type category="struct" name="VkSwapchainPresentScalingCreateInfoKHR" structextends="VkSwapchainCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member optional="true"><type>VkPresentScalingFlagsEXT</type> <name>scalingBehavior</name></member>
<member optional="true"><type>VkPresentGravityFlagsEXT</type> <name>presentGravityX</name></member>
<member optional="true"><type>VkPresentGravityFlagsEXT</type> <name>presentGravityY</name></member>
<member optional="true"><type>VkPresentScalingFlagsKHR</type> <name>scalingBehavior</name></member>
<member optional="true"><type>VkPresentGravityFlagsKHR</type> <name>presentGravityX</name></member>
<member optional="true"><type>VkPresentGravityFlagsKHR</type> <name>presentGravityY</name></member>
</type>
<type category="struct" name="VkReleaseSwapchainImagesInfoEXT">
<member values="VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkSwapchainPresentScalingCreateInfoEXT" alias="VkSwapchainPresentScalingCreateInfoKHR"/>
<type category="struct" name="VkReleaseSwapchainImagesInfoKHR">
<member values="VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
<member externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name><comment>Swapchain for which images are being released</comment></member>
<member><type>uint32_t</type> <name>imageIndexCount</name><comment>Number of indices to release</comment></member>
<member len="imageIndexCount">const <type>uint32_t</type>* <name>pImageIndices</name><comment>Indices of which presentable images to release</comment></member>
</type>
<type category="struct" name="VkReleaseSwapchainImagesInfoEXT" alias="VkReleaseSwapchainImagesInfoKHR"/>
<type category="struct" name="VkPhysicalDeviceDepthBiasControlFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
@ -10237,8 +10282,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>shaderReplicatedComposites</name></member>
</type>
<type category="struct" name="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
<type category="struct" name="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT" alias="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR"/>
<type category="struct" name="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>presentModeFifoLatestReady</name></member>
</type>
@ -10755,6 +10801,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member><type>uint32_t</type> <name>processingEngineCount</name></member>
<member len="processingEngineCount"><type>VkPhysicalDeviceDataGraphProcessingEngineARM</type>* <name>pProcessingEngines</name></member>
</type>
<type category="struct" name="VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>pipelineCacheIncrementalMode</name></member>
</type>
</types>
@ -12423,15 +12474,21 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enums name="VkFrameBoundaryFlagBitsEXT" type="bitmask">
<enum bitpos="0" name="VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT"/>
</enums>
<enums name="VkPresentScalingFlagBitsEXT" type="bitmask">
<enum bitpos="0" name="VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT"/>
<enum bitpos="1" name="VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT"/>
<enum bitpos="2" name="VK_PRESENT_SCALING_STRETCH_BIT_EXT"/>
<enums name="VkPresentScalingFlagBitsKHR" type="bitmask">
<enum bitpos="0" name="VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR"/>
<enum name="VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT" alias="VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR"/>
<enum bitpos="1" name="VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR"/>
<enum name="VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT" alias="VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR"/>
<enum bitpos="2" name="VK_PRESENT_SCALING_STRETCH_BIT_KHR"/>
<enum name="VK_PRESENT_SCALING_STRETCH_BIT_EXT" alias="VK_PRESENT_SCALING_STRETCH_BIT_KHR"/>
</enums>
<enums name="VkPresentGravityFlagBitsEXT" type="bitmask">
<enum bitpos="0" name="VK_PRESENT_GRAVITY_MIN_BIT_EXT"/>
<enum bitpos="1" name="VK_PRESENT_GRAVITY_MAX_BIT_EXT"/>
<enum bitpos="2" name="VK_PRESENT_GRAVITY_CENTERED_BIT_EXT"/>
<enums name="VkPresentGravityFlagBitsKHR" type="bitmask">
<enum bitpos="0" name="VK_PRESENT_GRAVITY_MIN_BIT_KHR"/>
<enum name="VK_PRESENT_GRAVITY_MIN_BIT_EXT" alias="VK_PRESENT_GRAVITY_MIN_BIT_KHR"/>
<enum bitpos="1" name="VK_PRESENT_GRAVITY_MAX_BIT_KHR"/>
<enum name="VK_PRESENT_GRAVITY_MAX_BIT_EXT" alias="VK_PRESENT_GRAVITY_MAX_BIT_KHR"/>
<enum bitpos="2" name="VK_PRESENT_GRAVITY_CENTERED_BIT_KHR"/>
<enum name="VK_PRESENT_GRAVITY_CENTERED_BIT_EXT" alias="VK_PRESENT_GRAVITY_CENTERED_BIT_KHR"/>
</enums>
<enums name="VkPhysicalDeviceSchedulingControlsFlagBitsARM" type="bitmask" bitwidth="64">
<enum bitpos="0" name="VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM"/>
@ -12522,6 +12579,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="1" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR"/>
<enum bitpos="2" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR"/>
</enums>
<enums name="VkVideoEncodeIntraRefreshModeFlagBitsKHR" type="bitmask">
<enum value="0" name="VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR"/>
<enum bitpos="0" name="VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR"/>
<enum bitpos="1" name="VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR"/>
<enum bitpos="2" name="VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR"/>
<enum bitpos="3" name="VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR"/>
</enums>
<enums name="VkVideoEncodeH264CapabilityFlagBitsKHR" type="bitmask">
<enum bitpos="0" name="VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR"/>
<enum bitpos="1" name="VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR"/>
@ -14407,16 +14471,16 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkDebugMarkerObjectTagInfoEXT</type>* <name>pTagInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="action">
<command queues="transfer,graphics,compute,decode,encode,opticalflow" renderpass="both" videocoding="both" cmdbufferlevel="primary,secondary" tasks="action">
<proto><type>void</type> <name>vkCmdDebugMarkerBeginEXT</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugMarkerMarkerInfoEXT</type>* <name>pMarkerInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="action">
<command queues="transfer,graphics,compute,decode,encode,opticalflow" renderpass="both" videocoding="both" cmdbufferlevel="primary,secondary" tasks="action">
<proto><type>void</type> <name>vkCmdDebugMarkerEndEXT</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="action">
<command queues="transfer,graphics,compute,decode,encode,opticalflow" renderpass="both" videocoding="both" cmdbufferlevel="primary,secondary" tasks="action">
<proto><type>void</type> <name>vkCmdDebugMarkerInsertEXT</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugMarkerMarkerInfoEXT</type>* <name>pMarkerInfo</name></param>
@ -15262,16 +15326,16 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param externsync="true"><type>VkQueue</type> <name>queue</name></param>
<param>const <type>VkDebugUtilsLabelEXT</type>* <name>pLabelInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="action,state">
<command queues="transfer,graphics,compute,decode,encode,opticalflow" renderpass="both" videocoding="both" cmdbufferlevel="primary,secondary" tasks="action,state">
<proto><type>void</type> <name>vkCmdBeginDebugUtilsLabelEXT</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugUtilsLabelEXT</type>* <name>pLabelInfo</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="action,state">
<command queues="transfer,graphics,compute,decode,encode,opticalflow" renderpass="both" videocoding="both" cmdbufferlevel="primary,secondary" tasks="action,state">
<proto><type>void</type> <name>vkCmdEndDebugUtilsLabelEXT</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
</command>
<command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="action">
<command queues="transfer,graphics,compute,decode,encode,opticalflow" renderpass="both" videocoding="both" cmdbufferlevel="primary,secondary" tasks="action">
<proto><type>void</type> <name>vkCmdInsertDebugUtilsLabelEXT</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
<param>const <type>VkDebugUtilsLabelEXT</type>* <name>pLabelInfo</name></param>
@ -17114,10 +17178,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param>const <type>VkDepthBiasInfoEXT</type>* <name>pDepthBiasInfo</name></param>
</command>
<command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_SURFACE_LOST_KHR">
<proto><type>VkResult</type> <name>vkReleaseSwapchainImagesEXT</name></proto>
<proto><type>VkResult</type> <name>vkReleaseSwapchainImagesKHR</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkReleaseSwapchainImagesInfoEXT</type>* <name>pReleaseInfo</name></param>
<param>const <type>VkReleaseSwapchainImagesInfoKHR</type>* <name>pReleaseInfo</name></param>
</command>
<command name="vkReleaseSwapchainImagesEXT" alias="vkReleaseSwapchainImagesKHR"/>
<command export="vulkan">
<proto><type>void</type> <name>vkGetDeviceImageSubresourceLayout</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
@ -23295,10 +23360,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_EXT_EXTENSION_259_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_259&quot;" name="VK_EXT_EXTENSION_259_EXTENSION_NAME"/>
<enum bitpos="9" extends="VkQueueFlagBits" name="VK_QUEUE_RESERVED_9_BIT_EXT"/>
<enum bitpos="44" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_44_BIT_EXT"/>
<enum bitpos="45" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_45_BIT_EXT"/>
<enum bitpos="19" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_RESERVED_19_BIT_EXT"/>
</require>
<require depends="(VK_KHR_dynamic_rendering,VK_VERSION_1_3)+(VK_KHR_maintenance5,VK_VERSION_1_4)">
<enum bitpos="44" extends="VkPipelineCreateFlagBits2" name="VK_PIPELINE_CREATE_RESERVED_44_BIT_KHR"/>
</require>
<require depends="VK_EXT_shader_object">
<enum bitpos="16" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_RESERVED_16_BIT_KHR"/>
</require>
</extension>
<extension name="VK_EXT_line_rasterization" number="260" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Jeff Bolz @jeffbolznv" specialuse="cadsupport" supported="vulkan,vulkansc" promotedto="VK_KHR_line_rasterization">
@ -23537,13 +23604,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="shaderImageFloat32AtomicMinMax" struct="VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT"/>
</require>
</extension>
<extension name="VK_EXT_surface_maintenance1" number="275" type="instance" depends="VK_KHR_surface+VK_KHR_get_surface_capabilities2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" ratified="vulkan" nofeatures="true">
<extension name="VK_EXT_surface_maintenance1" number="275" type="instance" depends="VK_KHR_surface+VK_KHR_get_surface_capabilities2" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" promotedto="VK_KHR_surface_maintenance1" ratified="vulkan" nofeatures="true">
<require>
<enum value="1" name="VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_surface_maintenance1&quot;" name="VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT" alias="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT" alias="VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT" alias="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR"/>
<type name="VkSurfacePresentModeEXT"/>
<type name="VkPresentScalingFlagBitsEXT"/>
<type name="VkPresentScalingFlagsEXT"/>
@ -23553,17 +23620,17 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkSurfacePresentModeCompatibilityEXT"/>
</require>
</extension>
<extension name="VK_EXT_swapchain_maintenance1" number="276" type="device" depends="VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" ratified="vulkan">
<extension name="VK_EXT_swapchain_maintenance1" number="276" type="device" depends="VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" promotedto="VK_KHR_swapchain_maintenance1" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_swapchain_maintenance1&quot;" name="VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT"/>
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT"/>
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT"/>
<enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT"/>
<enum bitpos="3" extends="VkSwapchainCreateFlagBitsKHR" name="VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT" alias="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT" alias="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT" alias="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT" alias="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT" alias="VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR"/>
<enum extends="VkSwapchainCreateFlagBitsKHR" name="VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT" alias="VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR"/>
<type name="VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT"/>
<type name="VkSwapchainPresentFenceInfoEXT"/>
<type name="VkSwapchainPresentModesCreateInfoEXT"/>
@ -23673,7 +23740,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
</extension>
<extension name="VK_QCOM_render_pass_transform" number="283" type="device" author="QCOM" contact="Matthew Netsch @mnetsch" supported="vulkan" nofeatures="true">
<require>
<enum value="4" name="VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION"/>
<enum value="5" name="VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION"/>
<enum value="&quot;VK_QCOM_render_pass_transform&quot;" name="VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM"/>
@ -24896,12 +24963,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT" alias="VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT"/>
</require>
</extension>
<extension name="VK_EXT_present_mode_fifo_latest_ready" number="362" author="EXT" type="device" depends="VK_KHR_swapchain" contact="Lionel Duc @nvlduc" supported="vulkan" ratified="vulkan">
<extension name="VK_EXT_present_mode_fifo_latest_ready" number="362" author="EXT" type="device" depends="VK_KHR_swapchain" contact="Lionel Duc @nvlduc" promotedto="VK_KHR_present_mode_fifo_latest_ready" supported="vulkan" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_present_mode_fifo_latest_ready&quot;" name="VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT"/>
<enum offset="0" extends="VkPresentModeKHR" name="VK_PRESENT_MODE_FIFO_LATEST_READY_EXT"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR"/>
<enum extends="VkPresentModeKHR" name="VK_PRESENT_MODE_FIFO_LATEST_READY_EXT" alias="VK_PRESENT_MODE_FIFO_LATEST_READY_KHR"/>
<type name="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT"/>
<feature name="presentModeFifoLatestReady" struct="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT"/>
</require>
@ -25599,7 +25666,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="schedulingControls" struct="VkPhysicalDeviceSchedulingControlsFeaturesARM"/>
</require>
</extension>
<extension name="VK_EXT_image_sliced_view_of_3d" number="419" depends="(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="d3demulation" type="device" supported="vulkan">
<extension name="VK_EXT_image_sliced_view_of_3d" number="419" depends="(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="d3demulation" type="device" supported="vulkan" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_image_sliced_view_of_3d&quot;" name="VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME"/>
@ -26318,7 +26385,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum bitpos="34" extends="VkPipelineCreateFlagBits2" name="VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT"/>
</require>
</extension>
<extension name="VK_EXT_pipeline_protected_access" number="467" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" promotedto="VK_VERSION_1_4">
<extension name="VK_EXT_pipeline_protected_access" number="467" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" ratified="vulkan" promotedto="VK_VERSION_1_4">
<require>
<enum value="1" name="VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_pipeline_protected_access&quot;" name="VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME"/>
@ -26799,16 +26866,41 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="amigoProfiling" struct="VkPhysicalDeviceAmigoProfilingFeaturesSEC"/>
</require>
</extension>
<extension name="VK_EXT_extension_487" number="487" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
<extension name="VK_KHR_surface_maintenance1" number="487" type="instance" depends="VK_KHR_surface,VK_KHR_get_surface_capabilities2" author="KHR" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" ratified="vulkan" nofeatures="true">
<require>
<enum value="0" name="VK_EXT_EXTENSION_487_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_487&quot;" name="VK_EXT_EXTENSION_487_EXTENSION_NAME"/>
<enum value="1" name="VK_KHR_SURFACE_MAINTENANCE_1_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_surface_maintenance1&quot;" name="VK_KHR_SURFACE_MAINTENANCE_1_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" extnumber="275" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR"/>
<enum offset="1" extends="VkStructureType" extnumber="275" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR"/>
<enum offset="2" extends="VkStructureType" extnumber="275" name="VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR"/>
<type name="VkSurfacePresentModeKHR"/>
<type name="VkPresentScalingFlagBitsKHR"/>
<type name="VkPresentScalingFlagsKHR"/>
<type name="VkPresentGravityFlagBitsKHR"/>
<type name="VkPresentGravityFlagsKHR"/>
<type name="VkSurfacePresentScalingCapabilitiesKHR"/>
<type name="VkSurfacePresentModeCompatibilityKHR"/>
</require>
</extension>
<extension name="VK_EXT_extension_488" number="488" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled">
<extension name="VK_KHR_swapchain_maintenance1" number="488" type="device" depends="VK_KHR_swapchain,VK_KHR_surface_maintenance1,VK_KHR_get_physical_device_properties2" author="KHR" contact="Shahbaz Youssefi @syoussefi" supported="vulkan" ratified="vulkan">
<require>
<enum value="0" name="VK_EXT_EXTENSION_488_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_488&quot;" name="VK_EXT_EXTENSION_488_EXTENSION_NAME"/>
<enum value="1" name="VK_KHR_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_swapchain_maintenance1&quot;" name="VK_KHR_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" extnumber="276" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR"/>
<enum offset="1" extends="VkStructureType" extnumber="276" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR"/>
<enum offset="2" extends="VkStructureType" extnumber="276" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR"/>
<enum offset="3" extends="VkStructureType" extnumber="276" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR"/>
<enum offset="4" extends="VkStructureType" extnumber="276" name="VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR"/>
<enum offset="5" extends="VkStructureType" extnumber="276" name="VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR"/>
<enum bitpos="3" extends="VkSwapchainCreateFlagBitsKHR" name="VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR"/>
<type name="VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR"/>
<type name="VkSwapchainPresentFenceInfoKHR"/>
<type name="VkSwapchainPresentModesCreateInfoKHR"/>
<type name="VkSwapchainPresentModeInfoKHR"/>
<type name="VkSwapchainPresentScalingCreateInfoKHR"/>
<type name="VkReleaseSwapchainImagesInfoKHR"/>
<command name="vkReleaseSwapchainImagesKHR"/>
<feature name="swapchainMaintenance1" struct="VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR"/>
</require>
</extension>
<extension name="VK_QCOM_multiview_per_view_viewports" number="489" type="device" author="QCOM" contact="Matthew Netsch @mnetsch" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" supported="vulkan">
@ -26964,7 +27056,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="shaderCoreBuiltins" struct="VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM"/>
</require>
</extension>
<extension name="VK_EXT_pipeline_library_group_handles" number="499" type="device" depends="VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library" author="EXT" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="vulkan">
<extension name="VK_EXT_pipeline_library_group_handles" number="499" type="device" depends="VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library" author="EXT" contact="Hans-Kristian Arntzen @HansKristian-Work" supported="vulkan" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_pipeline_library_group_handles&quot;" name="VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME"/>
@ -27644,14 +27736,33 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkDisplayModeStereoPropertiesNV"/>
</require>
</extension>
<extension name="VK_KHR_extension_553" number="553" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" type="device" supported="disabled">
<extension name="VK_KHR_video_encode_intra_refresh" number="553" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" type="device" depends="VK_KHR_video_encode_queue" supported="vulkan" ratified="vulkan">
<require>
<enum value="0" name="VK_KHR_EXTENSION_553_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_553&quot;" name="VK_KHR_EXTENSION_553_EXTENSION_NAME"/>
<enum bitpos="2" extends="VkVideoEncodeFlagBitsKHR" name="VK_VIDEO_ENCODE_RESERVED_2_BIT_KHR"/>
<enum bitpos="10" extends="VkVideoEncodeH264CapabilityFlagBitsKHR" name="VK_VIDEO_ENCODE_H264_CAPABILITY_RESERVED_10_BIT_KHR"/>
<enum bitpos="11" extends="VkVideoEncodeH265CapabilityFlagBitsKHR" name="VK_VIDEO_ENCODE_H265_CAPABILITY_RESERVED_11_BIT_KHR"/>
<enum bitpos="5" extends="VkVideoEncodeAV1CapabilityFlagBitsKHR" name="VK_VIDEO_ENCODE_AV1_CAPABILITY_RESERVED_5_BIT_KHR"/>
<enum value="1" name="VK_KHR_VIDEO_ENCODE_INTRA_REFRESH_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_video_encode_intra_refresh&quot;" name="VK_KHR_VIDEO_ENCODE_INTRA_REFRESH_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR"/>
<enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR"/>
<enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR"/>
<enum bitpos="2" extends="VkVideoEncodeFlagBitsKHR" name="VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR"/>
<type name="VkVideoEncodeIntraRefreshModeFlagsKHR"/>
<type name="VkVideoEncodeIntraRefreshModeFlagBitsKHR"/>
<type name="VkVideoEncodeIntraRefreshCapabilitiesKHR"/>
<type name="VkVideoEncodeSessionIntraRefreshCreateInfoKHR"/>
<type name="VkVideoEncodeIntraRefreshInfoKHR"/>
<type name="VkVideoReferenceIntraRefreshInfoKHR"/>
<type name="VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR"/>
<feature name="videoEncodeIntraRefresh" struct="VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR"/>
</require>
<require depends="VK_KHR_video_encode_h264">
<enum bitpos="10" extends="VkVideoEncodeH264CapabilityFlagBitsKHR" name="VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR"/>
</require>
<require depends="VK_KHR_video_encode_h265">
<enum bitpos="11" extends="VkVideoEncodeH265CapabilityFlagBitsKHR" name="VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR"/>
</require>
<require depends="VK_KHR_video_encode_av1">
<enum bitpos="5" extends="VkVideoEncodeAV1CapabilityFlagBitsKHR" name="VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR"/>
</require>
</extension>
<extension name="VK_KHR_video_encode_quantization_map" number="554" type="device" depends="VK_KHR_video_encode_queue+(VK_KHR_format_feature_flags2,VK_VERSION_1_3)" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" supported="vulkan" ratified="vulkan">
@ -28248,6 +28359,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<require>
<enum value="0" name="VK_KHR_EXTENSION_599_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_599&quot;" name="VK_KHR_EXTENSION_599_EXTENSION_NAME"/>
<enum bitpos="3" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_3_BIT_KHR"/>
<enum bitpos="4" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_4_BIT_KHR"/>
<enum bitpos="5" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_5_BIT_KHR"/>
<enum bitpos="6" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_6_BIT_KHR"/>
<enum bitpos="7" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_7_BIT_KHR"/>
<enum bitpos="8" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_8_BIT_KHR"/>
<enum bitpos="9" extends="VkVideoEncodeFeedbackFlagBitsKHR" name="VK_VIDEO_ENCODE_FEEDBACK_RESERVED_9_BIT_KHR"/>
</require>
</extension>
<extension name="VK_IMG_extension_600" number="600" author="IMG" contact="James Fitzpatrick @jfitzpatrick-img" supported="disabled">
@ -28437,7 +28555,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="fragmentDensityMapOffset" struct="VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT"/>
</require>
</extension>
<extension name="VK_EXT_zero_initialize_device_memory" number="621" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Mike Blumenkrantz @zmike" supported="vulkan">
<extension name="VK_EXT_zero_initialize_device_memory" number="621" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Mike Blumenkrantz @zmike" supported="vulkan" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_zero_initialize_device_memory&quot;" name="VK_EXT_ZERO_INITIALIZE_DEVICE_MEMORY_EXTENSION_NAME"/>
@ -28448,10 +28566,14 @@ typedef void* <name>MTLSharedEvent_id</name>;
<feature name="zeroInitializeDeviceMemory" struct="VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT"/>
</require>
</extension>
<extension name="VK_EXT_extension_622" number="622" author="EXT" contact="Lina Versace @linyaa" supported="disabled">
<extension name="VK_KHR_present_mode_fifo_latest_ready" number="622" author="KHR" type="device" depends="VK_KHR_swapchain" contact="Lionel Duc @nvlduc" supported="vulkan" ratified="vulkan">
<require>
<enum value="0" name="VK_EXT_EXTENSION_622_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_622&quot;" name="VK_EXT_EXTENSION_622_EXTENSION_NAME"/>
<enum value="1" name="VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_present_mode_fifo_latest_ready&quot;" name="VK_KHR_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" extnumber="362" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR"/>
<enum offset="0" extends="VkPresentModeKHR" extnumber="362" name="VK_PRESENT_MODE_FIFO_LATEST_READY_KHR"/>
<type name="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR"/>
<feature name="presentModeFifoLatestReady" struct="VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR"/>
</require>
</extension>
<extension name="VK_EXT_extension_623" number="623" author="EXT" contact="Mark Young @marky_lunarg" supported="disabled">
@ -28568,10 +28690,13 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_EXT_extension_637&quot;" name="VK_EXT_EXTENSION_637_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_EXT_extension_638" number="638" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="disabled">
<extension name="VK_SEC_pipeline_cache_incremental_mode" number="638" author="SEC" contact="Chris Hambacher @chambacher" type="device" supported="vulkan">
<require>
<enum value="0" name="VK_EXT_EXTENSION_638_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_638&quot;" name="VK_EXT_EXTENSION_638_EXTENSION_NAME"/>
<enum value="1" name="VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_SPEC_VERSION"/>
<enum value="&quot;VK_SEC_pipeline_cache_incremental_mode&quot;" name="VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC"/>
<type name="VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"/>
<feature name="pipelineCacheIncrementalMode" struct="VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"/>
</require>
</extension>
</extensions>
@ -31283,6 +31408,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<videocodec name="Encode">
<videocapabilities struct="VkVideoEncodeCapabilitiesKHR"/>
<videocapabilities struct="VkVideoEncodeQuantizationMapCapabilitiesKHR"/>
<videocapabilities struct="VkVideoEncodeIntraRefreshCapabilitiesKHR"/>
<videoformat name="Encode Input" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"/>
<videoformat name="DPB" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"/>
<videoformat name="Quantization Delta Map" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR">

View file

@ -465,7 +465,8 @@ class Spirv:
# This class is designed so all generator scripts can use this to obtain data
@dataclass
class VulkanObject():
headerVersion: int = 0 # value of VK_HEADER_VERSION
headerVersion: int = 0 # value of VK_HEADER_VERSION (ex. 345)
headerVersionComplete: str = '' # value of VK_HEADER_VERSION_COMPLETE (ex. '1.2.345' )
extensions: dict[str, Extension] = field(default_factory=dict, init=False)
versions: dict[str, Version] = field(default_factory=dict, init=False)