Update for Vulkan-Docs 1.3.291

This commit is contained in:
Jon Leech 2024-07-19 02:34:48 -07:00 committed by Jon Leech
parent b379292b2a
commit fabe9e2672
16 changed files with 1263 additions and 422 deletions

View file

@ -334,15 +334,18 @@ class COutputGenerator(OutputGenerator):
else:
if self.genOpts is None:
raise MissingGeneratorOptionsError()
body = self.deprecationComment(typeElem)
# OpenXR: this section was not under 'else:' previously, just fell through
if alias:
# If the type is an alias, just emit a typedef declaration
body = 'typedef ' + alias + ' ' + name + ';\n'
body += 'typedef ' + alias + ' ' + name + ';\n'
else:
# Replace <apientry /> tags with an APIENTRY-style string
# (from self.genOpts). Copy other text through unchanged.
# If the resulting text is an empty string, do not emit it.
body = noneStr(typeElem.text)
body += noneStr(typeElem.text)
for elem in typeElem:
if elem.tag == 'apientry':
body += self.genOpts.apientry + noneStr(elem.tail)
@ -417,11 +420,11 @@ class COutputGenerator(OutputGenerator):
raise MissingGeneratorOptionsError()
typeElem = typeinfo.elem
body = self.deprecationComment(typeElem)
if alias:
body = 'typedef ' + alias + ' ' + typeName + ';\n'
body += 'typedef ' + alias + ' ' + typeName + ';\n'
else:
body = ''
(protect_begin, protect_end) = self.genProtectString(typeElem.get('protect'))
if protect_begin:
body += protect_begin
@ -442,6 +445,7 @@ class COutputGenerator(OutputGenerator):
targetLen = self.getMaxCParamTypeLength(typeinfo)
for member in typeElem.findall('.//member'):
body += self.deprecationComment(member, indent = 4)
body += self.makeCParamDecl(member, targetLen + 4)
body += ';\n'
body += '} ' + typeName + ';\n'
@ -486,7 +490,8 @@ class COutputGenerator(OutputGenerator):
OutputGenerator.genEnum(self, enuminfo, name, alias)
body = self.buildConstantCDecl(enuminfo, name, alias)
body = self.deprecationComment(enuminfo.elem)
body += self.buildConstantCDecl(enuminfo, name, alias)
self.appendSection('enum', body)
def genCmd(self, cmdinfo, name, alias):

View file

