diff options
Diffstat (limited to 'registry/vk.xml')
-rw-r--r-- | registry/vk.xml | 819 |
1 files changed, 677 insertions, 142 deletions
diff --git a/registry/vk.xml b/registry/vk.xml index f5300a3..8f7f55d 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -38,7 +38,7 @@ branch of the member gitlab server. </platforms> <tags comment="Vulkan vendor/author tags for extensions and layers"> - <tag name="IMG" author="Imagination Technologies" contact="Michael Worcester @michaelworcester"/> + <tag name="IMG" author="Imagination Technologies" contact="Andrew Garrard @fluppeteer"/> <tag name="AMD" author="Advanced Micro Devices, Inc." contact="Daniel Rakos @drakos-amd"/> <tag name="AMDX" author="Advanced Micro Devices, Inc." contact="Daniel Rakos @drakos-amd"/> <tag name="ARM" author="ARM Limited" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm"/> @@ -174,7 +174,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> 252</type> +#define <name>VK_HEADER_VERSION</name> 253</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, 3, VK_HEADER_VERSION)</type> <type api="vulkansc" category="define">// Version of this file @@ -338,6 +338,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="VkCommandBufferUsageFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkCommandBufferUsageFlags</name>;</type> <type requires="VkQueryPipelineStatisticFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkQueryPipelineStatisticFlags</name>;</type> <type category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryMapFlags</name>;</type> + <type category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryUnmapFlagsKHR</name>;</type> <type requires="VkImageAspectFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkImageAspectFlags</name>;</type> <type requires="VkSparseMemoryBindFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkSparseMemoryBindFlags</name>;</type> <type requires="VkSparseImageFormatFlagBits" category="bitmask">typedef <type>VkFlags</type> <name>VkSparseImageFormatFlags</name>;</type> @@ -506,13 +507,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="VkVideoComponentBitDepthFlagBitsKHR" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoComponentBitDepthFlagsKHR</name>;</type> <comment>Video Encode H.264 extension</comment> - <type requires="VkVideoEncodeH264CapabilityFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264CapabilityFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH264CapabilityFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264CapabilityFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH264StdFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264StdFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH264RateControlFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH264RateControlFlagsEXT</name>;</type> <comment>Video Encode H.265 extension</comment> - <type requires="VkVideoEncodeH265CapabilityFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265CapabilityFlagsEXT</name>;</type> - <type requires="VkVideoEncodeH265CtbSizeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265CtbSizeFlagsEXT</name>;</type> - <type requires="VkVideoEncodeH265TransformBlockSizeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265TransformBlockSizeFlagsEXT</name>;</type> - <type category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryUnmapFlagsKHR</name>;</type> + <type requires="VkVideoEncodeH265CapabilityFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265CapabilityFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH265StdFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265StdFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH265RateControlFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265RateControlFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH265CtbSizeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265CtbSizeFlagsEXT</name>;</type> + <type requires="VkVideoEncodeH265TransformBlockSizeFlagBitsEXT" category="bitmask">typedef <type>VkFlags</type> <name>VkVideoEncodeH265TransformBlockSizeFlagsEXT</name>;</type> <comment>Types which can be void pointers or class pointers, selected at compile time</comment> <type category="handle" objtypeenum="VK_OBJECT_TYPE_INSTANCE"><type>VK_DEFINE_HANDLE</type>(<name>VkInstance</name>)</type> @@ -882,14 +886,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoEncodeRateControlModeFlagBitsKHR" category="enum"/> <comment>Video H.264 Encode extensions</comment> - <type name="VkVideoEncodeH264CapabilityFlagBitsEXT" category="enum"/> - <type name="VkVideoEncodeH264RateControlStructureEXT" category="enum"/> + <type name="VkVideoEncodeH264CapabilityFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH264StdFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH264RateControlFlagBitsEXT" category="enum"/> <comment>Video H.265 Encode extensions</comment> - <type name="VkVideoEncodeH265CapabilityFlagBitsEXT" category="enum"/> - <type name="VkVideoEncodeH265RateControlStructureEXT" category="enum"/> - <type name="VkVideoEncodeH265CtbSizeFlagBitsEXT" category="enum"/> - <type name="VkVideoEncodeH265TransformBlockSizeFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH265CapabilityFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH265StdFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH265RateControlFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH265CtbSizeFlagBitsEXT" category="enum"/> + <type name="VkVideoEncodeH265TransformBlockSizeFlagBitsEXT" category="enum"/> <comment>The PFN_vk*Function types are used by VkAllocationCallbacks below</comment> <type category="funcpointer">typedef void (VKAPI_PTR *<name>PFN_vkInternalAllocationNotification</name>)( @@ -6663,6 +6669,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>uint32_t</type> <name>updateSequenceCount</name></member> </type> + <type category="struct" name="VkVideoEncodeSessionParametersGetInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoSessionParametersKHR</type> <name>videoSessionParameters</name></member> + </type> + <type category="struct" name="VkVideoEncodeSessionParametersFeedbackInfoKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>hasOverrides</name></member> + </type> <type category="struct" name="VkVideoBeginCodingInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -6693,7 +6709,6 @@ typedef void* <name>MTLSharedEvent_id</name>; <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkVideoEncodeFlagsKHR</type> <name>flags</name></member> - <member><type>uint32_t</type> <name>qualityLevel</name></member> <member><type>VkBuffer</type> <name>dstBuffer</name></member> <member><type>VkDeviceSize</type> <name>dstBufferOffset</name></member> <member><type>VkDeviceSize</type> <name>dstBufferRange</name></member> @@ -6708,23 +6723,40 @@ typedef void* <name>MTLSharedEvent_id</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkVideoEncodeFeedbackFlagsKHR</type> <name>encodeFeedbackFlags</name></member> </type> - <type category="struct" name="VkVideoEncodeRateControlInfoKHR" structextends="VkVideoCodingControlInfoKHR"> + <type category="struct" name="VkVideoEncodeQualityLevelInfoKHR" structextends="VkVideoCodingControlInfoKHR,VkVideoSessionParametersCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_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>qualityLevel</name></member> + </type> + <type category="struct" name="VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member>const <type>VkVideoProfileInfoKHR</type>* <name>pVideoProfile</name></member> + <member><type>uint32_t</type> <name>qualityLevel</name></member> + </type> + <type category="struct" name="VkVideoEncodeQualityLevelPropertiesKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeRateControlModeFlagBitsKHR</type> <name>preferredRateControlMode</name></member> + <member><type>uint32_t</type> <name>preferredRateControlLayerCount</name></member> + </type> + <type category="struct" name="VkVideoEncodeRateControlInfoKHR" structextends="VkVideoCodingControlInfoKHR,VkVideoBeginCodingInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkVideoEncodeRateControlFlagsKHR</type> <name>flags</name></member> - <member optional="true"><type>VkVideoEncodeRateControlModeFlagBitsKHR</type> <name>rateControlMode</name></member> - <member optional="true"><type>uint32_t</type> <name>layerCount</name></member> + <member optional="true"><type>VkVideoEncodeRateControlModeFlagBitsKHR</type> <name>rateControlMode</name></member> + <member optional="true"><type>uint32_t</type> <name>layerCount</name></member> <member len="layerCount">const <type>VkVideoEncodeRateControlLayerInfoKHR</type>* <name>pLayers</name></member> + <member><type>uint32_t</type> <name>virtualBufferSizeInMs</name></member> + <member><type>uint32_t</type> <name>initialVirtualBufferSizeInMs</name></member> </type> - <type category="struct" name="VkVideoEncodeRateControlLayerInfoKHR" structextends="VkVideoCodingControlInfoKHR"> + <type category="struct" name="VkVideoEncodeRateControlLayerInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>uint64_t</type> <name>averageBitrate</name></member> - <member><type>uint64_t</type> <name>maxBitrate</name></member> - <member><type>uint32_t</type> <name>frameRateNumerator</name></member> - <member><type>uint32_t</type> <name>frameRateDenominator</name></member> - <member><type>uint32_t</type> <name>virtualBufferSizeInMs</name></member> - <member><type>uint32_t</type> <name>initialVirtualBufferSizeInMs</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>uint64_t</type> <name>averageBitrate</name></member> + <member><type>uint64_t</type> <name>maxBitrate</name></member> + <member><type>uint32_t</type> <name>frameRateNumerator</name></member> + <member><type>uint32_t</type> <name>frameRateDenominator</name></member> </type> <type category="struct" name="VkVideoEncodeCapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member> @@ -6732,22 +6764,40 @@ typedef void* <name>MTLSharedEvent_id</name>; <member noautovalidity="true"><type>VkVideoEncodeCapabilityFlagsKHR</type> <name>flags</name></member> <member><type>VkVideoEncodeRateControlModeFlagsKHR</type> <name>rateControlModes</name></member> <member><type>uint32_t</type> <name>maxRateControlLayers</name></member> + <member><type>uint64_t</type> <name>maxBitrate</name></member> <member><type>uint32_t</type> <name>maxQualityLevels</name></member> - <member><type>VkExtent2D</type> <name>inputImageDataFillAlignment</name></member> + <member><type>VkExtent2D</type> <name>encodeInputPictureGranularity</name></member> <member><type>VkVideoEncodeFeedbackFlagsKHR</type> <name>supportedEncodeFeedbackFlags</name></member> </type> <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsEXT</type> <name>flags</name></member> + <member noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsEXT</type> <name>flags</name></member> + <member><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member> + <member><type>uint32_t</type> <name>maxSliceCount</name></member> <member><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member> <member><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member> <member><type>uint32_t</type> <name>maxL1ReferenceCount</name></member> - <member><type>VkBool32</type> <name>motionVectorsOverPicBoundariesFlag</name></member> - <member><type>uint32_t</type> <name>maxBytesPerPicDenom</name></member> - <member><type>uint32_t</type> <name>maxBitsPerMbDenom</name></member> - <member><type>uint32_t</type> <name>log2MaxMvLengthHorizontal</name></member> - <member><type>uint32_t</type> <name>log2MaxMvLengthVertical</name></member> + <member><type>uint32_t</type> <name>maxTemporalLayerCount</name></member> + <member><type>VkBool32</type> <name>expectDyadicTemporalLayerPattern</name></member> + <member><type>int32_t</type> <name>minQp</name></member> + <member><type>int32_t</type> <name>maxQp</name></member> + <member><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member> + <member><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member> + <member noautovalidity="true"><type>VkVideoEncodeH264StdFlagsEXT</type> <name>stdSyntaxFlags</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264QualityLevelPropertiesEXT" returnedonly="true" structextends="VkVideoEncodeQualityLevelPropertiesKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeH264RateControlFlagsEXT</type> <name>preferredRateControlFlags</name></member> + <member><type>uint32_t</type> <name>preferredGopFrameCount</name></member> + <member><type>uint32_t</type> <name>preferredIdrPeriod</name></member> + <member><type>uint32_t</type> <name>preferredConsecutiveBFrameCount</name></member> + <member><type>uint32_t</type> <name>preferredTemporalLayerCount</name></member> + <member><type>VkVideoEncodeH264QpEXT</type> <name>preferredConstantQp</name></member> + <member><type>uint32_t</type> <name>preferredMaxL0ReferenceCount</name></member> + <member><type>uint32_t</type> <name>preferredMaxL1ReferenceCount</name></member> + <member><type>VkBool32</type> <name>preferredStdEntropyCodingModeFlag</name></member> </type> <type category="include" name="vk_video/vulkan_video_codec_h264std_encode.h">#include "vk_video/vulkan_video_codec_h264std_encode.h"</type> <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264SliceHeader"/> @@ -6760,6 +6810,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefMgmtFlags"/> <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefListModEntry"/> <type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264RefPicMarkingEntry"/> + <type category="struct" name="VkVideoEncodeH264SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>useMaxLevelIdc</name></member> + <member><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member> + </type> <type category="struct" name="VkVideoEncodeH264SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -6775,18 +6831,32 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>uint32_t</type> <name>maxStdPPSCount</name></member> <member optional="true">const <type>VkVideoEncodeH264SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member> </type> + <type category="struct" name="VkVideoEncodeH264SessionParametersGetInfoEXT" structextends="VkVideoEncodeSessionParametersGetInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>writeStdSPS</name></member> + <member><type>VkBool32</type> <name>writeStdPPS</name></member> + <member><type>uint32_t</type> <name>stdSPSId</name></member> + <member><type>uint32_t</type> <name>stdPPSId</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264SessionParametersFeedbackInfoEXT" structextends="VkVideoEncodeSessionParametersFeedbackInfoKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>hasStdSPSOverrides</name></member> + <member><type>VkBool32</type> <name>hasStdPPSOverrides</name></member> + </type> <type category="struct" name="VkVideoEncodeH264DpbSlotInfoEXT" structextends="VkVideoReferenceSlotInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member>const <type>StdVideoEncodeH264ReferenceInfo</type>* <name>pStdReferenceInfo</name></member> </type> - <type category="struct" name="VkVideoEncodeH264VclFrameInfoEXT" structextends="VkVideoEncodeInfoKHR"> - <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <type category="struct" name="VkVideoEncodeH264PictureInfoEXT" structextends="VkVideoEncodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member optional="true">const <type>StdVideoEncodeH264ReferenceListsInfo</type>* <name>pStdReferenceFinalLists</name></member> <member><type>uint32_t</type> <name>naluSliceEntryCount</name></member> <member len="naluSliceEntryCount">const <type>VkVideoEncodeH264NaluSliceInfoEXT</type>* <name>pNaluSliceEntries</name></member> <member>const <type>StdVideoEncodeH264PictureInfo</type>* <name>pStdPictureInfo</name></member> + <member><type>VkBool32</type> <name>generatePrefixNalu</name></member> </type> <type category="struct" name="VkVideoEncodeH264ProfileInfoEXT" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -6796,17 +6866,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkVideoEncodeH264NaluSliceInfoEXT"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>mbCount</name></member> - <member optional="true">const <type>StdVideoEncodeH264ReferenceListsInfo</type>* <name>pStdReferenceFinalLists</name></member> + <member><type>int32_t</type> <name>constantQp</name></member> <member>const <type>StdVideoEncodeH264SliceHeader</type>* <name>pStdSliceHeader</name></member> </type> - <type category="struct" name="VkVideoEncodeH264RateControlInfoEXT" structextends="VkVideoCodingControlInfoKHR"> + <type category="struct" name="VkVideoEncodeH264RateControlInfoEXT" structextends="VkVideoCodingControlInfoKHR,VkVideoBeginCodingInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeH264RateControlFlagsEXT</type> <name>flags</name></member> <member><type>uint32_t</type> <name>gopFrameCount</name></member> <member><type>uint32_t</type> <name>idrPeriod</name></member> <member><type>uint32_t</type> <name>consecutiveBFrameCount</name></member> - <member><type>VkVideoEncodeH264RateControlStructureEXT</type> <name>rateControlStructure</name></member> <member><type>uint32_t</type> <name>temporalLayerCount</name></member> </type> <type category="struct" name="VkVideoEncodeH264QpEXT"> @@ -6819,12 +6888,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <member noautovalidity="true"><type>uint32_t</type> <name>framePSize</name></member> <member noautovalidity="true"><type>uint32_t</type> <name>frameBSize</name></member> </type> - <type category="struct" name="VkVideoEncodeH264RateControlLayerInfoEXT" structextends="VkVideoCodingControlInfoKHR,VkVideoEncodeRateControlLayerInfoKHR"> + <type category="struct" name="VkVideoEncodeH264GopRemainingFrameInfoEXT" structextends="VkVideoBeginCodingInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>useGopRemainingFrames</name></member> + <member><type>uint32_t</type> <name>gopRemainingI</name></member> + <member><type>uint32_t</type> <name>gopRemainingP</name></member> + <member><type>uint32_t</type> <name>gopRemainingB</name></member> + </type> + <type category="struct" name="VkVideoEncodeH264RateControlLayerInfoEXT" structextends="VkVideoEncodeRateControlLayerInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>temporalLayerId</name></member> - <member><type>VkBool32</type> <name>useInitialRcQp</name></member> - <member><type>VkVideoEncodeH264QpEXT</type> <name>initialRcQp</name></member> <member><type>VkBool32</type> <name>useMinQp</name></member> <member><type>VkVideoEncodeH264QpEXT</type> <name>minQp</name></member> <member><type>VkBool32</type> <name>useMaxQp</name></member> @@ -6835,24 +6909,34 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkVideoEncodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsEXT</type> <name>flags</name></member> + <member noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsEXT</type> <name>flags</name></member> + <member><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member> + <member><type>uint32_t</type> <name>maxSliceSegmentCount</name></member> + <member><type>VkExtent2D</type> <name>maxTiles</name></member> <member><type>VkVideoEncodeH265CtbSizeFlagsEXT</type> <name>ctbSizes</name></member> <member><type>VkVideoEncodeH265TransformBlockSizeFlagsEXT</type> <name>transformBlockSizes</name></member> <member><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member> <member><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member> <member><type>uint32_t</type> <name>maxL1ReferenceCount</name></member> - <member><type>uint32_t</type> <name>maxSubLayersCount</name></member> - <member><type>uint32_t</type> <name>minLog2MinLumaCodingBlockSizeMinus3</name></member> - <member><type>uint32_t</type> <name>maxLog2MinLumaCodingBlockSizeMinus3</name></member> - <member><type>uint32_t</type> <name>minLog2MinLumaTransformBlockSizeMinus2</name></member> - <member><type>uint32_t</type> <name>maxLog2MinLumaTransformBlockSizeMinus2</name></member> - <member><type>uint32_t</type> <name>minMaxTransformHierarchyDepthInter</name></member> - <member><type>uint32_t</type> <name>maxMaxTransformHierarchyDepthInter</name></member> - <member><type>uint32_t</type> <name>minMaxTransformHierarchyDepthIntra</name></member> - <member><type>uint32_t</type> <name>maxMaxTransformHierarchyDepthIntra</name></member> - <member><type>uint32_t</type> <name>maxDiffCuQpDeltaDepth</name></member> - <member><type>uint32_t</type> <name>minMaxNumMergeCand</name></member> - <member><type>uint32_t</type> <name>maxMaxNumMergeCand</name></member> + <member><type>uint32_t</type> <name>maxSubLayerCount</name></member> + <member><type>VkBool32</type> <name>expectDyadicTemporalSubLayerPattern</name></member> + <member><type>int32_t</type> <name>minQp</name></member> + <member><type>int32_t</type> <name>maxQp</name></member> + <member><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member> + <member><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member> + <member noautovalidity="true"><type>VkVideoEncodeH265StdFlagsEXT</type> <name>stdSyntaxFlags</name></member> + </type> + <type category="struct" name="VkVideoEncodeH265QualityLevelPropertiesEXT" returnedonly="true" structextends="VkVideoEncodeQualityLevelPropertiesKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeH265RateControlFlagsEXT</type> <name>preferredRateControlFlags</name></member> + <member><type>uint32_t</type> <name>preferredGopFrameCount</name></member> + <member><type>uint32_t</type> <name>preferredIdrPeriod</name></member> + <member><type>uint32_t</type> <name>preferredConsecutiveBFrameCount</name></member> + <member><type>uint32_t</type> <name>preferredSubLayerCount</name></member> + <member><type>VkVideoEncodeH265QpEXT</type> <name>preferredConstantQp</name></member> + <member><type>uint32_t</type> <name>preferredMaxL0ReferenceCount</name></member> + <member><type>uint32_t</type> <name>preferredMaxL1ReferenceCount</name></member> </type> <type category="include" name="vk_video/vulkan_video_codec_h265std_encode.h">#include "vk_video/vulkan_video_codec_h265std_encode.h"</type> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265PictureInfoFlags"/> @@ -6863,6 +6947,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265SliceSegmentHeaderFlags"/> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceInfoFlags"/> <type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceModificationFlags"/> + <type category="struct" name="VkVideoEncodeH265SessionCreateInfoEXT" structextends="VkVideoSessionCreateInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>useMaxLevelIdc</name></member> + <member><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member> + </type> <type category="struct" name="VkVideoEncodeH265SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> @@ -6881,10 +6971,26 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>uint32_t</type> <name>maxStdPPSCount</name></member> <member optional="true">const <type>VkVideoEncodeH265SessionParametersAddInfoEXT</type>* <name>pParametersAddInfo</name></member> </type> - <type category="struct" name="VkVideoEncodeH265VclFrameInfoEXT" structextends="VkVideoEncodeInfoKHR"> - <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <type category="struct" name="VkVideoEncodeH265SessionParametersGetInfoEXT" structextends="VkVideoEncodeSessionParametersGetInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>writeStdVPS</name></member> + <member><type>VkBool32</type> <name>writeStdSPS</name></member> + <member><type>VkBool32</type> <name>writeStdPPS</name></member> + <member><type>uint32_t</type> <name>stdVPSId</name></member> + <member><type>uint32_t</type> <name>stdSPSId</name></member> + <member><type>uint32_t</type> <name>stdPPSId</name></member> + </type> + <type category="struct" name="VkVideoEncodeH265SessionParametersFeedbackInfoEXT" structextends="VkVideoEncodeSessionParametersFeedbackInfoKHR" returnedonly="true"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>hasStdVPSOverrides</name></member> + <member><type>VkBool32</type> <name>hasStdSPSOverrides</name></member> + <member><type>VkBool32</type> <name>hasStdPPSOverrides</name></member> + </type> + <type category="struct" name="VkVideoEncodeH265PictureInfoEXT" structextends="VkVideoEncodeInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member optional="true">const <type>StdVideoEncodeH265ReferenceListsInfo</type>* <name>pStdReferenceFinalLists</name></member> <member><type>uint32_t</type> <name>naluSliceSegmentEntryCount</name></member> <member len="naluSliceSegmentEntryCount">const <type>VkVideoEncodeH265NaluSliceSegmentInfoEXT</type>* <name>pNaluSliceSegmentEntries</name></member> <member>const <type>StdVideoEncodeH265PictureInfo</type>* <name>pStdPictureInfo</name></member> @@ -6892,17 +6998,16 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkVideoEncodeH265NaluSliceSegmentInfoEXT"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>ctbCount</name></member> - <member optional="true">const <type>StdVideoEncodeH265ReferenceListsInfo</type>* <name>pStdReferenceFinalLists</name></member> + <member><type>int32_t</type> <name>constantQp</name></member> <member>const <type>StdVideoEncodeH265SliceSegmentHeader</type>* <name>pStdSliceSegmentHeader</name></member> </type> - <type category="struct" name="VkVideoEncodeH265RateControlInfoEXT" structextends="VkVideoCodingControlInfoKHR"> + <type category="struct" name="VkVideoEncodeH265RateControlInfoEXT" structextends="VkVideoCodingControlInfoKHR,VkVideoBeginCodingInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkVideoEncodeH265RateControlFlagsEXT</type> <name>flags</name></member> <member><type>uint32_t</type> <name>gopFrameCount</name></member> <member><type>uint32_t</type> <name>idrPeriod</name></member> <member><type>uint32_t</type> <name>consecutiveBFrameCount</name></member> - <member><type>VkVideoEncodeH265RateControlStructureEXT</type> <name>rateControlStructure</name></member> <member><type>uint32_t</type> <name>subLayerCount</name></member> </type> <type category="struct" name="VkVideoEncodeH265QpEXT"> @@ -6915,12 +7020,17 @@ typedef void* <name>MTLSharedEvent_id</name>; <member noautovalidity="true"><type>uint32_t</type> <name>framePSize</name></member> <member noautovalidity="true"><type>uint32_t</type> <name>frameBSize</name></member> </type> - <type category="struct" name="VkVideoEncodeH265RateControlLayerInfoEXT" structextends="VkVideoCodingControlInfoKHR,VkVideoEncodeRateControlLayerInfoKHR"> + <type category="struct" name="VkVideoEncodeH265GopRemainingFrameInfoEXT" structextends="VkVideoBeginCodingInfoKHR"> + <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>useGopRemainingFrames</name></member> + <member><type>uint32_t</type> <name>gopRemainingI</name></member> + <member><type>uint32_t</type> <name>gopRemainingP</name></member> + <member><type>uint32_t</type> <name>gopRemainingB</name></member> + </type> + <type category="struct" name="VkVideoEncodeH265RateControlLayerInfoEXT" structextends="VkVideoEncodeRateControlLayerInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>temporalId</name></member> - <member><type>VkBool32</type> <name>useInitialRcQp</name></member> - <member><type>VkVideoEncodeH265QpEXT</type> <name>initialRcQp</name></member> <member><type>VkBool32</type> <name>useMinQp</name></member> <member><type>VkVideoEncodeH265QpEXT</type> <name>minQp</name></member> <member><type>VkBool32</type> <name>useMaxQp</name></member> @@ -9923,6 +10033,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enums name="VkVideoEncodeFeedbackFlagBitsKHR" type="bitmask"> <enum bitpos="0" name="VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR"/> <enum bitpos="1" name="VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR"/> </enums> <enums name="VkVideoEncodeRateControlModeFlagBitsKHR" type="bitmask"> <enum value="0" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR"/> @@ -9931,37 +10042,42 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="2" name="VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR"/> </enums> <enums name="VkVideoEncodeH264CapabilityFlagBitsEXT" type="bitmask"> - <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT"/> - <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT"/> - <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT"/> - <enum bitpos="3" name="VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT"/> - <enum bitpos="4" name="VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT"/> - <enum bitpos="5" name="VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT"/> - <enum bitpos="6" name="VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT"/> - <enum bitpos="7" name="VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT"/> - <enum bitpos="8" name="VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT"/> - <enum bitpos="9" name="VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT"/> - <enum bitpos="10" name="VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT"/> - <enum bitpos="11" name="VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT"/> - <enum bitpos="12" name="VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"/> - <enum bitpos="13" name="VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT"/> - <enum bitpos="14" name="VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT"/> - <enum bitpos="15" name="VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT"/> - <enum bitpos="16" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT"/> - <enum bitpos="17" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT"/> - <enum bitpos="18" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"/> - <enum bitpos="19" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT"/> - <enum bitpos="20" name="VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT"/> - <enum bitpos="21" name="VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT"/> - <enum bitpos="22" name="VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT"/> - <enum bitpos="23" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"/> - <enum bitpos="24" name="VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"/> - <enum bitpos="25" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_REFERENCE_FINAL_LISTS_BIT_EXT"/> - </enums> - <enums name="VkVideoEncodeH264RateControlStructureEXT" type="enum"> - <enum value="0" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT"/> - <enum value="1" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_EXT"/> - <enum value="2" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_EXT"/> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_EXT"/> + <enum bitpos="5" name="VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"/> + <enum bitpos="6" name="VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_EXT"/> + <enum bitpos="7" name="VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_EXT"/> + <enum bitpos="8" name="VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH264StdFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_EXT"/> + <enum bitpos="5" name="VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_EXT"/> + <enum bitpos="6" name="VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_EXT"/> + <enum bitpos="7" name="VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_EXT"/> + <enum bitpos="8" name="VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_EXT"/> + <enum bitpos="9" name="VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_EXT"/> + <enum bitpos="10" name="VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_EXT"/> + <enum bitpos="11" name="VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_EXT"/> + <enum bitpos="12" name="VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_EXT"/> + <enum bitpos="13" name="VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_EXT"/> + <enum bitpos="14" name="VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_EXT"/> + <enum bitpos="15" name="VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_EXT"/> + <enum bitpos="16" name="VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_EXT"/> + <enum bitpos="17" name="VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH264RateControlFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_EXT"/> </enums> <enums name="VkImageFormatConstraintsFlagBitsFUCHSIA" type="bitmask"> </enums> @@ -10037,38 +10153,44 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum name="VK_RENDERING_RESUMING_BIT_KHR" alias="VK_RENDERING_RESUMING_BIT"/> </enums> <enums name="VkVideoEncodeH265CapabilityFlagBitsEXT" type="bitmask"> - <enum bitpos="0" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT"/> - <enum bitpos="1" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT"/> - <enum bitpos="2" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT"/> - <enum bitpos="3" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT"/> - <enum bitpos="4" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT"/> - <enum bitpos="5" name="VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT"/> - <enum bitpos="6" name="VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT"/> - <enum bitpos="7" name="VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT"/> - <enum bitpos="8" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT"/> - <enum bitpos="9" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT"/> - <enum bitpos="10" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT"/> - <enum bitpos="11" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT"/> - <enum bitpos="12" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT"/> - <enum bitpos="13" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT"/> - <enum bitpos="14" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"/> - <enum bitpos="15" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT"/> - <enum bitpos="16" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT"/> - <enum bitpos="17" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT"/> - <enum bitpos="18" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT"/> - <enum bitpos="19" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT"/> - <enum bitpos="20" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT"/> - <enum bitpos="21" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT"/> - <enum bitpos="22" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT"/> - <enum bitpos="23" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT"/> - <enum bitpos="24" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT"/> - <enum bitpos="25" name="VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"/> - <enum bitpos="26" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_REFERENCE_FINAL_LISTS_BIT_EXT"/> - </enums> - <enums name="VkVideoEncodeH265RateControlStructureEXT" type="enum"> - <enum value="0" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT"/> - <enum value="1" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_EXT"/> - <enum value="2" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_EXT"/> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_EXT"/> + <enum bitpos="5" name="VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT"/> + <enum bitpos="6" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_EXT"/> + <enum bitpos="7" name="VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_EXT"/> + <enum bitpos="8" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_EXT"/> + <enum bitpos="9" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH265StdFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="5" name="VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_EXT"/> + <enum bitpos="6" name="VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_EXT"/> + <enum bitpos="7" name="VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_EXT"/> + <enum bitpos="8" name="VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT"/> + <enum bitpos="9" name="VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="10" name="VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="11" name="VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_EXT"/> + <enum bitpos="12" name="VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_EXT"/> + <enum bitpos="13" name="VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="14" name="VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_EXT"/> + <enum bitpos="15" name="VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="16" name="VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="17" name="VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_EXT"/> + <enum bitpos="18" name="VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_EXT"/> + </enums> + <enums name="VkVideoEncodeH265RateControlFlagBitsEXT" type="bitmask"> + <enum bitpos="0" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_EXT"/> + <enum bitpos="1" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_EXT"/> + <enum bitpos="2" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_EXT"/> + <enum bitpos="3" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_EXT"/> + <enum bitpos="4" name="VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_EXT"/> </enums> <enums name="VkVideoEncodeH265CtbSizeFlagBitsEXT" type="bitmask"> <enum bitpos="0" name="VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT"/> @@ -13623,6 +13745,12 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="false,true"><type>uint32_t</type>* <name>pVideoFormatPropertyCount</name></param> <param optional="true" len="pVideoFormatPropertyCount"><type>VkVideoFormatPropertiesKHR</type>* <name>pVideoFormatProperties</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR"> + <proto><type>VkResult</type> <name>vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR</name></proto> + <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> + <param>const <type>VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR</type>* <name>pQualityLevelInfo</name></param> + <param><type>VkVideoEncodeQualityLevelPropertiesKHR</type>* <name>pQualityLevelProperties</name></param> + </command> <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR,VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR"> <proto><type>VkResult</type> <name>vkCreateVideoSessionKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> @@ -13649,6 +13777,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <param><type>VkVideoSessionParametersKHR</type> <name>videoSessionParameters</name></param> <param>const <type>VkVideoSessionParametersUpdateInfoKHR</type>* <name>pUpdateInfo</name></param> </command> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> + <proto><type>VkResult</type> <name>vkGetEncodedVideoSessionParametersKHR</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param>const <type>VkVideoEncodeSessionParametersGetInfoKHR</type>* <name>pVideoSessionParametersInfo</name></param> + <param optional="true"><type>VkVideoEncodeSessionParametersFeedbackInfoKHR</type>* <name>pFeedbackInfo</name></param> + <param optional="false,true"><type>size_t</type>* <name>pDataSize</name></param> + <param optional="true" len="pDataSize"><type>void</type>* <name>pData</name></param> + </command> <command> <proto><type>void</type> <name>vkDestroyVideoSessionParametersKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> @@ -16123,69 +16259,94 @@ typedef void* <name>MTLSharedEvent_id</name>; </extension> <extension name="VK_EXT_video_encode_h264" number="39" type="device" depends="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="10" name="VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION"/> + <enum value="11" name="VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION"/> <enum value=""VK_EXT_video_encode_h264"" name="VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> - <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="10" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="11" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="12" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="13" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="16" extends="VkVideoCodecOperationFlagBitsKHR" name="VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <type name="VkVideoEncodeH264CapabilityFlagBitsEXT"/> <type name="VkVideoEncodeH264CapabilityFlagsEXT"/> + <type name="VkVideoEncodeH264StdFlagBitsEXT"/> + <type name="VkVideoEncodeH264StdFlagsEXT"/> <type name="VkVideoEncodeH264CapabilitiesEXT"/> + <type name="VkVideoEncodeH264QualityLevelPropertiesEXT"/> + <type name="VkVideoEncodeH264SessionCreateInfoEXT"/> <type name="VkVideoEncodeH264SessionParametersCreateInfoEXT"/> <type name="VkVideoEncodeH264SessionParametersAddInfoEXT"/> - <type name="VkVideoEncodeH264VclFrameInfoEXT"/> + <type name="VkVideoEncodeH264SessionParametersGetInfoEXT"/> + <type name="VkVideoEncodeH264SessionParametersFeedbackInfoEXT"/> + <type name="VkVideoEncodeH264PictureInfoEXT"/> <type name="VkVideoEncodeH264DpbSlotInfoEXT"/> <type name="VkVideoEncodeH264NaluSliceInfoEXT"/> <type name="VkVideoEncodeH264ProfileInfoEXT"/> <type name="VkVideoEncodeH264RateControlInfoEXT"/> - <type name="VkVideoEncodeH264RateControlStructureEXT"/> + <type name="VkVideoEncodeH264RateControlFlagBitsEXT"/> + <type name="VkVideoEncodeH264RateControlFlagsEXT"/> <type name="VkVideoEncodeH264RateControlLayerInfoEXT"/> <type name="VkVideoEncodeH264QpEXT"/> <type name="VkVideoEncodeH264FrameSizeEXT"/> + <type name="VkVideoEncodeH264GopRemainingFrameInfoEXT"/> </require> </extension> <extension name="VK_EXT_video_encode_h265" number="40" type="device" depends="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="10" name="VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION"/> + <enum value="11" name="VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION"/> <enum value=""VK_EXT_video_encode_h265"" name="VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> - <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="10" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="11" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="12" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="13" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="14" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="17" extends="VkVideoCodecOperationFlagBitsKHR" name="VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <type name="VkVideoEncodeH265CapabilityFlagBitsEXT"/> <type name="VkVideoEncodeH265CapabilityFlagsEXT"/> - + <type name="VkVideoEncodeH265StdFlagBitsEXT"/> + <type name="VkVideoEncodeH265StdFlagsEXT"/> <type name="VkVideoEncodeH265CtbSizeFlagBitsEXT"/> <type name="VkVideoEncodeH265CtbSizeFlagsEXT"/> <type name="VkVideoEncodeH265TransformBlockSizeFlagBitsEXT"/> <type name="VkVideoEncodeH265TransformBlockSizeFlagsEXT"/> <type name="VkVideoEncodeH265CapabilitiesEXT"/> + <type name="VkVideoEncodeH265SessionCreateInfoEXT"/> + <type name="VkVideoEncodeH265QualityLevelPropertiesEXT"/> <type name="VkVideoEncodeH265SessionParametersCreateInfoEXT"/> <type name="VkVideoEncodeH265SessionParametersAddInfoEXT"/> - <type name="VkVideoEncodeH265VclFrameInfoEXT"/> + <type name="VkVideoEncodeH265SessionParametersGetInfoEXT"/> + <type name="VkVideoEncodeH265SessionParametersFeedbackInfoEXT"/> + <type name="VkVideoEncodeH265PictureInfoEXT"/> <type name="VkVideoEncodeH265DpbSlotInfoEXT"/> <type name="VkVideoEncodeH265NaluSliceSegmentInfoEXT"/> <type name="VkVideoEncodeH265ProfileInfoEXT"/> <type name="VkVideoEncodeH265RateControlInfoEXT"/> - <type name="VkVideoEncodeH265RateControlStructureEXT"/> + <type name="VkVideoEncodeH265RateControlFlagBitsEXT"/> + <type name="VkVideoEncodeH265RateControlFlagsEXT"/> <type name="VkVideoEncodeH265RateControlLayerInfoEXT"/> <type name="VkVideoEncodeH265QpEXT"/> <type name="VkVideoEncodeH265FrameSizeEXT"/> + <type name="VkVideoEncodeH265GopRemainingFrameInfoEXT"/> </require> </extension> <extension name="VK_KHR_video_decode_h264" number="41" type="device" depends="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" supported="vulkan" ratified="vulkan"> @@ -19639,7 +19800,7 @@ typedef void* <name>MTLSharedEvent_id</name>; </extension> <extension name="VK_KHR_video_encode_queue" number="300" type="device" depends="VK_KHR_video_queue+VK_KHR_synchronization2" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan" ratified="vulkan"> <require> - <enum value="8" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/> + <enum value="9" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_encode_queue"" name="VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME"/> <!-- VkPipelineStageFlagBits bitpos="27" is reserved by this extension, but not used --> <enum bitpos="27" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" /> @@ -19651,9 +19812,14 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="10" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="6" extends="VkQueueFlagBits" name="VK_QUEUE_VIDEO_ENCODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="1" extends="VkVideoCodingControlFlagBitsKHR" name="VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> - <enum bitpos="2" extends="VkVideoCodingControlFlagBitsKHR" name="VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="2" extends="VkVideoCodingControlFlagBitsKHR" name="VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="15" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="16" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="13" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> @@ -19661,6 +19827,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum bitpos="15" extends="VkImageUsageFlagBits" name="VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="27" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="28" extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum bitpos="1" extends="VkVideoSessionCreateFlagBitsKHR" name="VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="0" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="2" extends="VkImageLayout" name="VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> @@ -19692,6 +19859,15 @@ typedef void* <name>MTLSharedEvent_id</name>; <type name="VkVideoEncodeRateControlInfoKHR"/> <type name="VkVideoEncodeRateControlLayerInfoKHR"/> + <type name="VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR"/> + <type name="VkVideoEncodeQualityLevelPropertiesKHR"/> + <type name="VkVideoEncodeQualityLevelInfoKHR"/> + + <type name="VkVideoEncodeSessionParametersGetInfoKHR"/> + <type name="VkVideoEncodeSessionParametersFeedbackInfoKHR"/> + + <command name="vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR"/> + <command name="vkGetEncodedVideoSessionParametersKHR"/> <command name="vkCmdEncodeVideoKHR"/> </require> <require depends="VK_KHR_format_feature_flags2"> @@ -22208,6 +22384,30 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_KHR_extension_532"" name="VK_KHR_EXTENSION_532_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_EXT_extension_533" number="533" author="EXT" contact="Daniel Koch @dgkoch" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_533_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_533"" name="VK_EXT_EXTENSION_533_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_KHR_extension_534" number="534" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="disabled"> + <require> + <enum value="0" name="VK_KHR_EXTENSION_534_SPEC_VERSION"/> + <enum value=""VK_KHR_extension_534"" name="VK_KHR_EXTENSION_534_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_KHR_extension_535" number="535" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="disabled"> + <require> + <enum value="0" name="VK_KHR_EXTENSION_535_SPEC_VERSION"/> + <enum value=""VK_KHR_extension_535"" name="VK_KHR_EXTENSION_535_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_QCOM_extension_536" number="536" type="device" author="QCOM" contact="Jeff Leger @jackohound" supported="disabled"> + <require> + <enum value="0" name="VK_QCOM_EXTENSION_536_SPEC_VERSION"/> + <enum value=""VK_QCOM_extension_536"" name="VK_QCOM_EXTENSION_536_EXTENSION_NAME"/> + </require> + </extension> </extensions> <formats> <format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8"> @@ -24293,4 +24493,339 @@ typedef void* <name>MTLSharedEvent_id</name>; <enable struct="VkPhysicalDeviceShaderTileImageFeaturesEXT" feature="shaderTileImageStencilReadAccess" requires="VK_EXT_shader_tile_image"/> </spirvcapability> </spirvcapabilities> + <sync comment="Machine readable representation of the synchronization objects and their mappings"> + <syncstage name="VK_PIPELINE_STAGE_2_NONE" alias="VK_PIPELINE_STAGE_NONE"> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT" alias="VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT"> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT" alias="VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT"> + <syncsupport queues="graphics,compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT" alias="VK_PIPELINE_STAGE_VERTEX_INPUT_BIT"> + <syncsupport queues="graphics"/> + <syncequivalent stage="VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT" alias="VK_PIPELINE_STAGE_VERTEX_SHADER_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT" alias="VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT" alias="VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT" alias="VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT" alias="VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT" alias="VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT" alias="VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT" alias="VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT" alias="VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT"> + <syncsupport queues="compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT" alias="VK_PIPELINE_STAGE_TRANSFER_BIT"> + <syncsupport queues="graphics,compute,transfer"/> + <syncequivalent stage="VK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_CLEAR_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT" alias="VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT"> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_HOST_BIT" alias="VK_PIPELINE_STAGE_HOST_BIT"> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT" alias="VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT"> + <syncsupport queues="graphics"/> + <syncequivalent stage="VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT,VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT,VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT,VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV,VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT,VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT" alias="VK_PIPELINE_STAGE_ALL_COMMANDS_BIT"> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_COPY_BIT"> + <syncsupport queues="graphics,compute,transfer"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_RESOLVE_BIT"> + <syncsupport queues="graphics,compute,transfer"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_BLIT_BIT"> + <syncsupport queues="graphics,compute,transfer"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_CLEAR_BIT"> + <syncsupport queues="graphics,compute,transfer"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT"> + <syncsupport queues="graphics"/> + <syncequivalent stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR"> + <syncsupport queues="decode"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR"> + <syncsupport queues="encode"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT" alias="VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT" alias="VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT"> + <syncsupport queues="graphics,compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV" alias="VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"> + <syncsupport queues="graphics,compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" alias="VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR" alias="VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"> + <syncsupport queues="compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR" alias="VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR"> + <syncsupport queues="compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT" alias="VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT" alias="VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT" alias="VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR"> + <syncsupport queues="graphics,compute,transfer"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"> + <syncsupport queues="compute"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"> + <syncsupport queues="graphics"/> + </syncstage> + <syncstage name="VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV"> + <syncsupport queues="opticalflow"/> + </syncstage> + <syncaccess name="VK_ACCESS_2_NONE" alias="VK_ACCESS_NONE"> + </syncaccess> + <syncaccess name="VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT" alias="VK_ACCESS_INDIRECT_COMMAND_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_INDEX_READ_BIT" alias="VK_ACCESS_INDEX_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT" alias="VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT,VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_UNIFORM_READ_BIT" alias="VK_ACCESS_UNIFORM_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT" alias="VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_SHADER_READ_BIT" alias="VK_ACCESS_SHADER_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + <syncequivalent access="VK_ACCESS_2_UNIFORM_READ_BIT,VK_ACCESS_2_SHADER_SAMPLED_READ_BIT,VK_ACCESS_2_SHADER_STORAGE_READ_BIT,VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_SHADER_WRITE_BIT" alias="VK_ACCESS_SHADER_WRITE_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + <syncequivalent access="VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT" alias="VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"> + <comment>Fragment shader stage is added by the VK_EXT_shader_tile_image extension</comment> + <syncsupport stage="VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT" alias="VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT" alias="VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"> + <comment>Fragment shader stage is added by the VK_EXT_shader_tile_image extension</comment> + <syncsupport stage="VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT" alias="VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT,VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_TRANSFER_READ_BIT" alias="VK_ACCESS_TRANSFER_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,VK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_TRANSFER_WRITE_BIT" alias="VK_ACCESS_TRANSFER_WRITE_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT,VK_PIPELINE_STAGE_2_COPY_BIT,VK_PIPELINE_STAGE_2_RESOLVE_BIT,VK_PIPELINE_STAGE_2_BLIT_BIT,VK_PIPELINE_STAGE_2_CLEAR_BIT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR,VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_HOST_READ_BIT" alias="VK_ACCESS_HOST_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_HOST_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_HOST_WRITE_BIT" alias="VK_ACCESS_HOST_WRITE_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_HOST_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_MEMORY_READ_BIT" alias="VK_ACCESS_MEMORY_READ_BIT"> + <comment>TODO/Suggestion. Introduce 'synclist' (could be a different name) element + that specifies the list of stages, accesses, etc. This list can be used by + 'syncaccess' or 'syncstage' elements. For example, 'syncsupport' in addition to the + 'stage' attribute can support 'list' attribute to reference 'synclist'. + We can have the lists defined for ALL stages and it can be shared between MEMORY_READ + and MEMORY_WRITE accesses. Similarly, ALL shader stages list is often used. This proposal + is a way to fix duplication problem. When new stage is added multiple places needs to be + updated. It is potential source of bugs. The expectation such setup will produce more + robust system and also more simple structure to review and validate. + </comment> + </syncaccess> + <syncaccess name="VK_ACCESS_2_MEMORY_WRITE_BIT" alias="VK_ACCESS_MEMORY_WRITE_BIT"> + </syncaccess> + <syncaccess name="VK_ACCESS_2_SHADER_SAMPLED_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_SHADER_STORAGE_READ_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT" alias="VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT" alias="VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT,VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT" alias="VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT" alias="VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV" alias="VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"> + <syncsupport stage="VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV" alias="VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"> + <syncsupport stage="VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR" alias="VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR" alias="VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR" alias="VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT" alias="VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT" alias="VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI"> + <syncsupport stage="VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR"> + <syncsupport stage="VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT,VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT,VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT,VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT,VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR,VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT,VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_MICROMAP_READ_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT,VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT"> + <syncsupport stage="VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV"> + <syncsupport stage="VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV"/> + </syncaccess> + <syncaccess name="VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV"> + <syncsupport stage="VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV"/> + </syncaccess> + <syncpipeline name="graphics primitive"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</syncpipelinestage> + <syncpipelinestage order="None" before="VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT">VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT</syncpipelinestage> + <syncpipelinestage order="None">VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</syncpipelinestage> + </syncpipeline> + <syncpipeline name="graphics mesh" depends="VK_NV_mesh_shader,VK_EXT_mesh_shader"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR</syncpipelinestage> + <syncpipelinestage order="None" before="VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT">VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT</syncpipelinestage> + <syncpipelinestage order="None">VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</syncpipelinestage> + </syncpipeline> + <syncpipeline name="compute"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT</syncpipelinestage> + <syncpipelinestage order="None">VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT</syncpipelinestage> + </syncpipeline> + <syncpipeline name="transfer"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_TRANSFER_BIT</syncpipelinestage> + </syncpipeline> + <syncpipeline name="host"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_HOST_BIT</syncpipelinestage> + </syncpipeline> + <syncpipeline name="subpass shading" depends="VK_HUAWEI_subpass_shading"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</syncpipelinestage> + </syncpipeline> + <syncpipeline name="command preprocessing" depends="VK_NV_device_generated_commands"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV</syncpipelinestage> + </syncpipeline> + <syncpipeline name="acceleration structure build" depends="VK_KHR_acceleration_structure,VK_NV_ray_tracing"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR</syncpipelinestage> + </syncpipeline> + <syncpipeline name="acceleration structure copy" depends="VK_KHR_acceleration_structure,VK_NV_ray_tracing"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR</syncpipelinestage> + </syncpipeline> + <syncpipeline name="opacity micromap" depends="VK_EXT_opacity_micromap"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT</syncpipelinestage> + </syncpipeline> + <syncpipeline name="ray tracing" depends="VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT</syncpipelinestage> + <syncpipelinestage>VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR</syncpipelinestage> + </syncpipeline> + <syncpipeline name="video decode" depends="VK_KHR_video_decode_queue"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR</syncpipelinestage> + </syncpipeline> + <syncpipeline name="video encode" depends="VK_KHR_video_encode_queue"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR</syncpipelinestage> + </syncpipeline> + <syncpipeline name="optical flow" depends="VK_NV_optical_flow"> + <syncpipelinestage>VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV</syncpipelinestage> + </syncpipeline> + </sync> </registry> |