From 6c0bc7eb07779b1fa56810aaa2a749fb55bddff0 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Sun, 13 Mar 2022 19:02:34 +0100 Subject: [PATCH] vk: Update xml and headers to 1.3.207. Acked-by: Samuel Pitoiset Part-of: --- include/vulkan/vulkan_beta.h | 256 +++++++++++++++++++--------- include/vulkan/vulkan_core.h | 66 ++++++-- src/vulkan/registry/vk.xml | 390 ++++++++++++++++++++++++++++++++----------- 3 files changed, 523 insertions(+), 189 deletions(-) diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index 7fa0d06..f5f9086 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -313,15 +313,29 @@ VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( #define VK_KHR_video_decode_queue 1 -#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 2 +#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 3 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" +typedef enum VkVideoDecodeCapabilityFlagBitsKHR { + VK_VIDEO_DECODE_CAPABILITY_DEFAULT_KHR = 0, + VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, + VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, + VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkVideoDecodeCapabilityFlagBitsKHR; +typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; + typedef enum VkVideoDecodeFlagBitsKHR { VK_VIDEO_DECODE_DEFAULT_KHR = 0, VK_VIDEO_DECODE_RESERVED_0_BIT_KHR = 0x00000001, VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF } VkVideoDecodeFlagBitsKHR; typedef VkFlags VkVideoDecodeFlagsKHR; +typedef struct VkVideoDecodeCapabilitiesKHR { + VkStructureType sType; + void* pNext; + VkVideoDecodeCapabilityFlagsKHR flags; +} VkVideoDecodeCapabilitiesKHR; + typedef struct VkVideoDecodeInfoKHR { VkStructureType sType; const void* pNext; @@ -378,7 +392,7 @@ typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR { #define VK_KHR_video_encode_queue 1 -#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 3 +#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 4 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" typedef enum VkVideoEncodeFlagBitsKHR { @@ -388,12 +402,12 @@ typedef enum VkVideoEncodeFlagBitsKHR { } VkVideoEncodeFlagBitsKHR; typedef VkFlags VkVideoEncodeFlagsKHR; -typedef enum VkVideoEncodeRateControlFlagBitsKHR { - VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR = 0, - VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR = 0x00000001, - VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF -} VkVideoEncodeRateControlFlagBitsKHR; -typedef VkFlags VkVideoEncodeRateControlFlagsKHR; +typedef enum VkVideoEncodeCapabilityFlagBitsKHR { + VK_VIDEO_ENCODE_CAPABILITY_DEFAULT_KHR = 0, + VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, + VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkVideoEncodeCapabilityFlagBitsKHR; +typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 0, @@ -402,6 +416,13 @@ typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF } VkVideoEncodeRateControlModeFlagBitsKHR; typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; + +typedef enum VkVideoEncodeRateControlFlagBitsKHR { + VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR = 0, + VK_VIDEO_ENCODE_RATE_CONTROL_RESERVED_0_BIT_KHR = 0x00000001, + VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF +} VkVideoEncodeRateControlFlagBitsKHR; +typedef VkFlags VkVideoEncodeRateControlFlagsKHR; typedef struct VkVideoEncodeInfoKHR { VkStructureType sType; const void* pNext; @@ -418,6 +439,16 @@ typedef struct VkVideoEncodeInfoKHR { uint32_t precedingExternallyEncodedBytes; } VkVideoEncodeInfoKHR; +typedef struct VkVideoEncodeCapabilitiesKHR { + VkStructureType sType; + const void* pNext; + VkVideoEncodeCapabilityFlagsKHR flags; + VkVideoEncodeRateControlModeFlagsKHR rateControlModes; + uint8_t rateControlLayerCount; + uint8_t qualityLevelCount; + VkExtent2D inputImageDataFillAlignment; +} VkVideoEncodeCapabilitiesKHR; + typedef struct VkVideoEncodeRateControlLayerInfoKHR { VkStructureType sType; const void* pNext; @@ -450,21 +481,33 @@ VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( #define VK_EXT_video_encode_h264 1 #include "vk_video/vulkan_video_codec_h264std.h" #include "vk_video/vulkan_video_codec_h264std_encode.h" -#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 3 +#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 5 #define VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_EXT_video_encode_h264" typedef enum VkVideoEncodeH264CapabilityFlagBitsEXT { - VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0x00000001, - VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0x00000002, - VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT = 0x00000004, - VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0x00000008, - VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0x00000010, - VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0x00000020, - VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0x00000040, - VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0x00000080, - VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00000100, - VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00000200, - VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT = 0x00000400, + VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT = 0x00000008, + VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 0x00000010, + VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0x00000020, + VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0x00000040, + VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT = 0x00000080, + VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0x00000100, + VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT = 0x00000200, + VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT = 0x00000400, + VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0x00000800, + VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0x00001000, + VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0x00002000, + VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0x00004000, + VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0x00008000, + VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0x00010000, + VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00020000, + VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT = 0x00040000, + VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00080000, + VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT = 0x00100000, + VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT = 0x00200000, + VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0x00400000, VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkVideoEncodeH264CapabilityFlagBitsEXT; typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; @@ -505,13 +548,14 @@ typedef struct VkVideoEncodeH264CapabilitiesEXT { VkVideoEncodeH264CapabilityFlagsEXT flags; VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; - VkExtent2D minPictureSizeInMbs; - VkExtent2D maxPictureSizeInMbs; - VkExtent2D inputImageDataAlignment; - uint8_t maxNumL0ReferenceForP; - uint8_t maxNumL0ReferenceForB; - uint8_t maxNumL1Reference; - uint8_t qualityLevelCount; + uint8_t maxPPictureL0ReferenceCount; + uint8_t maxBPictureL0ReferenceCount; + uint8_t maxL1ReferenceCount; + VkBool32 motionVectorsOverPicBoundariesFlag; + uint32_t maxBytesPerPicDenom; + uint32_t maxBitsPerMbDenom; + uint32_t log2MaxMvLengthHorizontal; + uint32_t log2MaxMvLengthVertical; VkExtensionProperties stdExtensionVersion; } VkVideoEncodeH264CapabilitiesEXT; @@ -541,33 +585,37 @@ typedef struct VkVideoEncodeH264SessionParametersCreateInfoEXT { } VkVideoEncodeH264SessionParametersCreateInfoEXT; typedef struct VkVideoEncodeH264DpbSlotInfoEXT { - VkStructureType sType; - const void* pNext; - int8_t slotIndex; - const StdVideoEncodeH264PictureInfo* pStdPictureInfo; + VkStructureType sType; + const void* pNext; + int8_t slotIndex; + const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; } VkVideoEncodeH264DpbSlotInfoEXT; +typedef struct VkVideoEncodeH264ReferenceListsEXT { + VkStructureType sType; + const void* pNext; + uint8_t referenceList0EntryCount; + const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries; + uint8_t referenceList1EntryCount; + const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries; + const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations; +} VkVideoEncodeH264ReferenceListsEXT; + typedef struct VkVideoEncodeH264NaluSliceEXT { - VkStructureType sType; - const void* pNext; - const StdVideoEncodeH264SliceHeader* pSliceHeaderStd; - uint32_t mbCount; - uint8_t refFinalList0EntryCount; - const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries; - uint8_t refFinalList1EntryCount; - const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries; + VkStructureType sType; + const void* pNext; + uint32_t mbCount; + const VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists; + const StdVideoEncodeH264SliceHeader* pSliceHeaderStd; } VkVideoEncodeH264NaluSliceEXT; typedef struct VkVideoEncodeH264VclFrameInfoEXT { - VkStructureType sType; - const void* pNext; - uint8_t refDefaultFinalList0EntryCount; - const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries; - uint8_t refDefaultFinalList1EntryCount; - const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries; - uint32_t naluSliceEntryCount; - const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries; - const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo; + VkStructureType sType; + const void* pNext; + const VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists; + uint32_t naluSliceEntryCount; + const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries; + const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo; } VkVideoEncodeH264VclFrameInfoEXT; typedef struct VkVideoEncodeH264EmitPictureParametersEXT { @@ -626,13 +674,41 @@ typedef struct VkVideoEncodeH264RateControlLayerInfoEXT { #define VK_EXT_video_encode_h265 1 #include "vk_video/vulkan_video_codec_h265std.h" #include "vk_video/vulkan_video_codec_h265std_encode.h" -#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 3 +#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 5 #define VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_EXT_video_encode_h265" + +typedef enum VkVideoEncodeH265CapabilityFlagBitsEXT { + VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT = 0x00000008, + VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT = 0x00000010, + VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 0x00000020, + VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT = 0x00000040, + VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT = 0x00000080, + VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT = 0x00000100, + VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT = 0x00000200, + VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT = 0x00000400, + VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0x00000800, + VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT = 0x00001000, + VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0x00002000, + VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT = 0x00004000, + VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT = 0x00008000, + VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT = 0x00010000, + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT = 0x00020000, + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT = 0x00040000, + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT = 0x00080000, + VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT = 0x00100000, + VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT = 0x00200000, + VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT = 0x00400000, + VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0x00800000, + VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkVideoEncodeH265CapabilityFlagBitsEXT; typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; typedef enum VkVideoEncodeH265InputModeFlagBitsEXT { VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT = 0x00000001, - VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT = 0x00000002, VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkVideoEncodeH265InputModeFlagBitsEXT; @@ -640,7 +716,7 @@ typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT; typedef enum VkVideoEncodeH265OutputModeFlagBitsEXT { VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001, - VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT = 0x00000002, VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkVideoEncodeH265OutputModeFlagBitsEXT; @@ -648,14 +724,22 @@ typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT; typedef VkFlags VkVideoEncodeH265CreateFlagsEXT; typedef enum VkVideoEncodeH265CtbSizeFlagBitsEXT { - VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT = 0x00000001, - VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 0x00000002, - VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 0x00000004, - VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 0x00000008, + VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 0x00000004, VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkVideoEncodeH265CtbSizeFlagBitsEXT; typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; +typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsEXT { + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT = 0x00000001, + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT = 0x00000002, + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT = 0x00000004, + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT = 0x00000008, + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF +} VkVideoEncodeH265TransformBlockSizeFlagBitsEXT; +typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT; + typedef enum VkVideoEncodeH265RateControlStructureFlagBitsEXT { VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0, VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_BIT_EXT = 0x00000001, @@ -664,19 +748,29 @@ typedef enum VkVideoEncodeH265RateControlStructureFlagBitsEXT { } VkVideoEncodeH265RateControlStructureFlagBitsEXT; typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT; typedef struct VkVideoEncodeH265CapabilitiesEXT { - VkStructureType sType; - const void* pNext; - VkVideoEncodeH265CapabilityFlagsEXT flags; - VkVideoEncodeH265InputModeFlagsEXT inputModeFlags; - VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags; - VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes; - VkExtent2D inputImageDataAlignment; - uint8_t maxNumL0ReferenceForP; - uint8_t maxNumL0ReferenceForB; - uint8_t maxNumL1Reference; - uint8_t maxNumSubLayers; - uint8_t qualityLevelCount; - VkExtensionProperties stdExtensionVersion; + VkStructureType sType; + const void* pNext; + VkVideoEncodeH265CapabilityFlagsEXT flags; + VkVideoEncodeH265InputModeFlagsEXT inputModeFlags; + VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags; + VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes; + VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes; + uint8_t maxPPictureL0ReferenceCount; + uint8_t maxBPictureL0ReferenceCount; + uint8_t maxL1ReferenceCount; + uint8_t maxSubLayersCount; + uint8_t minLog2MinLumaCodingBlockSizeMinus3; + uint8_t maxLog2MinLumaCodingBlockSizeMinus3; + uint8_t minLog2MinLumaTransformBlockSizeMinus2; + uint8_t maxLog2MinLumaTransformBlockSizeMinus2; + uint8_t minMaxTransformHierarchyDepthInter; + uint8_t maxMaxTransformHierarchyDepthInter; + uint8_t minMaxTransformHierarchyDepthIntra; + uint8_t maxMaxTransformHierarchyDepthIntra; + uint8_t maxDiffCuQpDeltaDepth; + uint8_t minMaxNumMergeCand; + uint8_t maxMaxNumMergeCand; + VkExtensionProperties stdExtensionVersion; } VkVideoEncodeH265CapabilitiesEXT; typedef struct VkVideoEncodeH265SessionCreateInfoEXT { @@ -723,21 +817,21 @@ typedef struct VkVideoEncodeH265ReferenceListsEXT { const StdVideoEncodeH265ReferenceModifications* pReferenceModifications; } VkVideoEncodeH265ReferenceListsEXT; -typedef struct VkVideoEncodeH265NaluSliceEXT { - VkStructureType sType; - const void* pNext; - uint32_t ctbCount; - const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists; - const StdVideoEncodeH265SliceHeader* pSliceHeaderStd; -} VkVideoEncodeH265NaluSliceEXT; +typedef struct VkVideoEncodeH265NaluSliceSegmentEXT { + VkStructureType sType; + const void* pNext; + uint32_t ctbCount; + const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists; + const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd; +} VkVideoEncodeH265NaluSliceSegmentEXT; typedef struct VkVideoEncodeH265VclFrameInfoEXT { - VkStructureType sType; - const void* pNext; - const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists; - uint32_t naluSliceEntryCount; - const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries; - const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo; + VkStructureType sType; + const void* pNext; + const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists; + uint32_t naluSliceSegmentEntryCount; + const VkVideoEncodeH265NaluSliceSegmentEXT* pNaluSliceSegmentEntries; + const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo; } VkVideoEncodeH265VclFrameInfoEXT; typedef struct VkVideoEncodeH265EmitPictureParametersEXT { diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 228e4ef..4a8891e 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -72,7 +72,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 204 +#define VK_HEADER_VERSION 207 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -478,6 +478,9 @@ typedef enum VkStructureType { #ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, #endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, +#endif VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, @@ -523,6 +526,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038010, #endif #ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_EXT = 1000038011, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, #endif #ifdef VK_ENABLE_BETA_EXTENSIONS @@ -541,7 +547,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039005, #endif #ifdef VK_ENABLE_BETA_EXTENSIONS - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_EXT = 1000039006, + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_EXT = 1000039006, #endif #ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_EXT = 1000039007, @@ -872,6 +878,9 @@ typedef enum VkStructureType { #ifdef VK_ENABLE_BETA_EXTENSIONS VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, #endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, +#endif VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, @@ -933,6 +942,9 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, @@ -1984,14 +1996,15 @@ typedef enum VkImageAspectFlagBits { VK_IMAGE_ASPECT_PLANE_0_BIT = 0x00000010, VK_IMAGE_ASPECT_PLANE_1_BIT = 0x00000020, VK_IMAGE_ASPECT_PLANE_2_BIT = 0x00000040, + VK_IMAGE_ASPECT_NONE = 0, VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = 0x00000080, VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = 0x00000100, VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = 0x00000200, VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = 0x00000400, - VK_IMAGE_ASPECT_NONE_KHR = 0, VK_IMAGE_ASPECT_PLANE_0_BIT_KHR = VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR = VK_IMAGE_ASPECT_PLANE_1_BIT, VK_IMAGE_ASPECT_PLANE_2_BIT_KHR = VK_IMAGE_ASPECT_PLANE_2_BIT, + VK_IMAGE_ASPECT_NONE_KHR = VK_IMAGE_ASPECT_NONE, VK_IMAGE_ASPECT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkImageAspectFlagBits; typedef VkFlags VkImageAspectFlags; @@ -6259,10 +6272,6 @@ typedef enum VkToolPurposeFlagBits { VK_TOOL_PURPOSE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkToolPurposeFlagBits; typedef VkFlags VkToolPurposeFlags; - -typedef enum VkPrivateDataSlotCreateFlagBits { - VK_PRIVATE_DATA_SLOT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF -} VkPrivateDataSlotCreateFlagBits; typedef VkFlags VkPrivateDataSlotCreateFlags; typedef VkFlags64 VkPipelineStageFlags2; @@ -13127,8 +13136,6 @@ typedef VkPrivateDataSlot VkPrivateDataSlotEXT; #define VK_EXT_PRIVATE_DATA_EXTENSION_NAME "VK_EXT_private_data" typedef VkPrivateDataSlotCreateFlags VkPrivateDataSlotCreateFlagsEXT; -typedef VkPrivateDataSlotCreateFlagBits VkPrivateDataSlotCreateFlagBitsEXT; - typedef VkPhysicalDevicePrivateDataFeatures VkPhysicalDevicePrivateDataFeaturesEXT; typedef VkDevicePrivateDataCreateInfo VkDevicePrivateDataCreateInfoEXT; @@ -13418,7 +13425,7 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { VkStructureType sType; - const void* pNext; + void* pNext; VkBool32 rasterizationOrderColorAttachmentAccess; VkBool32 rasterizationOrderDepthAttachmentAccess; VkBool32 rasterizationOrderStencilAttachmentAccess; @@ -13829,6 +13836,45 @@ VKAPI_ATTR void VKAPI_CALL vkSetDeviceMemoryPriorityEXT( #endif +#define VK_VALVE_descriptor_set_host_mapping 1 +#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 +#define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" +typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE { + VkStructureType sType; + void* pNext; + VkBool32 descriptorSetHostMapping; +} VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE; + +typedef struct VkDescriptorSetBindingReferenceVALVE { + VkStructureType sType; + const void* pNext; + VkDescriptorSetLayout descriptorSetLayout; + uint32_t binding; +} VkDescriptorSetBindingReferenceVALVE; + +typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE { + VkStructureType sType; + void* pNext; + size_t descriptorOffset; + uint32_t descriptorSize; +} VkDescriptorSetLayoutHostMappingInfoVALVE; + +typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)(VkDevice device, const VkDescriptorSetBindingReferenceVALVE* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); +typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetHostMappingVALVE)(VkDevice device, VkDescriptorSet descriptorSet, void** ppData); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutHostMappingInfoVALVE( + VkDevice device, + const VkDescriptorSetBindingReferenceVALVE* pBindingReference, + VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping); + +VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetHostMappingVALVE( + VkDevice device, + VkDescriptorSet descriptorSet, + void** ppData); +#endif + + #define VK_QCOM_fragment_density_map_offset 1 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" diff --git a/src/vulkan/registry/vk.xml b/src/vulkan/registry/vk.xml index 9477fea..43a1c48 100644 --- a/src/vulkan/registry/vk.xml +++ b/src/vulkan/registry/vk.xml @@ -56,6 +56,7 @@ branch of the member gitlab server. + @@ -72,6 +73,7 @@ branch of the member gitlab server. + @@ -157,7 +159,7 @@ branch of the member gitlab server. // Vulkan 1.3 version number #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 204 +#define VK_HEADER_VERSION 207 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -296,7 +298,7 @@ typedef void CAMetalLayer; typedef VkFlags VkBuildAccelerationStructureFlagsKHR; - typedef VkFlags VkPrivateDataSlotCreateFlags; + typedef VkFlags VkPrivateDataSlotCreateFlags; typedef VkFlags VkAccelerationStructureCreateFlagsKHR; typedef VkFlags VkDescriptorUpdateTemplateCreateFlags; @@ -407,6 +409,7 @@ typedef void CAMetalLayer; typedef VkFlags VkVideoCodingControlFlagsKHR; Video Decode Core extension + typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; typedef VkFlags VkVideoDecodeFlagsKHR; Video Decode H.264 extension @@ -418,6 +421,7 @@ typedef void CAMetalLayer; Video Encode Core extension typedef VkFlags VkVideoEncodeFlagsKHR; + typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; typedef VkFlags VkVideoEncodeRateControlFlagsKHR; typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; @@ -431,12 +435,13 @@ typedef void CAMetalLayer; typedef VkFlags VkVideoEncodeH264RateControlStructureFlagsEXT; Video Encode H.265 extension - typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; + typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT; typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT; typedef VkFlags VkVideoEncodeH265CreateFlagsEXT; - typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT; + typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; + typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT; Types which can be void pointers or class pointers, selected at compile time VK_DEFINE_HANDLE(VkInstance) @@ -744,6 +749,7 @@ typedef void CAMetalLayer; Video Decode extensions + Video H.264 Decode extensions @@ -753,6 +759,7 @@ typedef void CAMetalLayer; Video Encode extensions + @@ -764,10 +771,12 @@ typedef void CAMetalLayer; Video H.265 Encode extensions + - + + The PFN_vk*Function types are used by VkAllocationCallbacks below typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)( @@ -1739,7 +1748,7 @@ typedef void CAMetalLayer; VkSampleCountFlags framebufferDepthSampleCountssupported depth sample counts for a framebuffer VkSampleCountFlags framebufferStencilSampleCountssupported stencil sample counts for a framebuffer VkSampleCountFlags framebufferNoAttachmentsSampleCountssupported sample counts for a subpass which uses no attachments - uint32_t maxColorAttachmentsmax number of color attachments per subpass + uint32_t maxColorAttachmentsmax number of color attachments per subpass VkSampleCountFlags sampledImageColorSampleCountssupported color sample counts for a non-integer sampled image VkSampleCountFlags sampledImageIntegerSampleCountssupported sample counts for an integer image VkSampleCountFlags sampledImageDepthSampleCountssupported depth sample counts for a sampled image @@ -3039,7 +3048,7 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext const VkImageCreateInfo* pCreateInfo - VkImageAspectFlagBits planeAspect + VkImageAspectFlagBits planeAspect @@ -3181,7 +3190,7 @@ typedef void CAMetalLayer; float x float y - + VkStructureType sType const void* pNext VkSampleCountFlagBits sampleLocationsPerPixel @@ -3506,7 +3515,7 @@ typedef void CAMetalLayer; uint64_t memoryObjectId VkDeviceSize size VkObjectType objectType - uint64_t objectHandle + uint64_t objectHandle uint32_t heapIndex @@ -4282,7 +4291,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext uint32_t drmFormatModifierCount - VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties + VkDrmFormatModifierPropertiesEXT* pDrmFormatModifierProperties uint64_t drmFormatModifier @@ -5315,7 +5324,7 @@ typedef void CAMetalLayer; void* pNextPointer to next structure VkSurfaceTransformFlagBitsKHR transform - + VkStructureType sType const void* pNext VkSurfaceTransformFlagBitsKHR transform @@ -5588,7 +5597,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext - VkSampleCountFlagBits maxFragmentShadingRateInvocationCount + VkSampleCountFlagBits maxFragmentShadingRateInvocationCount VkStructureType sType @@ -5775,7 +5784,7 @@ typedef void CAMetalLayer; VkStructureTypesType void* pNext uint32_t profileCount - const VkVideoProfileKHR* pProfiles + const VkVideoProfileKHR* pProfiles VkStructureTypesType @@ -5836,6 +5845,11 @@ typedef void CAMetalLayer; int8_t slotIndexThe reference slot index const VkVideoPictureResourceKHR* pPictureResourceThe reference picture resource + + VkStructureTypesType + void* pNext + VkVideoDecodeCapabilityFlagsKHR flags + VkStructureTypesType const void* pNext @@ -5880,11 +5894,11 @@ typedef void CAMetalLayer; VkStructureTypesType - const void* pNext - StdVideoH264ProfileIdc stdProfileIdc - VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout + const void* pNext + StdVideoH264ProfileIdc stdProfileIdc + VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout - + VkStructureTypesType void* pNext uint32_t maxLevel @@ -5960,7 +5974,7 @@ typedef void CAMetalLayer; const void* pNext StdVideoH265ProfileIdc stdProfileIdc - + VkStructureTypesType void* pNext uint32_t maxLevel @@ -6075,19 +6089,29 @@ typedef void CAMetalLayer; uint32_t virtualBufferSizeInMs uint32_t initialVirtualBufferSizeInMs - + + VkStructureTypesType + const void* pNext + VkVideoEncodeCapabilityFlagsKHR flags + VkVideoEncodeRateControlModeFlagsKHR rateControlModes + uint8_t rateControlLayerCount + uint8_t qualityLevelCount + VkExtent2D inputImageDataFillAlignment + + VkStructureTypesType const void* pNext - VkVideoEncodeH264CapabilityFlagsEXT flags + VkVideoEncodeH264CapabilityFlagsEXT flags VkVideoEncodeH264InputModeFlagsEXT inputModeFlags VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags - VkExtent2D minPictureSizeInMbs - VkExtent2D maxPictureSizeInMbs - VkExtent2D inputImageDataAlignment - uint8_t maxNumL0ReferenceForP - uint8_t maxNumL0ReferenceForB - uint8_t maxNumL1Reference - uint8_t qualityLevelCount + uint8_t maxPPictureL0ReferenceCount + uint8_t maxBPictureL0ReferenceCount + uint8_t maxL1ReferenceCount + VkBool32 motionVectorsOverPicBoundariesFlag + uint32_t maxBytesPerPicDenom + uint32_t maxBitsPerMbDenom + uint32_t log2MaxMvLengthHorizontal + uint32_t log2MaxMvLengthVertical VkExtensionProperties stdExtensionVersion @@ -6100,9 +6124,11 @@ typedef void CAMetalLayer; #include "vk_video/vulkan_video_codec_h264std_encode.h" + + @@ -6125,18 +6151,24 @@ typedef void CAMetalLayer; VkStructureTypesType const void* pNext int8_t slotIndex - const StdVideoEncodeH264PictureInfo* pStdPictureInfo + const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo VkStructureTypesType const void* pNext - uint8_t refDefaultFinalList0EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries - uint8_t refDefaultFinalList1EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries - uint32_t naluSliceEntryCount + const VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists + uint32_t naluSliceEntryCount const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries - const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo + const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo + + + VkStructureTypesType + const void* pNext + uint8_t referenceList0EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries + uint8_t referenceList1EntryCount + const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries + const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations VkStructureTypesType @@ -6154,12 +6186,9 @@ typedef void CAMetalLayer; VkStructureTypesType const void* pNext - const StdVideoEncodeH264SliceHeader* pSliceHeaderStd uint32_t mbCount - uint8_t refFinalList0EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries - uint8_t refFinalList1EntryCount - const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries + const VkVideoEncodeH264ReferenceListsEXT* pReferenceFinalLists + const StdVideoEncodeH264SliceHeader* pSliceHeaderStd VkStructureTypesType @@ -6193,19 +6222,29 @@ typedef void CAMetalLayer; VkBool32 useMaxFrameSize VkVideoEncodeH264FrameSizeEXT maxFrameSize - + VkStructureTypesType const void* pNext - VkVideoEncodeH265CapabilityFlagsEXT flags + VkVideoEncodeH265CapabilityFlagsEXT flags VkVideoEncodeH265InputModeFlagsEXT inputModeFlags VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes - VkExtent2D inputImageDataAlignment - uint8_t maxNumL0ReferenceForP - uint8_t maxNumL0ReferenceForB - uint8_t maxNumL1Reference - uint8_t maxNumSubLayers - uint8_t qualityLevelCount + VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes + uint8_t maxPPictureL0ReferenceCount + uint8_t maxBPictureL0ReferenceCount + uint8_t maxL1ReferenceCount + uint8_t maxSubLayersCount + uint8_t minLog2MinLumaCodingBlockSizeMinus3 + uint8_t maxLog2MinLumaCodingBlockSizeMinus3 + uint8_t minLog2MinLumaTransformBlockSizeMinus2 + uint8_t maxLog2MinLumaTransformBlockSizeMinus2 + uint8_t minMaxTransformHierarchyDepthInter + uint8_t maxMaxTransformHierarchyDepthInter + uint8_t minMaxTransformHierarchyDepthIntra + uint8_t maxMaxTransformHierarchyDepthIntra + uint8_t maxDiffCuQpDeltaDepth + uint8_t minMaxNumMergeCand + uint8_t maxMaxNumMergeCand VkExtensionProperties stdExtensionVersion @@ -6217,10 +6256,10 @@ typedef void CAMetalLayer; #include "vk_video/vulkan_video_codec_h265std_encode.h" - + - + @@ -6245,8 +6284,8 @@ typedef void CAMetalLayer; VkStructureTypesType const void* pNext const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists - uint32_t naluSliceEntryCount - const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries + uint32_t naluSliceSegmentEntryCount + const VkVideoEncodeH265NaluSliceSegmentEXT* pNaluSliceSegmentEntries const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo @@ -6259,12 +6298,12 @@ typedef void CAMetalLayer; uint32_t ppsIdEntryCount const uint8_t* ppsIdEntries - - VkStructureTypesType + + VkStructureTypesType const void* pNext uint32_t ctbCount const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists - const StdVideoEncodeH265SliceHeader* pSliceHeaderStd + const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd VkStructureTypesType @@ -6386,7 +6425,7 @@ typedef void CAMetalLayer; VkBool32 shaderIntegerDotProduct - + VkStructureType sType void* pNext VkBool32 integerDotProduct8BitUnsignedAccelerated @@ -6562,7 +6601,7 @@ typedef void CAMetalLayer; VkImageFormatConstraintsFlagsFUCHSIA flags uint64_t sysmemPixelFormat uint32_t colorSpaceCount - const VkSysmemColorSpaceFUCHSIA* pColorSpaces + const VkSysmemColorSpaceFUCHSIA* pColorSpaces VkStructureType sType @@ -6598,7 +6637,7 @@ typedef void CAMetalLayer; VkStructureType sType void* pNext uint32_t drmFormatModifierCount - VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties + VkDrmFormatModifierProperties2EXT* pDrmFormatModifierProperties uint64_t drmFormatModifier @@ -6687,8 +6726,8 @@ typedef void CAMetalLayer; VkStructureType sType const void* pNext - uint32_t colorAttachmentCount - const VkSampleCountFlagBits* pColorAttachmentSamples + uint32_t colorAttachmentCount + const VkSampleCountFlagBits* pColorAttachmentSamples VkSampleCountFlagBits depthStencilAttachmentSamples @@ -6710,7 +6749,7 @@ typedef void CAMetalLayer; VkStructureType sType - const void* pNext + void* pNext VkBool32 rasterizationOrderColorAttachmentAccess VkBool32 rasterizationOrderDepthAttachmentAccess VkBool32 rasterizationOrderStencilAttachmentAccess @@ -6720,6 +6759,23 @@ typedef void CAMetalLayer; void* pNext VkBool32 linearColorAttachment + + VkStructureType sType + void* pNext + VkBool32 descriptorSetHostMapping + + + VkStructureType sType + const void* pNext + VkDescriptorSetLayout descriptorSetLayout + uint32_t binding + + + VkStructureType sType + void* pNext + size_t descriptorOffset + uint32_t descriptorSize + Vulkan enumerant (token) definitions @@ -8323,6 +8379,11 @@ typedef void CAMetalLayer; + + + + + @@ -8331,6 +8392,10 @@ typedef void CAMetalLayer; + + + + @@ -8341,17 +8406,29 @@ typedef void CAMetalLayer; - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -8445,27 +8522,58 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - - - - - - + + + + + + + + + + + @@ -8696,7 +8804,7 @@ typedef void CAMetalLayer; VkResult vkQueueBindSparse VkQueue queue uint32_t bindInfoCount - const VkBindSparseInfo* pBindInfo + const VkBindSparseInfo* pBindInfo VkFence fence @@ -11622,6 +11730,18 @@ typedef void CAMetalLayer; VkCommandBuffer commandBuffer + + void vkGetDescriptorSetLayoutHostMappingInfoVALVE + VkDevice device + const VkDescriptorSetBindingReferenceVALVE* pBindingReference + VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping + + + void vkGetDescriptorSetHostMappingVALVE + VkDevice device + VkDescriptorSet descriptorSet + void** ppData + @@ -12701,8 +12821,7 @@ typedef void CAMetalLayer; - - + @@ -12911,6 +13030,7 @@ typedef void CAMetalLayer; + @@ -13308,9 +13428,10 @@ typedef void CAMetalLayer; - + + @@ -13326,6 +13447,10 @@ typedef void CAMetalLayer; + + + + @@ -13475,7 +13600,7 @@ typedef void CAMetalLayer; - + @@ -13487,7 +13612,8 @@ typedef void CAMetalLayer; - + + @@ -13503,6 +13629,7 @@ typedef void CAMetalLayer; + @@ -13517,7 +13644,7 @@ typedef void CAMetalLayer; - + @@ -13525,7 +13652,7 @@ typedef void CAMetalLayer; - + @@ -13533,6 +13660,7 @@ typedef void CAMetalLayer; + @@ -13542,6 +13670,8 @@ typedef void CAMetalLayer; + + @@ -13549,7 +13679,7 @@ typedef void CAMetalLayer; - + @@ -16635,6 +16765,7 @@ typedef void CAMetalLayer; + @@ -16921,8 +17052,7 @@ typedef void CAMetalLayer; - - + @@ -16959,9 +17089,9 @@ typedef void CAMetalLayer; - + - + @@ -16969,6 +17099,7 @@ typedef void CAMetalLayer; + @@ -16986,13 +17117,17 @@ typedef void CAMetalLayer; + + + + - + @@ -17206,7 +17341,8 @@ typedef void CAMetalLayer; - + + @@ -17777,6 +17913,7 @@ typedef void CAMetalLayer; + @@ -18055,7 +18192,7 @@ typedef void CAMetalLayer; - + @@ -18101,10 +18238,18 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + @@ -18316,6 +18461,48 @@ typedef void CAMetalLayer; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -19873,6 +20060,13 @@ typedef void CAMetalLayer; + + + + + + + -- 2.7.4