@ -562,6 +562,41 @@ class OutputGenerator:
def misracppstyle(self):
return False;
def deprecationComment(self, elem, indent = 0):
"""If an API element is marked deprecated, return a brief comment
describing why.
Otherwise, return an empty string.
- elem - Element of the API.
API name is determined depending on the element tag.
- indent - number of spaces to indent the comment"""
reason = elem.get('deprecated')
# This is almost always the path taken.
if reason == None:
return ''
# There is actually a deprecated attribute.
padding = indent * ' '
# Determine the API name.
if elem.tag == 'member' or elem.tag == 'param':
name = elem.find('.//name').text
else:
name = elem.get('name')
if reason == 'aliased':
return f'{padding}// {name} is a deprecated alias\n'
elif reason == 'ignored':
return f'{padding}// {name} is deprecated and should not be used\n'
elif reason == 'true':
return f'{padding}// {name} is deprecated, but no reason was given in the API XML\n'
else:
# This can be caught by schema validation
self.logMsg('error', f"{name} has an unknown deprecation attribute value '{reason}'")
exit(1)
def buildEnumCDecl(self, expand, groupinfo, groupName):
"""Generate the C declaration for an enum"""
if self.genOpts is None:
@ -664,6 +699,8 @@ class OutputGenerator:
if protect is not None:
body += '#ifdef {}\n'.format(protect)
body += self.deprecationComment(elem, indent = 0)
if usedefine:
decl += "#define {} {}\n".format(name, strVal)
elif self.misracppstyle():
@ -757,11 +794,9 @@ class OutputGenerator:
if protect is not None:
decl += '#ifdef {}\n'.format(protect)
# Indent requirements comment, if there is one
requirements = self.genRequirements(name, mustBeFound = False)
if requirements != '':
requirements = ' ' + requirements
decl += requirements
decl += self.genRequirements(name, mustBeFound = False, indent = 2)
decl += self.deprecationComment(elem, indent = 2)
decl += ' {} = {},'.format(name, strVal)
if protect is not None:
@ -944,7 +979,7 @@ class OutputGenerator:
self.featureName = None
self.featureExtraProtect = None
def genRequirements(self, name, mustBeFound = True):
def genRequirements(self, name, mustBeFound = True, indent = 0):
"""Generate text showing what core versions and extensions introduce
an API. This exists in the base Generator class because it is used by
the shared enumerant-generating interfaces (buildEnumCDecl, etc.).

File diff suppressed because one or more lines are too long

View file

@ -55,7 +55,7 @@ branch of the member gitlab server.
<tag name="FUCHSIA" author="Google LLC" contact="Craig Stout @cdotstout, Jesse Hall @critsec, John Rosasco @rosasco"/>
<tag name="GGP" author="Google, LLC" contact="Jean-Francois Roy @jfroy, Hai Nguyen @chaoticbob, Jesse Hall @critsec"/>
<tag name="GOOGLE" author="Google LLC" contact="Jesse Hall @critsec"/>
<tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Jeff Leger @jackohounhd"/>
<tag name="QCOM" author="Qualcomm Technologies, Inc." contact="Matthew Netsch @mnetsch"/>
<tag name="LUNARG" author="LunarG, Inc." contact="Karen Ghavam @karenghavam-lunarg"/>
<tag name="NZXT" author="NZXT Inc." contact="Jacob Kiesel @xaeroxe"/>
<tag name="SAMSUNG" author="Samsung Electronics Co., Ltd." contact="Alon Or-bach @alonorbach"/>
@ -175,7 +175,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> 290</type>
#define <name>VK_HEADER_VERSION</name> 291</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
@ -784,6 +784,8 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkMemoryDecompressionMethodFlagBitsNV" category="enum"/>
<type name="VkDepthBiasRepresentationEXT" category="enum"/>
<type name="VkDirectDriverLoadingModeLUNARG" category="enum"/>
<type name="VkAntiLagModeAMD" category="enum"/>
<type name="VkAntiLagStageAMD" category="enum"/>
<type name="VkPipelineCreateFlagBits2KHR" category="enum"/>
<type name="VkBufferUsageFlagBits2KHR" category="enum"/>
<type name="VkDisplacementMicromapFormatNV" category="enum"/>
@ -6701,12 +6703,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoFormatPropertiesKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkFormat</type> <name>format</name></member>
<member><type>VkComponentMapping</type> <name>componentMapping</name></member>
<member><type>VkImageCreateFlags</type> <name>imageCreateFlags</name></member>
<member><type>VkImageType</type> <name>imageType</name></member>
<member><type>VkImageTiling</type> <name>imageTiling</name></member>
<member><type>VkImageUsageFlags</type> <name>imageUsageFlags</name></member>
<member limittype="exact"><type>VkFormat</type> <name>format</name></member>
<member limittype="exact"><type>VkComponentMapping</type> <name>componentMapping</name></member>
<member limittype="bitmask"><type>VkImageCreateFlags</type> <name>imageCreateFlags</name></member>
<member limittype="exact"><type>VkImageType</type> <name>imageType</name></member>
<member limittype="exact"><type>VkImageTiling</type> <name>imageTiling</name></member>
<member limittype="bitmask"><type>VkImageUsageFlags</type> <name>imageUsageFlags</name></member>
</type>
<type category="struct" name="VkVideoProfileInfoKHR" structextends="VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -6718,16 +6720,16 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkVideoCapabilitiesKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkVideoCapabilityFlagsKHR</type> <name>flags</name></member>
<member><type>VkDeviceSize</type> <name>minBitstreamBufferOffsetAlignment</name></member>
<member><type>VkDeviceSize</type> <name>minBitstreamBufferSizeAlignment</name></member>
<member><type>VkExtent2D</type> <name>pictureAccessGranularity</name></member>
<member><type>VkExtent2D</type> <name>minCodedExtent</name></member>
<member><type>VkExtent2D</type> <name>maxCodedExtent</name></member>
<member><type>uint32_t</type> <name>maxDpbSlots</name></member>
<member><type>uint32_t</type> <name>maxActiveReferencePictures</name></member>
<member><type>VkExtensionProperties</type> <name>stdHeaderVersion</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member limittype="bitmask"><type>VkVideoCapabilityFlagsKHR</type> <name>flags</name></member>
<member limittype="min,pot"><type>VkDeviceSize</type> <name>minBitstreamBufferOffsetAlignment</name></member>
<member limittype="min,pot"><type>VkDeviceSize</type> <name>minBitstreamBufferSizeAlignment</name></member>
<member limittype="min"><type>VkExtent2D</type> <name>pictureAccessGranularity</name></member>
<member limittype="min"><type>VkExtent2D</type> <name>minCodedExtent</name></member>
<member limittype="max"><type>VkExtent2D</type> <name>maxCodedExtent</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxDpbSlots</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxActiveReferencePictures</name></member>
<member limittype="noauto"><type>VkExtensionProperties</type> <name>stdHeaderVersion</name></member>
</type>
<type category="struct" name="VkVideoSessionMemoryRequirementsKHR" returnedonly="true">
<member values="VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -6760,7 +6762,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoDecodeCapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member noautovalidity="true"><type>VkVideoDecodeCapabilityFlagsKHR</type> <name>flags</name></member>
<member limittype="bitmask" noautovalidity="true"><type>VkVideoDecodeCapabilityFlagsKHR</type> <name>flags</name></member>
</type>
<type category="struct" name="VkVideoDecodeUsageInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -6795,27 +6797,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="include" name="vk_video/vulkan_video_codec_h264std.h">#include "vk_video/vulkan_video_codec_h264std.h"</type>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ProfileIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264LevelIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ChromaFormatIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PocType"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SpsFlags"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ScalingLists"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSetVui"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264AspectRatioIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264HrdParameters"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SpsVuiFlags"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264WeightedBipredIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PpsFlags"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SliceType"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264CabacInitIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264DisableDeblockingFilterIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PictureType"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264ModificationOfPicNumsIdc"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264MemMgmtControlOp"/>
<type category="include" name="vk_video/vulkan_video_codec_h264std_decode.h">#include "vk_video/vulkan_video_codec_h264std_decode.h"</type>
<type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264ReferenceInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264PictureInfoFlags"/>
<type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264ReferenceInfoFlags"/>
<type category="struct" name="VkVideoDecodeH264ProfileInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@ -6824,9 +6808,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
</type>
<type category="struct" name="VkVideoDecodeH264CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
<member><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member limittype="max"><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
<member limittype="noauto"><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member>
</type>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264PictureParameterSet"/>
@ -6862,25 +6846,10 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265VideoParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SequenceParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PictureParameterSet"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265DecPicBufMgr"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265HrdParameters"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265VpsFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265LevelIdc"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SpsFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265ScalingLists"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SequenceParameterSetVui"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PredictorPaletteEntries"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PpsFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SubLayerHrdParameters"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265HrdFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SpsVuiFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265SliceType"/>
<type requires="vk_video/vulkan_video_codec_h265std.h" name="StdVideoH265PictureType"/>
<type category="include" name="vk_video/vulkan_video_codec_h265std_decode.h">#include "vk_video/vulkan_video_codec_h265std_decode.h"</type>
<type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfo"/>
<type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265PictureInfoFlags"/>
<type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfoFlags"/>
<type category="struct" name="VkVideoDecodeH265ProfileInfoKHR" structextends="VkVideoProfileInfoKHR,VkQueryPoolCreateInfo">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@ -6889,7 +6858,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoDecodeH265CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
<member limittype="max"><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
</type>
<type category="struct" name="VkVideoDecodeH265SessionParametersAddInfoKHR" structextends="VkVideoSessionParametersUpdateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -6937,7 +6906,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoDecodeAV1CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>StdVideoAV1Level</type> <name>maxLevel</name></member>
<member limittype="max"><type>StdVideoAV1Level</type> <name>maxLevel</name></member>
</type>
<type category="struct" name="VkVideoDecodeAV1SessionParametersCreateInfoKHR" structextends="VkVideoSessionParametersCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -7076,30 +7045,30 @@ typedef void* <name>MTLSharedEvent_id</name>;
<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>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<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>encodeInputPictureGranularity</name></member>
<member><type>VkVideoEncodeFeedbackFlagsKHR</type> <name>supportedEncodeFeedbackFlags</name></member>
<member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeCapabilityFlagsKHR</type> <name>flags</name></member>
<member limittype="bitmask"><type>VkVideoEncodeRateControlModeFlagsKHR</type> <name>rateControlModes</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxRateControlLayers</name></member>
<member limittype="max"><type>uint64_t</type> <name>maxBitrate</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxQualityLevels</name></member>
<member limittype="min"><type>VkExtent2D</type> <name>encodeInputPictureGranularity</name></member>
<member limittype="bitmask"><type>VkVideoEncodeFeedbackFlagsKHR</type> <name>supportedEncodeFeedbackFlags</name></member>
</type>
<type category="struct" name="VkVideoEncodeH264CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsKHR</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>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>VkVideoEncodeH264StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
<member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsKHR</type> <name>flags</name></member>
<member limittype="max"><type>StdVideoH264LevelIdc</type> <name>maxLevelIdc</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxSliceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxL1ReferenceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxTemporalLayerCount</name></member>
<member limittype="not"><type>VkBool32</type> <name>expectDyadicTemporalLayerPattern</name></member>
<member limittype="min"><type>int32_t</type> <name>minQp</name></member>
<member limittype="max"><type>int32_t</type> <name>maxQp</name></member>
<member limittype="not"><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member>
<member limittype="not"><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member>
<member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH264StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
</type>
<type category="struct" name="VkVideoEncodeH264QualityLevelPropertiesKHR" returnedonly="true" structextends="VkVideoEncodeQualityLevelPropertiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -7118,13 +7087,6 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264SliceHeader"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264ReferenceInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264SliceHeaderFlags"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264ReferenceListsInfo"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264PictureInfoFlags"/>
<type requires="vk_video/vulkan_video_codec_h264std_encode.h" name="StdVideoEncodeH264ReferenceInfoFlags"/>
<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="VkVideoEncodeH264SessionCreateInfoKHR" structextends="VkVideoSessionCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@ -7224,22 +7186,22 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type category="struct" name="VkVideoEncodeH265CapabilitiesKHR" returnedonly="true" structextends="VkVideoCapabilitiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
<member noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsKHR</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>VkVideoEncodeH265CtbSizeFlagsKHR</type> <name>ctbSizes</name></member>
<member><type>VkVideoEncodeH265TransformBlockSizeFlagsKHR</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>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>VkVideoEncodeH265StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
<member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsKHR</type> <name>flags</name></member>
<member limittype="max"><type>StdVideoH265LevelIdc</type> <name>maxLevelIdc</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxSliceSegmentCount</name></member>
<member limittype="max"><type>VkExtent2D</type> <name>maxTiles</name></member>
<member limittype="bitmask"><type>VkVideoEncodeH265CtbSizeFlagsKHR</type> <name>ctbSizes</name></member>
<member limittype="bitmask"><type>VkVideoEncodeH265TransformBlockSizeFlagsKHR</type> <name>transformBlockSizes</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxPPictureL0ReferenceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxBPictureL0ReferenceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxL1ReferenceCount</name></member>
<member limittype="max"><type>uint32_t</type> <name>maxSubLayerCount</name></member>
<member limittype="not"><type>VkBool32</type> <name>expectDyadicTemporalSubLayerPattern</name></member>
<member limittype="min"><type>int32_t</type> <name>minQp</name></member>
<member limittype="max"><type>int32_t</type> <name>maxQp</name></member>
<member limittype="not"><type>VkBool32</type> <name>prefersGopRemainingFrames</name></member>
<member limittype="not"><type>VkBool32</type> <name>requiresGopRemainingFrames</name></member>
<member limittype="bitmask" noautovalidity="true"><type>VkVideoEncodeH265StdFlagsKHR</type> <name>stdSyntaxFlags</name></member>
</type>
<type category="struct" name="VkVideoEncodeH265QualityLevelPropertiesKHR" returnedonly="true" structextends="VkVideoEncodeQualityLevelPropertiesKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
@ -7254,14 +7216,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<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"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265PictureInfo"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265SliceSegmentHeader"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceInfo"/>
<type requires="vk_video/vulkan_video_codec_h265std_encode.h" name="StdVideoEncodeH265ReferenceListsInfo"/>
<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="VkVideoEncodeH265SessionCreateInfoKHR" structextends="VkVideoSessionCreateInfoKHR">
<member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@ -8831,6 +8788,24 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member noautovalidity="true"><type>VkDeviceOrHostAddressConstAMDX</type> <name>infos</name></member>
<member><type>uint64_t</type> <name>stride</name></member>
</type>
<type category="struct" name="VkPhysicalDeviceAntiLagFeaturesAMD" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkBool32</type> <name>antiLag</name></member>
</type>
<type category="struct" name="VkAntiLagDataAMD">
<member values="VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true">const <type>void</type>* <name>pNext</name></member>
<member><type>VkAntiLagModeAMD</type> <name>mode</name></member>
<member><type>uint32_t</type> <name>maxFPS</name></member>
<member optional="true">const <type>VkAntiLagPresentationInfoAMD</type>* <name>pPresentationInfo</name></member>
</type>
<type category="struct" name="VkAntiLagPresentationInfoAMD">
<member values="VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD"><type>VkStructureType</type> <name>sType</name></member>
<member noautovalidity="true" optional="true"><type>void</type>* <name>pNext</name></member>
<member><type>VkAntiLagStageAMD</type> <name>stage</name></member>
<member><type>uint64_t</type> <name>frameIndex</name></member>
</type>
<type category="struct" name="VkBindMemoryStatusKHR" structextends="VkBindBufferMemoryInfo,VkBindImageMemoryInfo">
<member values="VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true">const <type>void</type>* <name>pNext</name></member>
@ -9774,6 +9749,15 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="0" name="VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG"/>
<enum value="1" name="VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG"/>
</enums>
<enums name="VkAntiLagModeAMD" type="enum">
<enum value="0" name="VK_ANTI_LAG_MODE_DRIVER_CONTROL_AMD"/>
<enum value="1" name="VK_ANTI_LAG_MODE_ON_AMD"/>
<enum value="2" name="VK_ANTI_LAG_MODE_OFF_AMD"/>
</enums>
<enums name="VkAntiLagStageAMD" type="enum">
<enum value="0" name="VK_ANTI_LAG_STAGE_INPUT_AMD"/>
<enum value="1" name="VK_ANTI_LAG_STAGE_PRESENT_AMD"/>
</enums>
<comment>Flags</comment>
<enums name="VkQueueFlagBits" type="bitmask">
@ -14274,6 +14258,11 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkPipelineIndirectDeviceAddressInfoNV</type>* <name>pInfo</name></param>
</command>
<command>
<proto><type>void</type> <name>vkAntiLagUpdateAMD</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkAntiLagDataAMD</type>* <name>pData</name></param>
</command>
<command queues="graphics" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
<proto><type>void</type> <name>vkCmdSetCullMode</name></proto>
<param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
@ -18248,7 +18237,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetRandROutputDisplayEXT"/>
</require>
</extension>
<extension name="VK_EXT_display_surface_counter" number="91" type="instance" depends="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc">
<extension name="VK_EXT_display_surface_counter" number="91" type="instance" depends="VK_KHR_display" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_display_surface_counter&quot;" name="VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME"/>
@ -18260,7 +18249,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetPhysicalDeviceSurfaceCapabilities2EXT"/>
</require>
</extension>
<extension name="VK_EXT_display_control" number="92" type="device" depends="VK_EXT_display_surface_counter+VK_KHR_swapchain" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc">
<extension name="VK_EXT_display_control" number="92" type="device" depends="VK_EXT_display_surface_counter+VK_KHR_swapchain" author="NV" contact="James Jones @cubanismo" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_DISPLAY_CONTROL_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_display_control&quot;" name="VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME"/>
@ -18982,7 +18971,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkImageFormatListCreateInfoKHR"/>
</require>
</extension>
<extension name="VK_EXT_blend_operation_advanced" number="149" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc">
<extension name="VK_EXT_blend_operation_advanced" number="149" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="NV" contact="Jeff Bolz @jeffbolznv" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="2" name="VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_blend_operation_advanced&quot;" name="VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME"/>
@ -19228,7 +19217,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkPhysicalDeviceShaderSMBuiltinsFeaturesNV"/>
</require>
</extension>
<extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan,vulkansc">
<extension name="VK_EXT_post_depth_coverage" number="156" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="1" name="VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_post_depth_coverage&quot;" name="VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME"/>
@ -19330,7 +19319,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkBindImageMemoryInfoKHR"/>
</require>
</extension>
<extension name="VK_EXT_image_drm_format_modifier" number="159" type="device" depends="(((VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_sampler_ycbcr_conversion),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2" author="EXT" contact="Lina Versace @versalinyaa" supported="vulkan,vulkansc">
<extension name="VK_EXT_image_drm_format_modifier" number="159" type="device" depends="(((VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_sampler_ycbcr_conversion),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2" author="EXT" contact="Lina Versace @versalinyaa" supported="vulkan,vulkansc" ratified="vulkan">
<require>
<enum value="2" name="VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_image_drm_format_modifier&quot;" name="VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME"/>
@ -19452,7 +19441,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdSetCoarseSampleOrderNV"/>
</require>
</extension>
<extension name="VK_NV_ray_tracing" number="166" type="device" depends="(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan">
<extension name="VK_NV_ray_tracing" number="166" type="device" depends="(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1" author="NV" contact="Eric Werness @ewerness-nv" supported="vulkan" deprecatedby="VK_KHR_ray_tracing_pipeline">
<require>
<enum value="3" name="VK_NV_RAY_TRACING_SPEC_VERSION"/>
<enum value="&quot;VK_NV_ray_tracing&quot;" name="VK_NV_RAY_TRACING_EXTENSION_NAME"/>
@ -20567,7 +20556,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkGetDeviceMemoryOpaqueCaptureAddressKHR"/>
</require>
</extension>
<extension name="VK_EXT_extension_259" number="259" author="EXT" contact="Jeff Leger @jackohound" supported="disabled">
<extension name="VK_EXT_extension_259" number="259" author="EXT" contact="Matthew Netsch @mnetsch" supported="disabled">
<require>
<enum value="0" name="VK_EXT_EXTENSION_259_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_extension_259&quot;" name="VK_EXT_EXTENSION_259_EXTENSION_NAME"/>
@ -20943,7 +20932,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<command name="vkCmdSetDepthBias2EXT"/>
</require>
</extension>
<extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan">
<extension name="VK_EXT_device_memory_report" number="285" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" author="EXT" contact="Yiwei Zhang @zhangyiwei" specialuse="devtools" supported="vulkan" ratified="vulkan">
<require>
<enum value="2" name="VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_device_memory_report&quot;" name="VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME"/>
@ -21743,7 +21732,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"/>
</require>
</extension>
<extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" contact="Jeff Leger @jackohound" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3" ratified="vulkan,vulkansc">
<extension name="VK_KHR_copy_commands2" number="338" author="KHR" type="device" depends="VK_KHR_get_physical_device_properties2,VK_VERSION_1_1" contact="Matthew Netsch @mnetsch" supported="vulkan,vulkansc" promotedto="VK_VERSION_1_3" ratified="vulkan,vulkansc">
<require>
<enum value="1" name="VK_KHR_COPY_COMMANDS_2_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_copy_commands2&quot;" name="VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME"/>
@ -23453,10 +23442,19 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_476&quot;" name="VK_AMD_EXTENSION_476_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_AMD_extension_477" number="477" author="AMD" contact="Stu Smith" supported="disabled">
<extension name="VK_AMD_anti_lag" number="477" type="device" author="AMD" contact="Stu Smith" supported="vulkan">
<require>
<enum value="0" name="VK_AMD_EXTENSION_477_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_extension_477&quot;" name="VK_AMD_EXTENSION_477_EXTENSION_NAME"/>
<enum value="1" name="VK_AMD_ANTI_LAG_SPEC_VERSION"/>
<enum value="&quot;VK_AMD_anti_lag&quot;" name="VK_AMD_ANTI_LAG_EXTENSION_NAME"/>
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD"/>
<enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD"/>
<enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD"/>
<type name="VkPhysicalDeviceAntiLagFeaturesAMD"/>
<type name="VkAntiLagDataAMD"/>
<type name="VkAntiLagPresentationInfoAMD"/>
<type name="VkAntiLagModeAMD"/>
<type name="VkAntiLagStageAMD"/>
<command name="vkAntiLagUpdateAMD"/>
</require>
</extension>
<extension name="VK_AMD_extension_478" number="478" author="AMD" contact="Stu Smith" supported="disabled">
@ -27145,4 +27143,86 @@ typedef void* <name>MTLSharedEvent_id</name>;
<syncpipelinestage>VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV</syncpipelinestage>
</syncpipeline>
</sync>
<videocodecs>
<videocodec name="Decode">
<videocapabilities struct="VkVideoDecodeCapabilitiesKHR"/>
<videoformat name="Decode Output (Coincide)" usage="VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR+VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR">
<videorequirecapabilities struct="VkVideoDecodeCapabilitiesKHR" member="flags" value="VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR"/>
</videoformat>
<videoformat name="Decode Output (Distinct)" usage="VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR">
<videorequirecapabilities struct="VkVideoDecodeCapabilitiesKHR" member="flags" value="VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR"/>
</videoformat>
<videoformat name="DPB" usage="VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR"/>
</videocodec>
<videocodec name="Encode">
<videocapabilities struct="VkVideoEncodeCapabilitiesKHR"/>
<videoformat name="Encode Input" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"/>
<videoformat name="DPB" usage="VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"/>
</videocodec>
<videocodec name="H.264 Decode" extend="Decode" value="VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR">
<videoprofiles struct="VkVideoDecodeH264ProfileInfoKHR">
<videoprofilemember name="stdProfileIdc">
<videoprofile name="Baseline" value="STD_VIDEO_H264_PROFILE_IDC_BASELINE"/>
<videoprofile name="Main" value="STD_VIDEO_H264_PROFILE_IDC_MAIN"/>
<videoprofile name="High" value="STD_VIDEO_H264_PROFILE_IDC_HIGH"/>
<videoprofile name="High 4:4:4 Predictive" value="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"/>
</videoprofilemember>
<videoprofilemember name="pictureLayout">
<videoprofile name="progressive" value="VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR"/>
<videoprofile name="interlaced (interleaved lines)" value="VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR"/>
<videoprofile name="interlaced (separate planes)" value="VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR"/>
</videoprofilemember>
</videoprofiles>
<videocapabilities struct="VkVideoDecodeH264CapabilitiesKHR"/>
</videocodec>
<videocodec name="H.265 Decode" extend="Decode" value="VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR">
<videoprofiles struct="VkVideoDecodeH265ProfileInfoKHR">
<videoprofilemember name="stdProfileIdc">
<videoprofile name="Main" value="STD_VIDEO_H265_PROFILE_IDC_MAIN"/>
<videoprofile name="Main 10" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_10"/>
<videoprofile name="Main Still Picture" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"/>
<videoprofile name="Format range extensions" value="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"/>
<videoprofile name="Screen content coding extensions" value="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"/>
</videoprofilemember>
</videoprofiles>
<videocapabilities struct="VkVideoDecodeH265CapabilitiesKHR"/>
</videocodec>
<videocodec name="AV1 Decode" extend="Decode" value="VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR">
<videoprofiles struct="VkVideoDecodeAV1ProfileInfoKHR">
<videoprofilemember name="stdProfile">
<videoprofile name="Main" value="STD_VIDEO_AV1_PROFILE_MAIN"/>
<videoprofile name="High" value="STD_VIDEO_AV1_PROFILE_HIGH"/>
<videoprofile name="Professional" value="STD_VIDEO_AV1_PROFILE_PROFESSIONAL"/>
</videoprofilemember>
<videoprofilemember name="filmGrainSupport">
<videoprofile name="with film grain support" value="VK_TRUE"/>
<videoprofile name="without film grain support" value="VK_TRUE"/>
</videoprofilemember>
</videoprofiles>
<videocapabilities struct="VkVideoDecodeAV1CapabilitiesKHR"/>
</videocodec>
<videocodec name="H.264 Encode" extend="Encode" value="VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR">
<videoprofiles struct="VkVideoEncodeH264ProfileInfoKHR">
<videoprofilemember name="stdProfileIdc">
<videoprofile name="Baseline" value="STD_VIDEO_H264_PROFILE_IDC_BASELINE"/>
<videoprofile name="Main" value="STD_VIDEO_H264_PROFILE_IDC_MAIN"/>
<videoprofile name="High" value="STD_VIDEO_H264_PROFILE_IDC_HIGH"/>
<videoprofile name="High 4:4:4 Predictive" value="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE"/>
</videoprofilemember>
</videoprofiles>
<videocapabilities struct="VkVideoEncodeH264CapabilitiesKHR"/>
</videocodec>
<videocodec name="H.265 Encode" extend="Encode" value="VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR">
<videoprofiles struct="VkVideoEncodeH265ProfileInfoKHR">
<videoprofilemember name="stdProfileIdc">
<videoprofile name="Main" value="STD_VIDEO_H265_PROFILE_IDC_MAIN"/>
<videoprofile name="Main 10" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_10"/>
<videoprofile name="Main Still Picture" value="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE"/>
<videoprofile name="Format range extensions" value="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS"/>
<videoprofile name="Screen content coding extensions" value="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS"/>
</videoprofilemember>
</videoprofiles>
<videocapabilities struct="VkVideoEncodeH265CapabilitiesKHR"/>
</videocodec>
</videocodecs>
</registry>