diff options
author | Jon Leech <[email protected]> | 2022-04-05 04:54:33 -0700 |
---|---|---|
committer | Jon Leech <[email protected]> | 2022-04-05 04:54:59 -0700 |
commit | 23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05 (patch) | |
tree | ac8652677194d77ce208949191ec6bfb6278d0ba | |
parent | 628eaec640e117b859cfd80e4b1abb2570e08ccd (diff) | |
download | Vulkan-Headers-23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05.tar.gz Vulkan-Headers-23842a31df9c9c2b3bc7c6c2bb56044bc5e51c05.zip |
Update for Vulkan-Docs 1.3.211v1.3.211
-rw-r--r-- | include/vulkan/vulkan.hpp | 51 | ||||
-rw-r--r-- | include/vulkan/vulkan_beta.h | 63 | ||||
-rw-r--r-- | include/vulkan/vulkan_core.h | 16 | ||||
-rw-r--r-- | include/vulkan/vulkan_enums.hpp | 21 | ||||
-rw-r--r-- | include/vulkan/vulkan_funcs.hpp | 214 | ||||
-rw-r--r-- | include/vulkan/vulkan_handles.hpp | 27 | ||||
-rw-r--r-- | include/vulkan/vulkan_hash.hpp | 18 | ||||
-rw-r--r-- | include/vulkan/vulkan_raii.hpp | 3 | ||||
-rw-r--r-- | include/vulkan/vulkan_structs.hpp | 533 | ||||
-rw-r--r-- | registry/validusage.json | 194 | ||||
-rw-r--r-- | registry/video.xml | 1113 | ||||
-rw-r--r-- | registry/vk.xml | 123 | ||||
-rw-r--r-- | registry/vkconventions.py | 2 |
13 files changed, 1741 insertions, 637 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 3d941a3..71a920b 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -119,7 +119,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include <span> #endif -static_assert( VK_HEADER_VERSION == 210, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 211, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -6018,13 +6018,30 @@ namespace VULKAN_HPP_NAMESPACE } template <typename T, typename D> - VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<T, D>>>::type - createResultValue( Result result, std::vector<UniqueHandle<T, D>> && data, char const * message ) + VULKAN_HPP_INLINE ResultValue<UniqueHandle<T, D>> createResultValue( + Result result, T & data, char const * message, std::initializer_list<Result> successCodes, typename UniqueHandleTraits<T, D>::deleter const & deleter ) + { +# ifdef VULKAN_HPP_NO_EXCEPTIONS + ignore( message ); + ignore( successCodes ); // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty + VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() ); +# else + if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() ) + { + throwResultException( result, message ); + } +# endif + return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) ); + } + + template <typename T, typename D, typename Allocator = std::allocator<UniqueHandle<T, D>>> + VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<T, D>, Allocator>>::type + createResultValue( Result result, std::vector<UniqueHandle<T, D>, Allocator> && data, char const * message ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess ); - return ResultValue<std::vector<UniqueHandle<T, D>>>( result, std::move( data ) ); + return ResultValue<std::vector<UniqueHandle<T, D>, Allocator>>( result, std::move( data ) ); # else if ( result != Result::eSuccess ) { @@ -6034,9 +6051,9 @@ namespace VULKAN_HPP_NAMESPACE # endif } - template <typename T, typename D> - VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<T, D>>> - createResultValue( Result result, std::vector<UniqueHandle<T, D>> && data, char const * message, std::initializer_list<Result> successCodes ) + template <typename T, typename D, typename Allocator = std::allocator<UniqueHandle<T, D>>> + VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<T, D>, Allocator>> + createResultValue( Result result, std::vector<UniqueHandle<T, D>, Allocator> && data, char const * message, std::initializer_list<Result> successCodes ) { # ifdef VULKAN_HPP_NO_EXCEPTIONS ignore( message ); @@ -6048,7 +6065,7 @@ namespace VULKAN_HPP_NAMESPACE throwResultException( result, message ); } # endif - return ResultValue<std::vector<UniqueHandle<T, D>>>( result, std::move( data ) ); + return ResultValue<std::vector<UniqueHandle<T, D>, Allocator>>( result, std::move( data ) ); } #endif @@ -10638,6 +10655,24 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_EXT_image_2d_view_of_3d === + template <> + struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2> + { + enum + { + value = true + }; + }; + template <> + struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo> + { + enum + { + value = true + }; + }; + //=== VK_EXT_border_color_swizzle === template <> struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2> diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index f14f9f0..3d25baa 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -315,7 +315,7 @@ VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( #define VK_KHR_video_decode_queue 1 -#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 3 +#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 4 #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" typedef enum VkVideoDecodeCapabilityFlagBitsKHR { @@ -342,8 +342,6 @@ typedef struct VkVideoDecodeInfoKHR { VkStructureType sType; const void* pNext; VkVideoDecodeFlagsKHR flags; - VkOffset2D codedOffset; - VkExtent2D codedExtent; VkBuffer srcBuffer; VkDeviceSize srcBufferOffset; VkDeviceSize srcBufferRange; @@ -394,7 +392,7 @@ typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR { #define VK_KHR_video_encode_queue 1 -#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 4 +#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 5 #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" typedef enum VkVideoEncodeFlagBitsKHR { @@ -430,7 +428,6 @@ typedef struct VkVideoEncodeInfoKHR { const void* pNext; VkVideoEncodeFlagsKHR flags; uint32_t qualityLevel; - VkExtent2D codedExtent; VkBuffer dstBitstreamBuffer; VkDeviceSize dstBitstreamBufferOffset; VkDeviceSize dstBitstreamBufferMaxRange; @@ -443,7 +440,7 @@ typedef struct VkVideoEncodeInfoKHR { typedef struct VkVideoEncodeCapabilitiesKHR { VkStructureType sType; - const void* pNext; + void* pNext; VkVideoEncodeCapabilityFlagsKHR flags; VkVideoEncodeRateControlModeFlagsKHR rateControlModes; uint8_t rateControlLayerCount; @@ -539,7 +536,7 @@ typedef enum VkVideoEncodeH264RateControlStructureFlagBitsEXT { typedef VkFlags VkVideoEncodeH264RateControlStructureFlagsEXT; typedef struct VkVideoEncodeH264CapabilitiesEXT { VkStructureType sType; - const void* pNext; + void* pNext; VkVideoEncodeH264CapabilityFlagsEXT flags; VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; @@ -660,7 +657,7 @@ 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 6 +#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 7 #define VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_EXT_video_encode_h265" typedef enum VkVideoEncodeH265CapabilityFlagBitsEXT { @@ -674,20 +671,22 @@ typedef enum VkVideoEncodeH265CapabilityFlagBitsEXT { 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_TRANSFORM_SKIP_DISABLED_BIT_EXT = 0x00000400, + VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT = 0x00000800, + VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0x00001000, + VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT = 0x00002000, + VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0x00004000, + VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT = 0x00008000, + VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT = 0x00010000, + VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT = 0x00020000, + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT = 0x00040000, + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT = 0x00080000, + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT = 0x00100000, + VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT = 0x00200000, + VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT = 0x00400000, + VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT = 0x00800000, + VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0x01000000, + VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 0x02000000, VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF } VkVideoEncodeH265CapabilityFlagBitsEXT; typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; @@ -734,7 +733,7 @@ typedef enum VkVideoEncodeH265RateControlStructureFlagBitsEXT { typedef VkFlags VkVideoEncodeH265RateControlStructureFlagsEXT; typedef struct VkVideoEncodeH265CapabilitiesEXT { VkStructureType sType; - const void* pNext; + void* pNext; VkVideoEncodeH265CapabilityFlagsEXT flags; VkVideoEncodeH265InputModeFlagsEXT inputModeFlags; VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags; @@ -868,7 +867,7 @@ typedef struct VkVideoEncodeH265RateControlLayerInfoEXT { #define VK_EXT_video_decode_h264 1 #include "vk_video/vulkan_video_codec_h264std_decode.h" -#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 4 +#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 5 #define VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME "VK_EXT_video_decode_h264" typedef enum VkVideoDecodeH264PictureLayoutFlagBitsEXT { @@ -886,10 +885,10 @@ typedef struct VkVideoDecodeH264ProfileEXT { } VkVideoDecodeH264ProfileEXT; typedef struct VkVideoDecodeH264CapabilitiesEXT { - VkStructureType sType; - void* pNext; - uint32_t maxLevel; - VkOffset2D fieldOffsetGranularity; + VkStructureType sType; + void* pNext; + StdVideoH264Level maxLevel; + VkOffset2D fieldOffsetGranularity; } VkVideoDecodeH264CapabilitiesEXT; typedef struct VkVideoDecodeH264SessionParametersAddInfoEXT { @@ -933,7 +932,7 @@ typedef struct VkVideoDecodeH264DpbSlotInfoEXT { #define VK_EXT_video_decode_h265 1 #include "vk_video/vulkan_video_codec_h265std_decode.h" -#define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 2 +#define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 3 #define VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME "VK_EXT_video_decode_h265" typedef struct VkVideoDecodeH265ProfileEXT { VkStructureType sType; @@ -942,9 +941,9 @@ typedef struct VkVideoDecodeH265ProfileEXT { } VkVideoDecodeH265ProfileEXT; typedef struct VkVideoDecodeH265CapabilitiesEXT { - VkStructureType sType; - void* pNext; - uint32_t maxLevel; + VkStructureType sType; + void* pNext; + StdVideoH265Level maxLevel; } VkVideoDecodeH265CapabilitiesEXT; typedef struct VkVideoDecodeH265SessionParametersAddInfoEXT { diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 31c917f..5c8b846 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 210 +#define VK_HEADER_VERSION 211 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -931,6 +931,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT = 1000391001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 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, @@ -2073,6 +2074,7 @@ typedef enum VkImageCreateFlagBits { VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, + VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, @@ -13849,6 +13851,18 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDrawMultiIndexedEXT( #endif +#define VK_EXT_image_2d_view_of_3d 1 +#define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 +#define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" +typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 image2DViewOf3D; + VkBool32 sampler2DViewOf3D; +} VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; + + + #define VK_EXT_load_store_op_none 1 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 814d439..2c72ece 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -812,6 +812,7 @@ namespace VULKAN_HPP_NAMESPACE eImageViewMinLodCreateInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT, ePhysicalDeviceMultiDrawFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, ePhysicalDeviceMultiDrawPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, + ePhysicalDeviceImage2DViewOf3DFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT, ePhysicalDeviceBorderColorSwizzleFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT, eSamplerBorderColorComponentMappingCreateInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT, ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT, @@ -1671,6 +1672,7 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::eImageViewMinLodCreateInfoEXT: return "ImageViewMinLodCreateInfoEXT"; case StructureType::ePhysicalDeviceMultiDrawFeaturesEXT: return "PhysicalDeviceMultiDrawFeaturesEXT"; case StructureType::ePhysicalDeviceMultiDrawPropertiesEXT: return "PhysicalDeviceMultiDrawPropertiesEXT"; + case StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT: return "PhysicalDeviceImage2DViewOf3DFeaturesEXT"; case StructureType::ePhysicalDeviceBorderColorSwizzleFeaturesEXT: return "PhysicalDeviceBorderColorSwizzleFeaturesEXT"; case StructureType::eSamplerBorderColorComponentMappingCreateInfoEXT: return "SamplerBorderColorComponentMappingCreateInfoEXT"; case StructureType::ePhysicalDevicePageableDeviceLocalMemoryFeaturesEXT: return "PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT"; @@ -2511,6 +2513,7 @@ namespace VULKAN_HPP_NAMESPACE eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV, eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT, eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT, + e2DViewCompatibleEXT = VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT, eFragmentDensityMapOffsetQCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, e2DArrayCompatibleKHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR, eAliasKHR = VK_IMAGE_CREATE_ALIAS_BIT_KHR, @@ -2539,6 +2542,7 @@ namespace VULKAN_HPP_NAMESPACE case ImageCreateFlagBits::eCornerSampledNV: return "CornerSampledNV"; case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT: return "SampleLocationsCompatibleDepthEXT"; case ImageCreateFlagBits::eSubsampledEXT: return "SubsampledEXT"; + case ImageCreateFlagBits::e2DViewCompatibleEXT: return "2DViewCompatibleEXT"; case ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM: return "FragmentDensityMapOffsetQCOM"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; } @@ -6354,6 +6358,7 @@ namespace VULKAN_HPP_NAMESPACE eLog2ParallelMergeLevelMinus2 = VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT, eSignDataHidingEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT, eTransformSkipEnabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT, + eTransformSkipDisabled = VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT, ePpsSliceChromaQpOffsetsPresent = VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT, eWeightedPred = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT, eWeightedBipred = VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT, @@ -6367,7 +6372,8 @@ namespace VULKAN_HPP_NAMESPACE eSliceSegmentCtbCount = VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT, eRowUnalignedSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT, eDependentSliceSegment = VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT, - eDifferentSliceType = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT + eDifferentSliceType = VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT, + eBFrameInL1List = VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT }; VULKAN_HPP_INLINE std::string to_string( VideoEncodeH265CapabilityFlagBitsEXT value ) @@ -6384,6 +6390,7 @@ namespace VULKAN_HPP_NAMESPACE case VideoEncodeH265CapabilityFlagBitsEXT::eLog2ParallelMergeLevelMinus2: return "Log2ParallelMergeLevelMinus2"; case VideoEncodeH265CapabilityFlagBitsEXT::eSignDataHidingEnabled: return "SignDataHidingEnabled"; case VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipEnabled: return "TransformSkipEnabled"; + case VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipDisabled: return "TransformSkipDisabled"; case VideoEncodeH265CapabilityFlagBitsEXT::ePpsSliceChromaQpOffsetsPresent: return "PpsSliceChromaQpOffsetsPresent"; case VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPred: return "WeightedPred"; case VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBipred: return "WeightedBipred"; @@ -6398,6 +6405,7 @@ namespace VULKAN_HPP_NAMESPACE case VideoEncodeH265CapabilityFlagBitsEXT::eRowUnalignedSliceSegment: return "RowUnalignedSliceSegment"; case VideoEncodeH265CapabilityFlagBitsEXT::eDependentSliceSegment: return "DependentSliceSegment"; case VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType: return "DifferentSliceType"; + case VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List: return "BFrameInL1List"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )"; } } @@ -8461,7 +8469,7 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( ImageCreateFlagBits::eBlockTexelViewCompatible ) | VkFlags( ImageCreateFlagBits::eExtendedUsage ) | VkFlags( ImageCreateFlagBits::eProtected ) | VkFlags( ImageCreateFlagBits::eDisjoint ) | VkFlags( ImageCreateFlagBits::eCornerSampledNV ) | VkFlags( ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT ) | VkFlags( ImageCreateFlagBits::eSubsampledEXT ) | - VkFlags( ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM ) + VkFlags( ImageCreateFlagBits::e2DViewCompatibleEXT ) | VkFlags( ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM ) }; }; @@ -8521,6 +8529,8 @@ namespace VULKAN_HPP_NAMESPACE result += "SampleLocationsCompatibleDepthEXT | "; if ( value & ImageCreateFlagBits::eSubsampledEXT ) result += "SubsampledEXT | "; + if ( value & ImageCreateFlagBits::e2DViewCompatibleEXT ) + result += "2DViewCompatibleEXT | "; if ( value & ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM ) result += "FragmentDensityMapOffsetQCOM | "; @@ -13555,6 +13565,7 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eSpsTemporalMvpEnabled ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eHrdCompliance ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eInitQpMinus26 ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eLog2ParallelMergeLevelMinus2 ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eSignDataHidingEnabled ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipEnabled ) | + VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipDisabled ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::ePpsSliceChromaQpOffsetsPresent ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPred ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eWeightedBipred ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPredNoTable ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eTransquantBypassEnabled ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eEntropyCodingSyncEnabled ) | @@ -13562,7 +13573,7 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilePerFrame ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eMultipleSlicePerTile ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eMultipleTilePerSlice ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eSliceSegmentCtbCount ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eRowUnalignedSliceSegment ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDependentSliceSegment ) | - VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType ) + VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType ) | VkFlags( VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List ) }; }; @@ -13615,6 +13626,8 @@ namespace VULKAN_HPP_NAMESPACE result += "SignDataHidingEnabled | "; if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipEnabled ) result += "TransformSkipEnabled | "; + if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eTransformSkipDisabled ) + result += "TransformSkipDisabled | "; if ( value & VideoEncodeH265CapabilityFlagBitsEXT::ePpsSliceChromaQpOffsetsPresent ) result += "PpsSliceChromaQpOffsetsPresent | "; if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eWeightedPred ) @@ -13643,6 +13656,8 @@ namespace VULKAN_HPP_NAMESPACE result += "DependentSliceSegment | "; if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eDifferentSliceType ) result += "DifferentSliceType | "; + if ( value & VideoEncodeH265CapabilityFlagBitsEXT::eBFrameInL1List ) + result += "BFrameInL1List | "; return "{ " + result.substr( 0, result.size() - 3 ) + " }"; } diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp index f5f2eb7..910077c 100644 --- a/include/vulkan/vulkan_funcs.hpp +++ b/include/vulkan/vulkan_funcs.hpp @@ -1836,8 +1836,8 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator, typename Dispatch> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<DataType, Allocator>> + template <typename DataType, typename DataTypeAllocator, typename Dispatch> + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<std::vector<DataType, DataTypeAllocator>> Device::getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -1848,8 +1848,8 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); - std::vector<DataType, Allocator> data( dataSize / sizeof( DataType ) ); - Result result = static_cast<Result>( d.vkGetQueryPoolResults( m_device, + std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); + Result result = static_cast<Result>( d.vkGetQueryPoolResults( m_device, static_cast<VkQueryPool>( queryPool ), firstQuery, queryCount, @@ -2623,18 +2623,19 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); - Result result = static_cast<Result>( d.vkCreateGraphicsPipelines( + VkResult result = d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename PipelineAllocator, @@ -2649,18 +2650,19 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); - Result result = static_cast<Result>( d.vkCreateGraphicsPipelines( + VkResult result = d.vkCreateGraphicsPipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkGraphicsPipelineCreateInfo *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createGraphicsPipelines", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename Dispatch> @@ -2807,18 +2809,19 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); - Result result = static_cast<Result>( d.vkCreateComputePipelines( + VkResult result = d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename PipelineAllocator, @@ -2833,18 +2836,19 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); - Result result = static_cast<Result>( d.vkCreateComputePipelines( + VkResult result = d.vkCreateComputePipelines( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkComputePipelineCreateInfo *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createComputePipelines", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename Dispatch> @@ -3444,10 +3448,12 @@ namespace VULKAN_HPP_NAMESPACE Device::allocateDescriptorSets( const VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo & allocateInfo, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator> descriptorSets( allocateInfo.descriptorSetCount ); - Result result = static_cast<Result>( d.vkAllocateDescriptorSets( - m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); - return createResultValue( result, descriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + VkResult result = d.vkAllocateDescriptorSets( + m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), descriptorSets ); } template <typename DescriptorSetAllocator, @@ -3460,10 +3466,12 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::DescriptorSet, DescriptorSetAllocator> descriptorSets( allocateInfo.descriptorSetCount, descriptorSetAllocator ); - Result result = static_cast<Result>( d.vkAllocateDescriptorSets( - m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ) ); - return createResultValue( result, descriptorSets, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + VkResult result = d.vkAllocateDescriptorSets( + m_device, reinterpret_cast<const VkDescriptorSetAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkDescriptorSet *>( descriptorSets.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::allocateDescriptorSets" ); + return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), descriptorSets ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -3953,10 +3961,12 @@ namespace VULKAN_HPP_NAMESPACE Device::allocateCommandBuffers( const VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo & allocateInfo, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator> commandBuffers( allocateInfo.commandBufferCount ); - Result result = static_cast<Result>( d.vkAllocateCommandBuffers( - m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); - return createResultValue( result, commandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + VkResult result = d.vkAllocateCommandBuffers( + m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), commandBuffers ); } template <typename CommandBufferAllocator, @@ -3969,10 +3979,12 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::CommandBuffer, CommandBufferAllocator> commandBuffers( allocateInfo.commandBufferCount, commandBufferAllocator ); - Result result = static_cast<Result>( d.vkAllocateCommandBuffers( - m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ) ); - return createResultValue( result, commandBuffers, VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + VkResult result = d.vkAllocateCommandBuffers( + m_device, reinterpret_cast<const VkCommandBufferAllocateInfo *>( &allocateInfo ), reinterpret_cast<VkCommandBuffer *>( commandBuffers.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::allocateCommandBuffers" ); + return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), commandBuffers ); } # ifndef VULKAN_HPP_NO_SMART_HANDLE @@ -8275,14 +8287,16 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator> swapchains( createInfos.size() ); - Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR( + VkResult result = d.vkCreateSharedSwapchainsKHR( m_device, createInfos.size(), reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); - return createResultValue( result, swapchains, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), swapchains ); } template <typename SwapchainKHRAllocator, @@ -8296,14 +8310,16 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::SwapchainKHR, SwapchainKHRAllocator> swapchains( createInfos.size(), swapchainKHRAllocator ); - Result result = static_cast<Result>( d.vkCreateSharedSwapchainsKHR( + VkResult result = d.vkCreateSharedSwapchainsKHR( m_device, createInfos.size(), reinterpret_cast<const VkSwapchainCreateInfoKHR *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ) ); - return createResultValue( result, swapchains, VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + reinterpret_cast<VkSwapchainKHR *>( swapchains.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::createSharedSwapchainsKHR" ); + return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), swapchains ); } template <typename Dispatch> @@ -13596,8 +13612,8 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator, typename Dispatch> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator, typename Dispatch> + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::writeAccelerationStructuresPropertiesKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, VULKAN_HPP_NAMESPACE::QueryType queryType, size_t dataSize, @@ -13606,8 +13622,8 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); - std::vector<DataType, Allocator> data( dataSize / sizeof( DataType ) ); - Result result = + std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); + Result result = static_cast<Result>( d.vkWriteAccelerationStructuresPropertiesKHR( m_device, accelerationStructures.size(), reinterpret_cast<const VkAccelerationStructureKHR *>( accelerationStructures.data() ), @@ -14545,18 +14561,19 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); - Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV( + VkResult result = d.vkCreateRayTracingPipelinesNV( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename PipelineAllocator, @@ -14571,18 +14588,19 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); - Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesNV( + VkResult result = d.vkCreateRayTracingPipelinesNV( m_device, static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkRayTracingPipelineCreateInfoNV *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesNV", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename Dispatch> @@ -14717,14 +14735,14 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator, typename Dispatch> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, Allocator>>::type Device::getRayTracingShaderGroupHandlesNV( + template <typename DataType, typename DataTypeAllocator, typename Dispatch> + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); - std::vector<DataType, Allocator> data( dataSize / sizeof( DataType ) ); - Result result = static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesNV( + std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); + Result result = static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesNV( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesNV" ); } @@ -14755,14 +14773,14 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator, typename Dispatch> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator, typename Dispatch> + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, size_t dataSize, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); - std::vector<DataType, Allocator> data( dataSize / sizeof( DataType ) ); - Result result = static_cast<Result>( d.vkGetAccelerationStructureHandleNV( + std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); + Result result = static_cast<Result>( d.vkGetAccelerationStructureHandleNV( m_device, static_cast<VkAccelerationStructureNV>( accelerationStructure ), data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureHandleNV" ); } @@ -15883,7 +15901,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = d.vkWaitForPresentKHR( m_device, static_cast<VkSwapchainKHR>( swapchain ), presentId, timeout ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::waitForPresentKHR", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ @@ -17865,22 +17883,23 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size() ); - Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR( + VkResult result = d.vkCreateRayTracingPipelinesKHR( m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, - VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, - VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, - VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename PipelineAllocator, @@ -17896,22 +17915,23 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator> pipelines( createInfos.size(), pipelineAllocator ); - Result result = static_cast<Result>( d.vkCreateRayTracingPipelinesKHR( + VkResult result = d.vkCreateRayTracingPipelinesKHR( m_device, static_cast<VkDeferredOperationKHR>( deferredOperation ), static_cast<VkPipelineCache>( pipelineCache ), createInfos.size(), reinterpret_cast<const VkRayTracingPipelineCreateInfoKHR *>( createInfos.data() ), reinterpret_cast<const VkAllocationCallbacks *>( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ), - reinterpret_cast<VkPipeline *>( pipelines.data() ) ) ); - return createResultValue( result, - pipelines, - VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", - { VULKAN_HPP_NAMESPACE::Result::eSuccess, - VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, - VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, - VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + reinterpret_cast<VkPipeline *>( pipelines.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::createRayTracingPipelinesKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::ePipelineCompileRequiredEXT } ); + return ResultValue<std::vector<VULKAN_HPP_NAMESPACE::Pipeline, PipelineAllocator>>( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), pipelines ); } template <typename Dispatch> @@ -18068,14 +18088,14 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator, typename Dispatch> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, Allocator>>::type Device::getRayTracingShaderGroupHandlesKHR( + template <typename DataType, typename DataTypeAllocator, typename Dispatch> + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); - std::vector<DataType, Allocator> data( dataSize / sizeof( DataType ) ); - Result result = static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesKHR( + std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); + Result result = static_cast<Result>( d.vkGetRayTracingShaderGroupHandlesKHR( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingShaderGroupHandlesKHR" ); } @@ -18108,15 +18128,15 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator, typename Dispatch> - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator, typename Dispatch> + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, Dispatch const & d ) const { VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); VULKAN_HPP_ASSERT( dataSize % sizeof( DataType ) == 0 ); - std::vector<DataType, Allocator> data( dataSize / sizeof( DataType ) ); - Result result = static_cast<Result>( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( + std::vector<DataType, DataTypeAllocator> data( dataSize / sizeof( DataType ) ); + Result result = static_cast<Result>( d.vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( m_device, static_cast<VkPipeline>( pipeline ), firstGroup, groupCount, data.size() * sizeof( DataType ), reinterpret_cast<void *>( data.data() ) ) ); return createResultValue( result, data, VULKAN_HPP_NAMESPACE_STRING "::Device::getRayTracingCaptureReplayShaderGroupHandlesKHR" ); } diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index 1797499..bc7512c 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -1339,6 +1339,9 @@ namespace VULKAN_HPP_NAMESPACE struct MultiDrawInfoEXT; struct MultiDrawIndexedInfoEXT; + //=== VK_EXT_image_2d_view_of_3d === + struct PhysicalDeviceImage2DViewOf3DFeaturesEXT; + //=== VK_EXT_border_color_swizzle === struct PhysicalDeviceBorderColorSwizzleFeaturesEXT; struct SamplerBorderColorComponentMappingCreateInfoEXT; @@ -7595,8 +7598,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::QueryResultFlags flags, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD ResultValue<std::vector<DataType, Allocator>> + template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + VULKAN_HPP_NODISCARD ResultValue<std::vector<DataType, DataTypeAllocator>> getQueryPoolResults( VULKAN_HPP_NAMESPACE::QueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, @@ -9976,8 +9979,8 @@ namespace VULKAN_HPP_NAMESPACE size_t stride, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type writeAccelerationStructuresPropertiesKHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::AccelerationStructureKHR> const & accelerationStructures, VULKAN_HPP_NAMESPACE::QueryType queryType, size_t dataSize, @@ -10306,8 +10309,8 @@ namespace VULKAN_HPP_NAMESPACE void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, @@ -10324,8 +10327,8 @@ namespace VULKAN_HPP_NAMESPACE void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, Allocator>>::type getAccelerationStructureHandleNV( + template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure, size_t dataSize, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type @@ -10935,8 +10938,8 @@ namespace VULKAN_HPP_NAMESPACE void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, @@ -10956,8 +10959,8 @@ namespace VULKAN_HPP_NAMESPACE void * pData, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template <typename DataType, typename Allocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, Allocator>>::type + template <typename DataType, typename DataTypeAllocator = std::allocator<DataType>, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> + VULKAN_HPP_NODISCARD typename ResultValueType<std::vector<DataType, DataTypeAllocator>>::type getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t firstGroup, uint32_t groupCount, diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp index 1ab9003..0bc6326 100644 --- a/include/vulkan/vulkan_hash.hpp +++ b/include/vulkan/vulkan_hash.hpp @@ -6906,6 +6906,21 @@ namespace std }; template <> + struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT> + { + std::size_t + operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT const & physicalDeviceImage2DViewOf3DFeaturesEXT ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.sType ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.image2DViewOf3D ); + VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceImage2DViewOf3DFeaturesEXT.sampler2DViewOf3D ); + return seed; + } + }; + + template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT> { std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceImageDrmFormatModifierInfoEXT const & physicalDeviceImageDrmFormatModifierInfoEXT ) const @@ -11709,8 +11724,6 @@ namespace std VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.sType ); VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.pNext ); VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.flags ); - VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.codedOffset ); - VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.codedExtent ); VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBuffer ); VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBufferOffset ); VULKAN_HPP_HASH_COMBINE( seed, videoDecodeInfoKHR.srcBufferRange ); @@ -12245,7 +12258,6 @@ namespace std VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.pNext ); VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.flags ); VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.qualityLevel ); - VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.codedExtent ); VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBuffer ); VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBufferOffset ); VULKAN_HPP_HASH_COMBINE( seed, videoEncodeInfoKHR.dstBitstreamBufferMaxRange ); diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 2ec8fe1..e869a14 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -15949,7 +15949,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkWaitForPresentKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchain ), presentId, timeout ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) + if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) && + ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) { throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::waitForPresent" ); } diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 823531c..0082dc7 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -52840,6 +52840,119 @@ namespace VULKAN_HPP_NAMESPACE }; using PhysicalDeviceIDPropertiesKHR = PhysicalDeviceIDProperties; + struct PhysicalDeviceImage2DViewOf3DFeaturesEXT + { + using NativeType = VkPhysicalDeviceImage2DViewOf3DFeaturesEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceImage2DViewOf3DFeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 image2DViewOf3D_ = {}, + VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , image2DViewOf3D( image2DViewOf3D_ ) + , sampler2DViewOf3D( sampler2DViewOf3D_ ) + { + } + + VULKAN_HPP_CONSTEXPR PhysicalDeviceImage2DViewOf3DFeaturesEXT( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceImage2DViewOf3DFeaturesEXT( VkPhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceImage2DViewOf3DFeaturesEXT( *reinterpret_cast<PhysicalDeviceImage2DViewOf3DFeaturesEXT const *>( &rhs ) ) + { + } +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceImage2DViewOf3DFeaturesEXT & operator=( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceImage2DViewOf3DFeaturesEXT & operator=( VkPhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT const *>( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImage2DViewOf3DFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImage2DViewOf3DFeaturesEXT & setImage2DViewOf3D( VULKAN_HPP_NAMESPACE::Bool32 image2DViewOf3D_ ) VULKAN_HPP_NOEXCEPT + { + image2DViewOf3D = image2DViewOf3D_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceImage2DViewOf3DFeaturesEXT & + setSampler2DViewOf3D( VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D_ ) VULKAN_HPP_NOEXCEPT + { + sampler2DViewOf3D = sampler2DViewOf3D_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + explicit operator VkPhysicalDeviceImage2DViewOf3DFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT *>( this ); + } + + explicit operator VkPhysicalDeviceImage2DViewOf3DFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkPhysicalDeviceImage2DViewOf3DFeaturesEXT *>( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Bool32 const &, VULKAN_HPP_NAMESPACE::Bool32 const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, image2DViewOf3D, sampler2DViewOf3D ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { +# if defined( VULKAN_HPP_USE_REFLECT ) + return this->reflect() == rhs.reflect(); +# else + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image2DViewOf3D == rhs.image2DViewOf3D ) && ( sampler2DViewOf3D == rhs.sampler2DViewOf3D ); +# endif + } + + bool operator!=( PhysicalDeviceImage2DViewOf3DFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 image2DViewOf3D = {}; + VULKAN_HPP_NAMESPACE::Bool32 sampler2DViewOf3D = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT ) == sizeof( VkPhysicalDeviceImage2DViewOf3DFeaturesEXT ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT>::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceImage2DViewOf3DFeaturesEXT>::value, + "PhysicalDeviceImage2DViewOf3DFeaturesEXT is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::ePhysicalDeviceImage2DViewOf3DFeaturesEXT> + { + using Type = PhysicalDeviceImage2DViewOf3DFeaturesEXT; + }; + struct PhysicalDeviceImageDrmFormatModifierInfoEXT { using NativeType = VkPhysicalDeviceImageDrmFormatModifierInfoEXT; @@ -88691,7 +88804,7 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH264CapabilitiesEXT; # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR VideoDecodeH264CapabilitiesEXT( uint32_t maxLevel_ = {}, + VULKAN_HPP_CONSTEXPR VideoDecodeH264CapabilitiesEXT( StdVideoH264Level maxLevel_ = {}, VULKAN_HPP_NAMESPACE::Offset2D fieldOffsetGranularity_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) @@ -88730,7 +88843,7 @@ namespace VULKAN_HPP_NAMESPACE # if 14 <= VULKAN_HPP_CPP_VERSION auto # else - std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, VULKAN_HPP_NAMESPACE::Offset2D const &> + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, StdVideoH264Level const &, VULKAN_HPP_NAMESPACE::Offset2D const &> # endif reflect() const VULKAN_HPP_NOEXCEPT { @@ -88739,27 +88852,36 @@ namespace VULKAN_HPP_NAMESPACE # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( VideoDecodeH264CapabilitiesEXT const & ) const = default; -# else + std::strong_ordering operator<=>( VideoDecodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) + return cmp; + if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) + return cmp; + if ( auto cmp = memcmp( &maxLevel, &rhs.maxLevel, sizeof( StdVideoH264Level ) ); cmp != 0 ) + return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; + if ( auto cmp = fieldOffsetGranularity <=> rhs.fieldOffsetGranularity; cmp != 0 ) + return cmp; + + return std::strong_ordering::equivalent; + } +# endif + bool operator==( VideoDecodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) - return this->reflect() == rhs.reflect(); -# else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxLevel == rhs.maxLevel ) && ( fieldOffsetGranularity == rhs.fieldOffsetGranularity ); -# endif + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &maxLevel, &rhs.maxLevel, sizeof( StdVideoH264Level ) ) == 0 ) && + ( fieldOffsetGranularity == rhs.fieldOffsetGranularity ); } bool operator!=( VideoDecodeH264CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -# endif public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH264CapabilitiesEXT; void * pNext = {}; - uint32_t maxLevel = {}; + StdVideoH264Level maxLevel = {}; VULKAN_HPP_NAMESPACE::Offset2D fieldOffsetGranularity = {}; }; VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoDecodeH264CapabilitiesEXT ) == sizeof( VkVideoDecodeH264CapabilitiesEXT ), @@ -89571,7 +89693,7 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoDecodeH265CapabilitiesEXT; # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR VideoDecodeH265CapabilitiesEXT( uint32_t maxLevel_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR VideoDecodeH265CapabilitiesEXT( StdVideoH265Level maxLevel_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , maxLevel( maxLevel_ ) { @@ -89607,7 +89729,7 @@ namespace VULKAN_HPP_NAMESPACE # if 14 <= VULKAN_HPP_CPP_VERSION auto # else - std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &> + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, StdVideoH265Level const &> # endif reflect() const VULKAN_HPP_NOEXCEPT { @@ -89616,27 +89738,33 @@ namespace VULKAN_HPP_NAMESPACE # endif # if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( VideoDecodeH265CapabilitiesEXT const & ) const = default; -# else + std::strong_ordering operator<=>( VideoDecodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + if ( auto cmp = sType <=> rhs.sType; cmp != 0 ) + return cmp; + if ( auto cmp = pNext <=> rhs.pNext; cmp != 0 ) + return cmp; + if ( auto cmp = memcmp( &maxLevel, &rhs.maxLevel, sizeof( StdVideoH265Level ) ); cmp != 0 ) + return ( cmp < 0 ) ? std::strong_ordering::less : std::strong_ordering::greater; + + return std::strong_ordering::equivalent; + } +# endif + bool operator==( VideoDecodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) - return this->reflect() == rhs.reflect(); -# else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( maxLevel == rhs.maxLevel ); -# endif + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memcmp( &maxLevel, &rhs.maxLevel, sizeof( StdVideoH265Level ) ) == 0 ); } bool operator!=( VideoDecodeH265CapabilitiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -# endif public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeH265CapabilitiesEXT; void * pNext = {}; - uint32_t maxLevel = {}; + StdVideoH265Level maxLevel = {}; }; VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoDecodeH265CapabilitiesEXT ) == sizeof( VkVideoDecodeH265CapabilitiesEXT ), "struct and wrapper have different size!" ); @@ -90371,8 +90499,6 @@ namespace VULKAN_HPP_NAMESPACE # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR VideoDecodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags_ = {}, - VULKAN_HPP_NAMESPACE::Offset2D codedOffset_ = {}, - VULKAN_HPP_NAMESPACE::Extent2D codedExtent_ = {}, VULKAN_HPP_NAMESPACE::Buffer srcBuffer_ = {}, VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset_ = {}, VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange_ = {}, @@ -90383,8 +90509,6 @@ namespace VULKAN_HPP_NAMESPACE const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , flags( flags_ ) - , codedOffset( codedOffset_ ) - , codedExtent( codedExtent_ ) , srcBuffer( srcBuffer_ ) , srcBufferOffset( srcBufferOffset_ ) , srcBufferRange( srcBufferRange_ ) @@ -90401,8 +90525,6 @@ namespace VULKAN_HPP_NAMESPACE # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) VideoDecodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags_, - VULKAN_HPP_NAMESPACE::Offset2D codedOffset_, - VULKAN_HPP_NAMESPACE::Extent2D codedExtent_, VULKAN_HPP_NAMESPACE::Buffer srcBuffer_, VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset_, VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange_, @@ -90412,8 +90534,6 @@ namespace VULKAN_HPP_NAMESPACE const void * pNext_ = nullptr ) : pNext( pNext_ ) , flags( flags_ ) - , codedOffset( codedOffset_ ) - , codedExtent( codedExtent_ ) , srcBuffer( srcBuffer_ ) , srcBufferOffset( srcBufferOffset_ ) , srcBufferRange( srcBufferRange_ ) @@ -90447,18 +90567,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setCodedOffset( VULKAN_HPP_NAMESPACE::Offset2D const & codedOffset_ ) VULKAN_HPP_NOEXCEPT - { - codedOffset = codedOffset_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setCodedExtent( VULKAN_HPP_NAMESPACE::Extent2D const & codedExtent_ ) VULKAN_HPP_NOEXCEPT - { - codedExtent = codedExtent_; - return *this; - } - VULKAN_HPP_CONSTEXPR_14 VideoDecodeInfoKHR & setSrcBuffer( VULKAN_HPP_NAMESPACE::Buffer srcBuffer_ ) VULKAN_HPP_NOEXCEPT { srcBuffer = srcBuffer_; @@ -90531,8 +90639,6 @@ namespace VULKAN_HPP_NAMESPACE std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR const &, - VULKAN_HPP_NAMESPACE::Offset2D const &, - VULKAN_HPP_NAMESPACE::Extent2D const &, VULKAN_HPP_NAMESPACE::Buffer const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, @@ -90543,18 +90649,8 @@ namespace VULKAN_HPP_NAMESPACE # endif reflect() const VULKAN_HPP_NOEXCEPT { - return std::tie( sType, - pNext, - flags, - codedOffset, - codedExtent, - srcBuffer, - srcBufferOffset, - srcBufferRange, - dstPictureResource, - pSetupReferenceSlot, - referenceSlotCount, - pReferenceSlots ); + return std::tie( + sType, pNext, flags, srcBuffer, srcBufferOffset, srcBufferRange, dstPictureResource, pSetupReferenceSlot, referenceSlotCount, pReferenceSlots ); } # endif @@ -90566,9 +90662,8 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( codedOffset == rhs.codedOffset ) && - ( codedExtent == rhs.codedExtent ) && ( srcBuffer == rhs.srcBuffer ) && ( srcBufferOffset == rhs.srcBufferOffset ) && - ( srcBufferRange == rhs.srcBufferRange ) && ( dstPictureResource == rhs.dstPictureResource ) && + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( srcBuffer == rhs.srcBuffer ) && + ( srcBufferOffset == rhs.srcBufferOffset ) && ( srcBufferRange == rhs.srcBufferRange ) && ( dstPictureResource == rhs.dstPictureResource ) && ( pSetupReferenceSlot == rhs.pSetupReferenceSlot ) && ( referenceSlotCount == rhs.referenceSlotCount ) && ( pReferenceSlots == rhs.pReferenceSlots ); # endif @@ -90584,8 +90679,6 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoDecodeInfoKHR; const void * pNext = {}; VULKAN_HPP_NAMESPACE::VideoDecodeFlagsKHR flags = {}; - VULKAN_HPP_NAMESPACE::Offset2D codedOffset = {}; - VULKAN_HPP_NAMESPACE::Extent2D codedExtent = {}; VULKAN_HPP_NAMESPACE::Buffer srcBuffer = {}; VULKAN_HPP_NAMESPACE::DeviceSize srcBufferOffset = {}; VULKAN_HPP_NAMESPACE::DeviceSize srcBufferRange = {}; @@ -90620,7 +90713,7 @@ namespace VULKAN_HPP_NAMESPACE uint8_t rateControlLayerCount_ = {}, uint8_t qualityLevelCount_ = {}, VULKAN_HPP_NAMESPACE::Extent2D inputImageDataFillAlignment_ = {}, - const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , flags( flags_ ) , rateControlModes( rateControlModes_ ) @@ -90646,46 +90739,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } -# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 VideoEncodeCapabilitiesKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT - { - pNext = pNext_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeCapabilitiesKHR & setFlags( VULKAN_HPP_NAMESPACE::VideoEncodeCapabilityFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT - { - flags = flags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeCapabilitiesKHR & - setRateControlModes( VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagsKHR rateControlModes_ ) VULKAN_HPP_NOEXCEPT - { - rateControlModes = rateControlModes_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeCapabilitiesKHR & setRateControlLayerCount( uint8_t rateControlLayerCount_ ) VULKAN_HPP_NOEXCEPT - { - rateControlLayerCount = rateControlLayerCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeCapabilitiesKHR & setQualityLevelCount( uint8_t qualityLevelCount_ ) VULKAN_HPP_NOEXCEPT - { - qualityLevelCount = qualityLevelCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeCapabilitiesKHR & - setInputImageDataFillAlignment( VULKAN_HPP_NAMESPACE::Extent2D const & inputImageDataFillAlignment_ ) VULKAN_HPP_NOEXCEPT - { - inputImageDataFillAlignment = inputImageDataFillAlignment_; - return *this; - } -# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ - explicit operator VkVideoEncodeCapabilitiesKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkVideoEncodeCapabilitiesKHR *>( this ); @@ -90701,7 +90754,7 @@ namespace VULKAN_HPP_NAMESPACE auto # else std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, - const void * const &, + void * const &, VULKAN_HPP_NAMESPACE::VideoEncodeCapabilityFlagsKHR const &, VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagsKHR const &, uint8_t const &, @@ -90736,7 +90789,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeCapabilitiesKHR; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::VideoEncodeCapabilityFlagsKHR flags = {}; VULKAN_HPP_NAMESPACE::VideoEncodeRateControlModeFlagsKHR rateControlModes = {}; uint8_t rateControlLayerCount = {}; @@ -90776,7 +90829,7 @@ namespace VULKAN_HPP_NAMESPACE uint32_t maxBitsPerMbDenom_ = {}, uint32_t log2MaxMvLengthHorizontal_ = {}, uint32_t log2MaxMvLengthVertical_ = {}, - const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , flags( flags_ ) , inputModeFlags( inputModeFlags_ ) @@ -90808,83 +90861,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } -# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT - { - pNext = pNext_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setFlags( VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilityFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT - { - flags = flags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & - setInputModeFlags( VULKAN_HPP_NAMESPACE::VideoEncodeH264InputModeFlagsEXT inputModeFlags_ ) VULKAN_HPP_NOEXCEPT - { - inputModeFlags = inputModeFlags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & - setOutputModeFlags( VULKAN_HPP_NAMESPACE::VideoEncodeH264OutputModeFlagsEXT outputModeFlags_ ) VULKAN_HPP_NOEXCEPT - { - outputModeFlags = outputModeFlags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setMaxPPictureL0ReferenceCount( uint8_t maxPPictureL0ReferenceCount_ ) VULKAN_HPP_NOEXCEPT - { - maxPPictureL0ReferenceCount = maxPPictureL0ReferenceCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setMaxBPictureL0ReferenceCount( uint8_t maxBPictureL0ReferenceCount_ ) VULKAN_HPP_NOEXCEPT - { - maxBPictureL0ReferenceCount = maxBPictureL0ReferenceCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setMaxL1ReferenceCount( uint8_t maxL1ReferenceCount_ ) VULKAN_HPP_NOEXCEPT - { - maxL1ReferenceCount = maxL1ReferenceCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & - setMotionVectorsOverPicBoundariesFlag( VULKAN_HPP_NAMESPACE::Bool32 motionVectorsOverPicBoundariesFlag_ ) VULKAN_HPP_NOEXCEPT - { - motionVectorsOverPicBoundariesFlag = motionVectorsOverPicBoundariesFlag_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setMaxBytesPerPicDenom( uint32_t maxBytesPerPicDenom_ ) VULKAN_HPP_NOEXCEPT - { - maxBytesPerPicDenom = maxBytesPerPicDenom_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setMaxBitsPerMbDenom( uint32_t maxBitsPerMbDenom_ ) VULKAN_HPP_NOEXCEPT - { - maxBitsPerMbDenom = maxBitsPerMbDenom_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setLog2MaxMvLengthHorizontal( uint32_t log2MaxMvLengthHorizontal_ ) VULKAN_HPP_NOEXCEPT - { - log2MaxMvLengthHorizontal = log2MaxMvLengthHorizontal_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH264CapabilitiesEXT & setLog2MaxMvLengthVertical( uint32_t log2MaxMvLengthVertical_ ) VULKAN_HPP_NOEXCEPT - { - log2MaxMvLengthVertical = log2MaxMvLengthVertical_; - return *this; - } -# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ - explicit operator VkVideoEncodeH264CapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkVideoEncodeH264CapabilitiesEXT *>( this ); @@ -90900,7 +90876,7 @@ namespace VULKAN_HPP_NAMESPACE auto # else std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, - const void * const &, + void * const &, VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilityFlagsEXT const &, VULKAN_HPP_NAMESPACE::VideoEncodeH264InputModeFlagsEXT const &, VULKAN_HPP_NAMESPACE::VideoEncodeH264OutputModeFlagsEXT const &, @@ -90956,7 +90932,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH264CapabilitiesEXT; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::VideoEncodeH264CapabilityFlagsEXT flags = {}; VULKAN_HPP_NAMESPACE::VideoEncodeH264InputModeFlagsEXT inputModeFlags = {}; VULKAN_HPP_NAMESPACE::VideoEncodeH264OutputModeFlagsEXT outputModeFlags = {}; @@ -92719,18 +92695,18 @@ namespace VULKAN_HPP_NAMESPACE 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_ = {}, - const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + 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_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , flags( flags_ ) , inputModeFlags( inputModeFlags_ ) @@ -92771,145 +92747,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } -# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT - { - pNext = pNext_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setFlags( VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilityFlagsEXT flags_ ) VULKAN_HPP_NOEXCEPT - { - flags = flags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setInputModeFlags( VULKAN_HPP_NAMESPACE::VideoEncodeH265InputModeFlagsEXT inputModeFlags_ ) VULKAN_HPP_NOEXCEPT - { - inputModeFlags = inputModeFlags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setOutputModeFlags( VULKAN_HPP_NAMESPACE::VideoEncodeH265OutputModeFlagsEXT outputModeFlags_ ) VULKAN_HPP_NOEXCEPT - { - outputModeFlags = outputModeFlags_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setCtbSizes( VULKAN_HPP_NAMESPACE::VideoEncodeH265CtbSizeFlagsEXT ctbSizes_ ) VULKAN_HPP_NOEXCEPT - { - ctbSizes = ctbSizes_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setTransformBlockSizes( VULKAN_HPP_NAMESPACE::VideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes_ ) VULKAN_HPP_NOEXCEPT - { - transformBlockSizes = transformBlockSizes_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMaxPPictureL0ReferenceCount( uint8_t maxPPictureL0ReferenceCount_ ) VULKAN_HPP_NOEXCEPT - { - maxPPictureL0ReferenceCount = maxPPictureL0ReferenceCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMaxBPictureL0ReferenceCount( uint8_t maxBPictureL0ReferenceCount_ ) VULKAN_HPP_NOEXCEPT - { - maxBPictureL0ReferenceCount = maxBPictureL0ReferenceCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMaxL1ReferenceCount( uint8_t maxL1ReferenceCount_ ) VULKAN_HPP_NOEXCEPT - { - maxL1ReferenceCount = maxL1ReferenceCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMaxSubLayersCount( uint8_t maxSubLayersCount_ ) VULKAN_HPP_NOEXCEPT - { - maxSubLayersCount = maxSubLayersCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMinLog2MinLumaCodingBlockSizeMinus3( uint8_t minLog2MinLumaCodingBlockSizeMinus3_ ) VULKAN_HPP_NOEXCEPT - { - minLog2MinLumaCodingBlockSizeMinus3 = minLog2MinLumaCodingBlockSizeMinus3_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMaxLog2MinLumaCodingBlockSizeMinus3( uint8_t maxLog2MinLumaCodingBlockSizeMinus3_ ) VULKAN_HPP_NOEXCEPT - { - maxLog2MinLumaCodingBlockSizeMinus3 = maxLog2MinLumaCodingBlockSizeMinus3_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMinLog2MinLumaTransformBlockSizeMinus2( uint8_t minLog2MinLumaTransformBlockSizeMinus2_ ) VULKAN_HPP_NOEXCEPT - { - minLog2MinLumaTransformBlockSizeMinus2 = minLog2MinLumaTransformBlockSizeMinus2_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMaxLog2MinLumaTransformBlockSizeMinus2( uint8_t maxLog2MinLumaTransformBlockSizeMinus2_ ) VULKAN_HPP_NOEXCEPT - { - maxLog2MinLumaTransformBlockSizeMinus2 = maxLog2MinLumaTransformBlockSizeMinus2_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMinMaxTransformHierarchyDepthInter( uint8_t minMaxTransformHierarchyDepthInter_ ) VULKAN_HPP_NOEXCEPT - { - minMaxTransformHierarchyDepthInter = minMaxTransformHierarchyDepthInter_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMaxMaxTransformHierarchyDepthInter( uint8_t maxMaxTransformHierarchyDepthInter_ ) VULKAN_HPP_NOEXCEPT - { - maxMaxTransformHierarchyDepthInter = maxMaxTransformHierarchyDepthInter_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMinMaxTransformHierarchyDepthIntra( uint8_t minMaxTransformHierarchyDepthIntra_ ) VULKAN_HPP_NOEXCEPT - { - minMaxTransformHierarchyDepthIntra = minMaxTransformHierarchyDepthIntra_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & - setMaxMaxTransformHierarchyDepthIntra( uint8_t maxMaxTransformHierarchyDepthIntra_ ) VULKAN_HPP_NOEXCEPT - { - maxMaxTransformHierarchyDepthIntra = maxMaxTransformHierarchyDepthIntra_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMaxDiffCuQpDeltaDepth( uint8_t maxDiffCuQpDeltaDepth_ ) VULKAN_HPP_NOEXCEPT - { - maxDiffCuQpDeltaDepth = maxDiffCuQpDeltaDepth_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMinMaxNumMergeCand( uint8_t minMaxNumMergeCand_ ) VULKAN_HPP_NOEXCEPT - { - minMaxNumMergeCand = minMaxNumMergeCand_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoEncodeH265CapabilitiesEXT & setMaxMaxNumMergeCand( uint8_t maxMaxNumMergeCand_ ) VULKAN_HPP_NOEXCEPT - { - maxMaxNumMergeCand = maxMaxNumMergeCand_; - return *this; - } -# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ - explicit operator VkVideoEncodeH265CapabilitiesEXT const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkVideoEncodeH265CapabilitiesEXT *>( this ); @@ -92925,7 +92762,7 @@ namespace VULKAN_HPP_NAMESPACE auto # else std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, - const void * const &, + void * const &, VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilityFlagsEXT const &, VULKAN_HPP_NAMESPACE::VideoEncodeH265InputModeFlagsEXT const &, VULKAN_HPP_NAMESPACE::VideoEncodeH265OutputModeFlagsEXT const &, @@ -93006,7 +92843,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoEncodeH265CapabilitiesEXT; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::VideoEncodeH265CapabilityFlagsEXT flags = {}; VULKAN_HPP_NAMESPACE::VideoEncodeH265InputModeFlagsEXT inputModeFlags = {}; VULKAN_HPP_NAMESPACE::VideoEncodeH265OutputModeFlagsEXT outputModeFlags = {}; @@ -94841,7 +94678,6 @@ namespace VULKAN_HPP_NAMESPACE # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR VideoEncodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags_ = {}, uint32_t qualityLevel_ = {}, - VULKAN_HPP_NAMESPACE::Extent2D codedExtent_ = {}, VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer_ = {}, VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset_ = {}, VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange_ = {}, @@ -94854,7 +94690,6 @@ namespace VULKAN_HPP_NAMESPACE : pNext( pNext_ ) , flags( flags_ ) , qualityLevel( qualityLevel_ ) - , codedExtent( codedExtent_ ) , dstBitstreamBuffer( dstBitstreamBuffer_ ) , dstBitstreamBufferOffset( dstBitstreamBufferOffset_ ) , dstBitstreamBufferMaxRange( dstBitstreamBufferMaxRange_ ) @@ -94873,7 +94708,6 @@ namespace VULKAN_HPP_NAMESPACE # if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) VideoEncodeInfoKHR( VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags_, uint32_t qualityLevel_, - VULKAN_HPP_NAMESPACE::Extent2D codedExtent_, VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer_, VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset_, VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange_, @@ -94885,7 +94719,6 @@ namespace VULKAN_HPP_NAMESPACE : pNext( pNext_ ) , flags( flags_ ) , qualityLevel( qualityLevel_ ) - , codedExtent( codedExtent_ ) , dstBitstreamBuffer( dstBitstreamBuffer_ ) , dstBitstreamBufferOffset( dstBitstreamBufferOffset_ ) , dstBitstreamBufferMaxRange( dstBitstreamBufferMaxRange_ ) @@ -94926,12 +94759,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setCodedExtent( VULKAN_HPP_NAMESPACE::Extent2D const & codedExtent_ ) VULKAN_HPP_NOEXCEPT - { - codedExtent = codedExtent_; - return *this; - } - VULKAN_HPP_CONSTEXPR_14 VideoEncodeInfoKHR & setDstBitstreamBuffer( VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer_ ) VULKAN_HPP_NOEXCEPT { dstBitstreamBuffer = dstBitstreamBuffer_; @@ -95012,7 +94839,6 @@ namespace VULKAN_HPP_NAMESPACE const void * const &, VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR const &, uint32_t const &, - VULKAN_HPP_NAMESPACE::Extent2D const &, VULKAN_HPP_NAMESPACE::Buffer const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, VULKAN_HPP_NAMESPACE::DeviceSize const &, @@ -95028,7 +94854,6 @@ namespace VULKAN_HPP_NAMESPACE pNext, flags, qualityLevel, - codedExtent, dstBitstreamBuffer, dstBitstreamBufferOffset, dstBitstreamBufferMaxRange, @@ -95049,11 +94874,10 @@ namespace VULKAN_HPP_NAMESPACE return this->reflect() == rhs.reflect(); # else return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( qualityLevel == rhs.qualityLevel ) && - ( codedExtent == rhs.codedExtent ) && ( dstBitstreamBuffer == rhs.dstBitstreamBuffer ) && - ( dstBitstreamBufferOffset == rhs.dstBitstreamBufferOffset ) && ( dstBitstreamBufferMaxRange == rhs.dstBitstreamBufferMaxRange ) && - ( srcPictureResource == rhs.srcPictureResource ) && ( pSetupReferenceSlot == rhs.pSetupReferenceSlot ) && - ( referenceSlotCount == rhs.referenceSlotCount ) && ( pReferenceSlots == rhs.pReferenceSlots ) && - ( precedingExternallyEncodedBytes == rhs.precedingExternallyEncodedBytes ); + ( dstBitstreamBuffer == rhs.dstBitstreamBuffer ) && ( dstBitstreamBufferOffset == rhs.dstBitstreamBufferOffset ) && + ( dstBitstreamBufferMaxRange == rhs.dstBitstreamBufferMaxRange ) && ( srcPictureResource == rhs.srcPictureResource ) && + ( pSetupReferenceSlot == rhs.pSetupReferenceSlot ) && ( referenceSlotCount == rhs.referenceSlotCount ) && + ( pReferenceSlots == rhs.pReferenceSlots ) && ( precedingExternallyEncodedBytes == rhs.precedingExternallyEncodedBytes ); # endif } @@ -95068,7 +94892,6 @@ namespace VULKAN_HPP_NAMESPACE const void * pNext = {}; VULKAN_HPP_NAMESPACE::VideoEncodeFlagsKHR flags = {}; uint32_t qualityLevel = {}; - VULKAN_HPP_NAMESPACE::Extent2D codedExtent = {}; VULKAN_HPP_NAMESPACE::Buffer dstBitstreamBuffer = {}; VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferOffset = {}; VULKAN_HPP_NAMESPACE::DeviceSize dstBitstreamBufferMaxRange = {}; diff --git a/registry/validusage.json b/registry/validusage.json index 2a1b9c1..5259a68 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.210", - "comment": "from git branch: github-main commit: 45af5eb1f66898c9f382edc5afd691aeb32c10c0", - "date": "2022-03-29 10:49:12Z" + "api version": "1.3.211", + "comment": "from git branch: github-main commit: 2a31e99cbaa07dba4e2036c0bfe76aa3ebe8b2a4", + "date": "2022-04-05 10:29:26Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -652,7 +652,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -10317,8 +10317,8 @@ "text": " If <code>stage</code> is <code>VK_SHADER_STAGE_FRAGMENT_BIT</code>, and the identified entry point writes to <code>FragDepth</code> in any execution path, all execution paths that are not exclusive to helper invocations <strong class=\"purple\">must</strong> either discard the fragment, or write or initialize the value of <code>FragDepth</code>" }, { - "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-04145", - "text": " The SPIR-V code that was used to create <code>module</code> <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants" + "vuid": "VUID-VkPipelineShaderStageCreateInfo-pSpecializationInfo-06719", + "text": " The shader code used by the pipeline <strong class=\"purple\">must</strong> be valid as described by the <a href=\"#spirv-spec\">Khronos SPIR-V Specification</a> after applying the specializations provided in <code>pSpecializationInfo</code>, if any, and then converting all specialization constants into fixed constants" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-sType-sType", @@ -10410,6 +10410,22 @@ "vuid": "VUID-VkPipelineShaderStageCreateInfo-flags-02759", "text": " If <code>flags</code> has the <code>VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT</code> flag set and <code>flags</code> does not have the <code>VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT</code> flag set and no <a href=\"#VkPipelineShaderStageRequiredSubgroupSizeCreateInfo\">VkPipelineShaderStageRequiredSubgroupSizeCreateInfo</a> structure is included in the <code>pNext</code> chain, the local workgroup size in the X dimension of the pipeline <strong class=\"purple\">must</strong> be a multiple of <a href=\"#limits-subgroup-size\"><code>subgroupSize</code></a>" } + ], + "!(VK_EXT_graphics_pipeline_library)": [ + { + "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-06716", + "text": " <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a>" + } + ], + "(VK_EXT_graphics_pipeline_library)": [ + { + "vuid": "VUID-VkPipelineShaderStageCreateInfo-graphicsPipelineLibrary-06717", + "text": " If the <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> feature is not enabled, <code>module</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModule\">VkShaderModule</a>" + }, + { + "vuid": "VUID-VkPipelineShaderStageCreateInfo-module-06718", + "text": " If <code>module</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, there <strong class=\"purple\">must</strong> be a valid <a href=\"#VkShaderModuleCreateInfo\">VkShaderModuleCreateInfo</a> structure in the <code>pNext</code> chain" + } ] }, "VkPipelineShaderStageRequiredSubgroupSizeCreateInfo": { @@ -12320,7 +12336,7 @@ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_pipeline_library)": [ { "vuid": "VUID-vkGetRayTracingShaderGroupHandlesKHR-pipeline-03482", - "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have not been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>" + "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>" } ] }, @@ -12370,6 +12386,12 @@ "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-parent", "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>" } + ], + "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_pipeline_library)": [ + { + "vuid": "VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-06720", + "text": " <code>pipeline</code> <strong class=\"purple\">must</strong> not have been created with <code>VK_PIPELINE_CREATE_LIBRARY_BIT_KHR</code>" + } ] }, "vkCompileDeferredNV": { @@ -12757,6 +12779,10 @@ { "vuid": "VUID-vkCmdBindPipeline-pipelineBindPoint-02392", "text": " If <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR</code>, <code>pipeline</code> <strong class=\"purple\">must</strong> be a ray tracing pipeline" + }, + { + "vuid": "VUID-vkCmdBindPipeline-pipelineBindPoint-06721", + "text": " If <code>pipelineBindPoint</code> is <code>VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR</code>, <code>commandBuffer</code> <strong class=\"purple\">must</strong> not be a protected command buffer" } ], "(VK_KHR_pipeline_library)": [ @@ -15463,8 +15489,8 @@ ], "(VK_VERSION_1_2,VK_KHR_image_format_list)": [ { - "vuid": "VUID-VkImageCreateInfo-pNext-04737", - "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then all of the formats in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a>" + "vuid": "VUID-VkImageCreateInfo-pNext-06722", + "text": " If a <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a> structure was included in the <code>pNext</code> chain and <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>viewFormatCount</code> is not zero, then each format in <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>::<code>pViewFormats</code> <strong class=\"purple\">must</strong> either be compatible with the <code>format</code> as described in the <a href=\"#formats-compatibility\">compatibility table</a> or, if <code>flags</code> contains <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code>, be an uncompressed format that is size-compatible with <code>format</code>" }, { "vuid": "VUID-VkImageCreateInfo-flags-04738", @@ -15961,8 +15987,8 @@ ], "(VK_VERSION_1_1,VK_KHR_maintenance1)": [ { - "vuid": "VUID-VkImageViewCreateInfo-image-01005", - "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>" + "vuid": "VUID-VkImageViewCreateInfo-image-06723", + "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>" }, { "vuid": "VUID-VkImageViewCreateInfo-image-04970", @@ -15977,20 +16003,40 @@ "text": " If <code>image</code> was created with a <code>samples</code> value not equal to <code>VK_SAMPLE_COUNT_1_BIT</code> then <code>viewType</code> <strong class=\"purple\">must</strong> be either <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>" }, { + "vuid": "VUID-VkImageViewCreateInfo-image-02724", + "text": " If <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>" + }, + { + "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-02725", + "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> + <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>" + } + ], + "(VK_VERSION_1_1,VK_KHR_maintenance1)+!(VK_EXT_image_2d_view_of_3d)": [ + { + "vuid": "VUID-VkImageViewCreateInfo-image-06727", + "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D</code>" + }, + { "vuid": "VUID-VkImageViewCreateInfo-image-01482", "text": " If <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created" }, { "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-01483", "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> + <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created" + } + ], + "(VK_VERSION_1_1,VK_KHR_maintenance1)+(VK_EXT_image_2d_view_of_3d)": [ + { + "vuid": "VUID-VkImageViewCreateInfo-image-06728", + "text": " If <code>image</code> was created with <code>VK_IMAGE_TYPE_3D</code> but without <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> or <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set, then <code>viewType</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_VIEW_TYPE_2D</code>" }, { - "vuid": "VUID-VkImageViewCreateInfo-image-02724", - "text": " If <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>" + "vuid": "VUID-VkImageViewCreateInfo-image-06724", + "text": " If <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> or <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.baseArrayLayer</code> <strong class=\"purple\">must</strong> be less than the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created" }, { - "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-02725", - "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> set, and <code>viewType</code> is <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> + <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the depth computed from <code>baseMipLevel</code> and <code>extent.depth</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created, according to the formula defined in <a href=\"#resources-image-miplevel-sizing\">Image Miplevel Sizing</a>" + "vuid": "VUID-VkImageViewCreateInfo-subresourceRange-06725", + "text": " If <code>subresourceRange.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code>, <code>image</code> is not a 3D image created with <code>VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT</code> or <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set, or <code>viewType</code> is not <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code>, <code>subresourceRange.layerCount</code> <strong class=\"purple\">must</strong> be non-zero and <span class=\"eq\"><code>subresourceRange.baseArrayLayer</code> + <code>subresourceRange.layerCount</code></span> <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>image</code> was created" } ], "(VK_NV_linear_color_attachment)": [ @@ -18546,7 +18592,13 @@ "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)": [ { "vuid": "VUID-VkSamplerCreateInfo-None-01647", - "text": " The sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code> if <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled" + "text": " if <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> is enabled and the <code>pNext</code> chain includes a <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a> structure, then the sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code>" + } + ], + "(VK_VERSION_1_2)": [ + { + "vuid": "VUID-VkSamplerCreateInfo-pNext-06726", + "text": " If <a href=\"#features-samplerFilterMinmax\">samplerFilterMinmax</a> is not enabled and the <code>pNext</code> chain includes a <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a> structure, then the sampler reduction mode <strong class=\"purple\">must</strong> be set to <code>VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE</code>" } ], "(VK_IMG_filter_cubic,VK_EXT_filter_cubic)": [ @@ -20020,11 +20072,11 @@ }, { "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00332", - "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the effective range if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxUniformBufferRange</code>" + "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the <a href=\"#buffer-info-effective-range\">effective range</a> if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxUniformBufferRange</code>" }, { "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00333", - "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the effective range if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxStorageBufferRange</code>" + "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>, the <code>range</code> member of each element of <code>pBufferInfo</code>, or the <a href=\"#buffer-info-effective-range\">effective range</a> if <code>range</code> is <code>VK_WHOLE_SIZE</code>, <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxStorageBufferRange</code>" }, { "vuid": "VUID-VkWriteDescriptorSet-descriptorType-00334", @@ -20135,6 +20187,12 @@ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, and <code>dstSet</code> was allocated with a layout that included immutable samplers for <code>dstBinding</code>, then the <code>imageView</code> member of each element of <code>pImageInfo</code> which corresponds to an immutable sampler that enables <a href=\"#samplers-YCbCr-conversion\">sampler {YCbCr} conversion</a> <strong class=\"purple\">must</strong> have been created with a <code>VkSamplerYcbcrConversionInfo</code> structure in its <code>pNext</code> chain with an <em>identically defined</em> <code>VkSamplerYcbcrConversionInfo</code> to the corresponding immutable sampler" } ], + "(VK_EXT_image_2d_view_of_3d)": [ + { + "vuid": "VUID-VkWriteDescriptorSet-descriptorType-06710", + "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, or <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, each <code>imageView</code> member of each element of <code>pImageInfo</code> that is a 2D image view created from a 3D image <strong class=\"purple\">must</strong> have been created from an image created with <code>VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT</code> set" + } + ], "(VK_VALVE_mutable_descriptor_type)": [ { "vuid": "VUID-VkWriteDescriptorSet-dstSet-04611", @@ -20179,10 +20237,26 @@ ] }, "VkDescriptorImageInfo": { + "(VK_VERSION_1_1,VK_KHR_maintenance1)+!(VK_EXT_image_2d_view_of_3d)": [ + { + "vuid": "VUID-VkDescriptorImageInfo-imageView-06711", + "text": " <code>imageView</code> <strong class=\"purple\">must</strong> not be 2D image view created from a 3D image" + } + ], "(VK_VERSION_1_1,VK_KHR_maintenance1)": [ { - "vuid": "VUID-VkDescriptorImageInfo-imageView-00343", - "text": " <code>imageView</code> <strong class=\"purple\">must</strong> not be 2D or 2D array image view created from a 3D image" + "vuid": "VUID-VkDescriptorImageInfo-imageView-06712", + "text": " <code>imageView</code> <strong class=\"purple\">must</strong> not be a 2D array image view created from a 3D image" + } + ], + "(VK_VERSION_1_1,VK_KHR_maintenance1)+(VK_EXT_image_2d_view_of_3d)": [ + { + "vuid": "VUID-VkDescriptorImageInfo-descriptorType-06713", + "text": " If the <a href=\"#features-image2DViewOf3D\">image2DViewOf3D</a> feature is not enabled and <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code> then <code>imageView</code> <strong class=\"purple\">must</strong> not be a 2D view created from a 3D image" + }, + { + "vuid": "VUID-VkDescriptorImageInfo-descriptorType-06714", + "text": " If the <a href=\"#features-sampler2DViewOf3D\">sampler2DViewOf3D</a> feature is not enabled and <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code> or <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> then <code>imageView</code> <strong class=\"purple\">must</strong> not be a 2D view created from a 3D image" } ], "core": [ @@ -20580,7 +20654,11 @@ }, { "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979", - "text": " For each dynamic uniform or storage buffer binding in <code>pDescriptorSets</code>, the sum of the effective offset, as defined above, and the range of the binding <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer" + "text": " For each dynamic uniform or storage buffer binding in <code>pDescriptorSets</code>, the sum of the <a href=\"#dynamic-effective-offset\">effective offset</a> and the range of the binding <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer" + }, + { + "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-06715", + "text": " For each dynamic uniform or storage buffer binding in <code>pDescriptorSets</code>, if the range was set with <code>VK_WHOLE_SIZE</code> then <code>pDynamicOffsets</code> which corresponds to the descriptor binding <strong class=\"purple\">must</strong> be 0" }, { "vuid": "VUID-vkCmdBindDescriptorSets-commandBuffer-parameter", @@ -20634,7 +20712,7 @@ "(VK_EXT_graphics_pipeline_library)": [ { "vuid": "VUID-vkCmdBindDescriptorSets-layout-06564", - "text": " If <code>layout</code> was not created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a>" + "text": " If <code>layout</code> was not created with <code>VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT</code>, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>" } ] }, @@ -24558,7 +24636,7 @@ }, { "vuid": "VUID-vkCmdCopyImage-srcOffset-00147", - "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>" + "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>" }, { "vuid": "VUID-vkCmdCopyImage-srcImage-01785", @@ -24590,7 +24668,7 @@ }, { "vuid": "VUID-vkCmdCopyImage-dstOffset-00153", - "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>" + "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>" }, { "vuid": "VUID-vkCmdCopyImage-srcImage-01727", @@ -24998,7 +25076,7 @@ }, { "vuid": "VUID-VkCopyImageInfo2-srcOffset-00147", - "text": " For each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>" + "text": " If <code>srcImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>srcOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>srcOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>srcSubresource</code> of <code>srcImage</code>" }, { "vuid": "VUID-VkCopyImageInfo2-srcImage-01785", @@ -25030,7 +25108,7 @@ }, { "vuid": "VUID-VkCopyImageInfo2-dstOffset-00153", - "text": " For each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>" + "text": " If <code>dstImage</code> is of type <code>VK_IMAGE_TYPE_3D</code>, then for each element of <code>pRegions</code>, <code>dstOffset.z</code> and <span class=\"eq\">(<code>extent.depth</code> + <code>dstOffset.z</code>)</span> <strong class=\"purple\">must</strong> both be greater than or equal to <code>0</code> and less than or equal to the depth of the specified <code>dstSubresource</code> of <code>dstImage</code>" }, { "vuid": "VUID-VkCopyImageInfo2-srcImage-01727", @@ -45699,14 +45777,6 @@ { "vuid": "VUID-VkVideoEncodeCapabilitiesKHR-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR</code>" - }, - { - "vuid": "VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-parameter", - "text": " <code>rateControlModes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeRateControlModeFlagBitsKHR\">VkVideoEncodeRateControlModeFlagBitsKHR</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeCapabilitiesKHR-rateControlModes-requiredbitmask", - "text": " <code>rateControlModes</code> <strong class=\"purple\">must</strong> not be <code>0</code>" } ] }, @@ -45835,22 +45905,6 @@ { "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT</code>" - }, - { - "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-parameter", - "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH264InputModeFlagBitsEXT\">VkVideoEncodeH264InputModeFlagBitsEXT</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-inputModeFlags-requiredbitmask", - "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>" - }, - { - "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-parameter", - "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH264OutputModeFlagBitsEXT\">VkVideoEncodeH264OutputModeFlagBitsEXT</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeH264CapabilitiesEXT-outputModeFlags-requiredbitmask", - "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>" } ] }, @@ -46075,38 +46129,6 @@ { "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT</code>" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-parameter", - "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265InputModeFlagBitsEXT\">VkVideoEncodeH265InputModeFlagBitsEXT</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-inputModeFlags-requiredbitmask", - "text": " <code>inputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-parameter", - "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265OutputModeFlagBitsEXT\">VkVideoEncodeH265OutputModeFlagBitsEXT</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-outputModeFlags-requiredbitmask", - "text": " <code>outputModeFlags</code> <strong class=\"purple\">must</strong> not be <code>0</code>" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-parameter", - "text": " <code>ctbSizes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265CtbSizeFlagBitsEXT\">VkVideoEncodeH265CtbSizeFlagBitsEXT</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-ctbSizes-requiredbitmask", - "text": " <code>ctbSizes</code> <strong class=\"purple\">must</strong> not be <code>0</code>" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-parameter", - "text": " <code>transformBlockSizes</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkVideoEncodeH265TransformBlockSizeFlagBitsEXT\">VkVideoEncodeH265TransformBlockSizeFlagBitsEXT</a> values" - }, - { - "vuid": "VUID-VkVideoEncodeH265CapabilitiesEXT-transformBlockSizes-requiredbitmask", - "text": " <code>transformBlockSizes</code> <strong class=\"purple\">must</strong> not be <code>0</code>" } ] }, @@ -47330,6 +47352,14 @@ } ] }, + "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT": { + "(VK_EXT_image_2d_view_of_3d)": [ + { + "vuid": "VUID-VkPhysicalDeviceImage2DViewOf3DFeaturesEXT-sType-sType", + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT</code>" + } + ] + }, "VkPhysicalDevicePushDescriptorPropertiesKHR": { "(VK_KHR_push_descriptor)": [ { diff --git a/registry/video.xml b/registry/video.xml new file mode 100644 index 0000000..4d9e020 --- /dev/null +++ b/registry/video.xml @@ -0,0 +1,1113 @@ +<?xml version="1.0" encoding="UTF-8"?> +<registry> + <comment> +Copyright 2021-2022 The Khronos Group Inc. +SPDX-License-Identifier: Apache-2.0 OR MIT + </comment> + + <comment> +This file, video.xml, is NOT a normative part of the Vulkan Specification. +It includes a machine-readable definition of data structures and +enumerations that are associated with externally-provided video standards, +and are non-normatively referred to by Khronos extensions to Vulkan. + +The current public version of video.xml is maintained in the default branch +(currently named main) of the Khronos Vulkan GitHub project. + </comment> + + <types comment="Video type definitions"> + <!-- base types --> + <type name="stdint" category="include">#include <stdint.h></type> + <type name="uint32_t" requires="stdint"/> + <type name="uint16_t" requires="stdint"/> + <type name="uint8_t" requires="stdint"/> + <type name="int32_t" requires="stdint"/> + <type name="int8_t" requires="stdint"/> + + <!-- vulkan_video_codecs_common macros --> + <type category="define">#define <name>VK_MAKE_VIDEO_STD_VERSION</name>(major, minor, patch) \ + ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))</type> + + <!-- vulkan_video_codec_h264std_decode.h macros --> + <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.264 decode std specification version number +#define <name>VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type> + + <!-- vulkan_video_codec_h264std_encode.h macros --> + <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.264 encode std specification version number +#define <name>VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type> + + <!-- vulkan_video_codec_h265std_decode.h macros --> + <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.265 decode std specification version number +#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type> + + <!-- vulkan_video_codec_h265std_encode.h macros --> + <type category="define" requires="VK_MAKE_VIDEO_STD_VERSION">// Vulkan 0.9 provisional Vulkan video H.265 encode std specification version number +#define <name>VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6</name> <type>VK_MAKE_VIDEO_STD_VERSION</type>(0, 9, 6) // Patch version should always be set to 0</type> + + <!-- vulkan_video_codec_h264std.h enumerated types --> + <type name="StdVideoH264ChromaFormatIdc" category="enum"/> + <type name="StdVideoH264ProfileIdc" category="enum"/> + <type name="StdVideoH264Level" category="enum"/> + <type name="StdVideoH264PocType" category="enum"/> + <type name="StdVideoH264AspectRatioIdc" category="enum"/> + <type name="StdVideoH264WeightedBipredIdc" category="enum"/> + <type name="StdVideoH264ModificationOfPicNumsIdc" category="enum"/> + <type name="StdVideoH264MemMgmtControlOp" category="enum"/> + <type name="StdVideoH264CabacInitIdc" category="enum"/> + <type name="StdVideoH264DisableDeblockingFilterIdc" category="enum"/> + <type name="StdVideoH264SliceType" category="enum"/> + <type name="StdVideoH264PictureType" category="enum"/> + <type name="StdVideoH264NonVclNaluType" category="enum"/> + + <!-- vulkan_video_codec_h264std.h structs --> + <type category="struct" name="StdVideoH264SpsVuiFlags"> + <member><type>uint32_t</type> <name>aspect_ratio_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>overscan_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>overscan_appropriate_flag</name> : 1</member> + <member><type>uint32_t</type> <name>video_signal_type_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>video_full_range_flag</name> : 1</member> + <member><type>uint32_t</type> <name>color_description_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>chroma_loc_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>timing_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>fixed_frame_rate_flag</name> : 1</member> + <member><type>uint32_t</type> <name>bitstream_restriction_flag</name> : 1</member> + <member><type>uint32_t</type> <name>nal_hrd_parameters_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vcl_hrd_parameters_present_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH264HrdParameters" comment="hrd_parameters"> + <member><type>uint8_t</type> <name>cpb_cnt_minus1</name></member> + <member><type>uint8_t</type> <name>bit_rate_scale</name></member> + <member><type>uint8_t</type> <name>cpb_size_scale</name></member> + <member><type>uint32_t</type> <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member> + <member><type>uint32_t</type> <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member> + <member><type>uint8_t</type> <name>cbr_flag</name>[<enum>STD_VIDEO_H264_CPB_CNT_LIST_SIZE</enum>]<comment>cpb_cnt_minus1 number of valid elements</comment></member> + <member><type>uint32_t</type> <name>initial_cpb_removal_delay_length_minus1</name></member> + <member><type>uint32_t</type> <name>cpb_removal_delay_length_minus1</name></member> + <member><type>uint32_t</type> <name>dpb_output_delay_length_minus1</name></member> + <member><type>uint32_t</type> <name>time_offset_length</name></member> + </type> + <type category="struct" name="StdVideoH264SequenceParameterSetVui"> + <member><type>StdVideoH264SpsVuiFlags</type> <name>flags</name></member> + <member><type>StdVideoH264AspectRatioIdc</type> <name>aspect_ratio_idc</name></member> + <member><type>uint16_t</type> <name>sar_width</name></member> + <member><type>uint16_t</type> <name>sar_height</name></member> + <member><type>uint8_t</type> <name>video_format</name></member> + <member><type>uint8_t</type> <name>color_primaries</name></member> + <member><type>uint8_t</type> <name>transfer_characteristics</name></member> + <member><type>uint8_t</type> <name>matrix_coefficients</name></member> + <member><type>uint32_t</type> <name>num_units_in_tick</name></member> + <member><type>uint32_t</type> <name>time_scale</name></member> + <member>const <type>StdVideoH264HrdParameters</type>* <name>pHrdParameters</name><comment>must be a valid ptr to hrd_parameters, if nal_hrd_parameters_present_flag or vcl_hrd_parameters_present_flag are set</comment></member> + <member><type>uint8_t</type> <name>max_num_reorder_frames</name></member> + <member><type>uint8_t</type> <name>max_dec_frame_buffering</name></member> + </type> + <type category="struct" name="StdVideoH264SpsFlags"> + <member><type>uint32_t</type> <name>constraint_set0_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constraint_set1_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constraint_set2_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constraint_set3_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constraint_set4_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constraint_set5_flag</name> : 1</member> + <member><type>uint32_t</type> <name>direct_8x8_inference_flag</name> : 1</member> + <member><type>uint32_t</type> <name>mb_adaptive_frame_field_flag</name> : 1</member> + <member><type>uint32_t</type> <name>frame_mbs_only_flag</name> : 1</member> + <member><type>uint32_t</type> <name>delta_pic_order_always_zero_flag</name> : 1</member> + <member><type>uint32_t</type> <name>separate_colour_plane_flag</name> : 1</member> + <member><type>uint32_t</type> <name>gaps_in_frame_num_value_allowed_flag</name> : 1</member> + <member><type>uint32_t</type> <name>qpprime_y_zero_transform_bypass_flag</name> : 1</member> + <member><type>uint32_t</type> <name>frame_cropping_flag</name> : 1</member> + <member><type>uint32_t</type> <name>seq_scaling_matrix_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vui_parameters_present_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH264ScalingLists"> + <comment> + scaling_list_present_mask has one bit for each + seq_scaling_list_present_flag[i] for SPS OR + pic_scaling_list_present_flag[i] for PPS, + bit 0 - 5 are for each entry of ScalingList4x4 + bit 6 - 7 are for each entry plus 6 for ScalingList8x8 + </comment> + <member><type>uint8_t</type> <name>scaling_list_present_mask</name></member> + <comment> + use_default_scaling_matrix_mask has one bit for each + UseDefaultScalingMatrix4x4Flag[ i ] and + UseDefaultScalingMatrix8x8Flag[ i - 6 ] for SPS OR PPS + bit 0 - 5 are for each entry of ScalingList4x4 + bit 6 - 7 are for each entry plus 6 for ScalingList8x8 + </comment> + <member><type>uint8_t</type> <name>use_default_scaling_matrix_mask</name></member> + <member><type>uint8_t</type> <name>ScalingList4x4</name>[<enum>STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS</enum>][<enum>STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS</enum>]</member> + <member><type>uint8_t</type> <name>ScalingList8x8</name>[<enum>STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS</enum>][<enum>STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS</enum>]</member> + </type> + <type category="struct" name="StdVideoH264SequenceParameterSet"> + <member><type>StdVideoH264SpsFlags</type> <name>flags</name></member> + <member><type>StdVideoH264ProfileIdc</type> <name>profile_idc</name></member> + <member><type>StdVideoH264Level</type> <name>level_idc</name></member> + <member><type>uint8_t</type> <name>seq_parameter_set_id</name></member> + <member><type>StdVideoH264ChromaFormatIdc</type> <name>chroma_format_idc</name></member> + <member><type>uint8_t</type> <name>bit_depth_luma_minus8</name></member> + <member><type>uint8_t</type> <name>bit_depth_chroma_minus8</name></member> + <member><type>uint8_t</type> <name>log2_max_frame_num_minus4</name></member> + <member><type>StdVideoH264PocType</type> <name>pic_order_cnt_type</name></member> + <member><type>uint8_t</type> <name>log2_max_pic_order_cnt_lsb_minus4</name></member> + <member><type>int32_t</type> <name>offset_for_non_ref_pic</name></member> + <member><type>int32_t</type> <name>offset_for_top_to_bottom_field</name></member> + <member><type>uint8_t</type> <name>num_ref_frames_in_pic_order_cnt_cycle</name></member> + <member><type>uint8_t</type> <name>max_num_ref_frames</name></member> + <member><type>uint32_t</type> <name>pic_width_in_mbs_minus1</name></member> + <member><type>uint32_t</type> <name>pic_height_in_map_units_minus1</name></member> + <member><type>uint32_t</type> <name>frame_crop_left_offset</name></member> + <member><type>uint32_t</type> <name>frame_crop_right_offset</name></member> + <member><type>uint32_t</type> <name>frame_crop_top_offset</name></member> + <member><type>uint32_t</type> <name>frame_crop_bottom_offset</name></member> + <comment> + pOffsetForRefFrame is a pointer representing the offset_for_ref_frame array with num_ref_frames_in_pic_order_cnt_cycle number of elements. + If pOffsetForRefFrame has nullptr value, then num_ref_frames_in_pic_order_cnt_cycle must also be "0". + </comment> + <member>const <type>int32_t</type>* <name>pOffsetForRefFrame</name></member> + <member>const <type>StdVideoH264ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if seq_scaling_matrix_present_flag is set</comment></member> + <member>const <type>StdVideoH264SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH264SpsFlags:vui_parameters_present_flag is set</comment></member> + </type> + <type category="struct" name="StdVideoH264PpsFlags"> + <member><type>uint32_t</type> <name>transform_8x8_mode_flag</name> : 1</member> + <member><type>uint32_t</type> <name>redundant_pic_cnt_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constrained_intra_pred_flag</name> : 1</member> + <member><type>uint32_t</type> <name>deblocking_filter_control_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>weighted_bipred_idc_flag</name> : 1</member> + <member><type>uint32_t</type> <name>weighted_pred_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pic_order_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>entropy_coding_mode_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pic_scaling_matrix_present_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH264PictureParameterSet"> + <member><type>StdVideoH264PpsFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>seq_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>pic_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l0_default_active_minus1</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l1_default_active_minus1</name></member> + <member><type>StdVideoH264WeightedBipredIdc</type> <name>weighted_bipred_idc</name></member> + <member><type>int8_t</type> <name>pic_init_qp_minus26</name></member> + <member><type>int8_t</type> <name>pic_init_qs_minus26</name></member> + <member><type>int8_t</type> <name>chroma_qp_index_offset</name></member> + <member><type>int8_t</type> <name>second_chroma_qp_index_offset</name></member> + <member>const <type>StdVideoH264ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if StdVideoH264PpsFlags::pic_scaling_matrix_present_flag is set.</comment></member> + </type> + + <!-- vulkan_video_codec_h264std_decode.h enumerated types --> + <type name="StdVideoDecodeH264FieldOrderCount" category="enum"/> + + <!-- vulkan_video_codec_h264std_decode.h structs --> + <type category="struct" name="StdVideoDecodeH264PictureInfoFlags"> + <member><type>uint32_t</type> <name>field_pic_flag</name> : 1<comment>Is field picture</comment></member> + <member><type>uint32_t</type> <name>is_intra</name> : 1<comment>Is intra picture</comment></member> + <member><type>uint32_t</type> <name>IdrPicFlag</name> : 1<comment>instantaneous decoding refresh (IDR) picture</comment></member> + <member><type>uint32_t</type> <name>bottom_field_flag</name> : 1<comment>bottom (true) or top (false) field if field_pic_flag is set.</comment></member> + <member><type>uint32_t</type> <name>is_reference</name> : 1<comment>This only applies to picture info, and not to the DPB lists.</comment></member> + <member><type>uint32_t</type> <name>complementary_field_pair</name> : 1<comment>complementary field pair, complementary non-reference field pair, complementary reference field pair</comment></member> + </type> + <type category="struct" name="StdVideoDecodeH264PictureInfo" requires="StdVideoDecodeH264FieldOrderCount" comment="requires tag is for PicOrderCnt, which needs the enum type"> + <member><type>StdVideoDecodeH264PictureInfoFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member> + <member><type>uint8_t</type> <name>pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member> + <member><type>uint16_t</type> <name>reserved</name><comment>for structure members 32-bit packing/alignment</comment></member> + <member><type>uint16_t</type> <name>frame_num</name><comment>7.4.3 Slice header semantics</comment></member> + <member><type>uint16_t</type> <name>idr_pic_id</name><comment>7.4.3 Slice header semantics</comment></member> + <comment> + PicOrderCnt is based on TopFieldOrderCnt and BottomFieldOrderCnt. See 8.2.1 Decoding process for picture order count type 0 - 2 + </comment> + <member><type>int32_t</type> <name>PicOrderCnt</name>[<enum>STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE</enum>]<comment>TopFieldOrderCnt and BottomFieldOrderCnt fields.</comment></member> + </type> + <type category="struct" name="StdVideoDecodeH264ReferenceInfoFlags"> + <member><type>uint32_t</type> <name>top_field_flag</name> : 1<comment>Reference is used for top field reference.</comment></member> + <member><type>uint32_t</type> <name>bottom_field_flag</name> : 1<comment>Reference is used for bottom field reference.</comment></member> + <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member> + <member><type>uint32_t</type> <name>is_non_existing</name> : 1<comment>Must be handled in accordance with 8.2.5.2: Decoding process for gaps in frame_num</comment></member> + </type> + <type category="struct" name="StdVideoDecodeH264ReferenceInfo"> + <member><type>StdVideoDecodeH264ReferenceInfoFlags</type> <name>flags</name></member> + <comment> + FrameNum = used_for_long_term_reference ? long_term_frame_idx : frame_num + </comment> + <member><type>uint16_t</type> <name>FrameNum</name><comment>7.4.3.3 Decoded reference picture marking semantics</comment></member> + <member><type>uint16_t</type> <name>reserved</name><comment>for structure members 32-bit packing/alignment</comment></member> + <member><type>int32_t</type> <name>PicOrderCnt</name>[2]<comment>TopFieldOrderCnt and BottomFieldOrderCnt fields.</comment></member> + </type> + <type category="struct" name="StdVideoDecodeH264MvcElementFlags"> + <member><type>uint32_t</type> <name>non_idr</name> : 1</member> + <member><type>uint32_t</type> <name>anchor_pic</name> : 1</member> + <member><type>uint32_t</type> <name>inter_view</name> : 1</member> + </type> + <type category="struct" name="StdVideoDecodeH264MvcElement"> + <member><type>StdVideoDecodeH264MvcElementFlags</type> <name>flags</name></member> + <member><type>uint16_t</type> <name>viewOrderIndex</name></member> + <member><type>uint16_t</type> <name>viewId</name></member> + <member><type>uint16_t</type> <name>temporalId</name><comment>move out?</comment></member> + <member><type>uint16_t</type> <name>priorityId</name><comment>move out?</comment></member> + <member><type>uint16_t</type> <name>numOfAnchorRefsInL0</name></member> + <member><type>uint16_t</type> <name>viewIdOfAnchorRefsInL0</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member> + <member><type>uint16_t</type> <name>numOfAnchorRefsInL1</name></member> + <member><type>uint16_t</type> <name>viewIdOfAnchorRefsInL1</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member> + <member><type>uint16_t</type> <name>numOfNonAnchorRefsInL0</name></member> + <member><type>uint16_t</type> <name>viewIdOfNonAnchorRefsInL0</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member> + <member><type>uint16_t</type> <name>numOfNonAnchorRefsInL1</name></member> + <member><type>uint16_t</type> <name>viewIdOfNonAnchorRefsInL1</name>[<enum>STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE</enum>]</member> + </type> + <type category="struct" name="StdVideoDecodeH264Mvc"> + <member><type>uint32_t</type> <name>viewId0</name></member> + <member><type>uint32_t</type> <name>mvcElementCount</name></member> + <member>const <type>StdVideoDecodeH264MvcElement</type>* <name>pMvcElements</name></member> + </type> + + <!-- vulkan_video_codec_h264std_encode.h structs --> + <type category="struct" name="StdVideoEncodeH264WeightTableFlags"> + <member><type>uint32_t</type> <name>luma_weight_l0_flag</name><comment>each bit n represents the nth entry in reference list l0, n <= num_ref_idx_l0_active_minus1</comment></member> + <member><type>uint32_t</type> <name>chroma_weight_l0_flag</name><comment>each bit n represents the nth entry in reference list l0, n <= num_ref_idx_l0_active_minus1</comment></member> + <member><type>uint32_t</type> <name>luma_weight_l1_flag</name><comment>each bit n represents the nth entry in reference list l1, n <= num_ref_idx_l1_active_minus1</comment></member> + <member><type>uint32_t</type> <name>chroma_weight_l1_flag</name><comment>each bit n represents the nth entry in reference list l1, n <= num_ref_idx_l1_active_minus1</comment></member> + </type> + + <type category="struct" name="StdVideoEncodeH264WeightTable"> + <comment> + StdVideoEncodeH264WeightTable corresponds to the values produced by pred_weight_table() for the h.264 specification. + For details, refer to weighted_pred_flag, weighted_bipred_idc, pre_pred_weight_table_src and pred_weight_table(). + </comment> + <member><type>StdVideoEncodeH264WeightTableFlags</type> <name>flags</name><comment></comment></member> + <member><type>uint8_t</type> <name>luma_log2_weight_denom</name><comment></comment></member> + <member><type>uint8_t</type> <name>chroma_log2_weight_denom</name><comment></comment></member> + <member><type>int8_t</type> <name>luma_weight_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l0_active_minus1]</comment></member> + <member><type>int8_t</type> <name>luma_offset_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l0_active_minus1]</comment></member> + <member><type>int8_t</type> <name>chroma_weight_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + <member><type>int8_t</type> <name>chroma_offset_l0</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + <member><type>int8_t</type> <name>luma_weight_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l1_active_minus1]</comment></member> + <member><type>int8_t</type> <name>luma_offset_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>]<comment>valid entry range is [0, num_ref_idx_l1_active_minus1]</comment></member> + <member><type>int8_t</type> <name>chroma_weight_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + <member><type>int8_t</type> <name>chroma_offset_l1</name>[<enum>STD_VIDEO_H264_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H264_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + </type> + + <type category="struct" name="StdVideoEncodeH264SliceHeaderFlags"> + <member><type>uint32_t</type> <name>direct_spatial_mv_pred_flag</name> : 1</member> + <member><type>uint32_t</type> <name>num_ref_idx_active_override_flag</name> : 1</member> + <member><type>uint32_t</type> <name>no_output_of_prior_pics_flag</name> : 1</member> + <member><type>uint32_t</type> <name>adaptive_ref_pic_marking_mode_flag</name> : 1</member> + <member><type>uint32_t</type> <name>no_prior_references_available_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoEncodeH264PictureInfoFlags"> + <member><type>uint32_t</type> <name>idr_flag</name> : 1</member> + <member><type>uint32_t</type> <name>is_reference_flag</name> : 1</member> + <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member> + </type> + <type category="struct" name="StdVideoEncodeH264ReferenceInfoFlags"> + <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>: A picture that is marked as "used for long-term reference", derived binary value from clause 8.2.5.1 Sequence of operations for decoded reference picture marking process</comment></member> + </type> + <type category="struct" name="StdVideoEncodeH264RefMgmtFlags"> + <member><type>uint32_t</type> <name>ref_pic_list_modification_l0_flag</name> : 1</member> + <member><type>uint32_t</type> <name>ref_pic_list_modification_l1_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoEncodeH264RefListModEntry"> + <member><type>StdVideoH264ModificationOfPicNumsIdc</type> <name>modification_of_pic_nums_idc</name></member> + <member><type>uint16_t</type> <name>abs_diff_pic_num_minus1</name></member> + <member><type>uint16_t</type> <name>long_term_pic_num</name></member> + </type> + <type category="struct" name="StdVideoEncodeH264RefPicMarkingEntry"> + <member><type>StdVideoH264MemMgmtControlOp</type> <name>operation</name></member> + <member><type>uint16_t</type> <name>difference_of_pic_nums_minus1</name></member> + <member><type>uint16_t</type> <name>long_term_pic_num</name></member> + <member><type>uint16_t</type> <name>long_term_frame_idx</name></member> + <member><type>uint16_t</type> <name>max_long_term_frame_idx_plus1</name></member> + </type> + <type category="struct" name="StdVideoEncodeH264RefMemMgmtCtrlOperations"> + <member><type>StdVideoEncodeH264RefMgmtFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>refList0ModOpCount</name></member> + <member>const <type>StdVideoEncodeH264RefListModEntry</type>* <name>pRefList0ModOperations</name></member> + <member><type>uint8_t</type> <name>refList1ModOpCount</name></member> + <member>const <type>StdVideoEncodeH264RefListModEntry</type>* <name>pRefList1ModOperations</name></member> + <member><type>uint8_t</type> <name>refPicMarkingOpCount</name></member> + <member>const <type>StdVideoEncodeH264RefPicMarkingEntry</type>* <name>pRefPicMarkingOperations</name></member> + </type> + <type category="struct" name="StdVideoEncodeH264PictureInfo"> + <member><type>StdVideoEncodeH264PictureInfoFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member> + <member><type>uint8_t</type> <name>pic_parameter_set_id</name><comment>Selecting PPS from the Picture Parameters for all StdVideoEncodeH264SliceHeader(s)</comment></member> + <member><type>StdVideoH264PictureType</type> <name>pictureType</name></member> + <member><type>uint32_t</type> <name>frame_num</name></member> + <member><type>int32_t</type> <name>PicOrderCnt</name></member> + </type> + <type category="struct" name="StdVideoEncodeH264ReferenceInfo"> + <member><type>StdVideoEncodeH264ReferenceInfoFlags</type> <name>flags</name></member> + <member><type>uint32_t</type> <name>FrameNum</name></member> + <member><type>int32_t</type> <name>PicOrderCnt</name></member> + <member><type>uint16_t</type> <name>long_term_pic_num</name></member> + <member><type>uint16_t</type> <name>long_term_frame_idx</name></member> + </type> + <type category="struct" name="StdVideoEncodeH264SliceHeader"> + <member><type>StdVideoEncodeH264SliceHeaderFlags</type> <name>flags</name></member> + <member><type>uint32_t</type> <name>first_mb_in_slice</name></member> + <member><type>StdVideoH264SliceType</type> <name>slice_type</name></member> + <member><type>uint16_t</type> <name>idr_pic_id</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l0_active_minus1</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l1_active_minus1</name></member> + <member><type>StdVideoH264CabacInitIdc</type> <name>cabac_init_idc</name></member> + <member><type>StdVideoH264DisableDeblockingFilterIdc</type> <name>disable_deblocking_filter_idc</name></member> + <member><type>int8_t</type> <name>slice_alpha_c0_offset_div2</name></member> + <member><type>int8_t</type> <name>slice_beta_offset_div2</name></member> + <member>const <type>StdVideoEncodeH264WeightTable</type>* <name>pWeightTable</name><comment></comment></member> + </type> + + <!-- vulkan_video_codec_h265std.h enumerated types --> + <type name="StdVideoH265ChromaFormatIdc" category="enum"/> + <type name="StdVideoH265ProfileIdc" category="enum"/> + <type name="StdVideoH265Level" category="enum"/> + <type name="StdVideoH265SliceType" category="enum"/> + <type name="StdVideoH265PictureType" category="enum"/> + + <!-- vulkan_video_codec_h265std.h structs --> + <type category="struct" name="StdVideoH265DecPicBufMgr"> + <member><type>uint32_t</type> <name>max_latency_increase_plus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member> + <member><type>uint8_t</type> <name>max_dec_pic_buffering_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member> + <member><type>uint8_t</type> <name>max_num_reorder_pics</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member> + </type> + <type category="struct" name="StdVideoH265SubLayerHrdParameters" comment="sub_layer_hrd_parameters"> + <member><type>uint32_t</type> <name>bit_rate_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member> + <member><type>uint32_t</type> <name>cpb_size_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member> + <member><type>uint32_t</type> <name>cpb_size_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member> + <member><type>uint32_t</type> <name>bit_rate_du_value_minus1</name>[<enum>STD_VIDEO_H265_CPB_CNT_LIST_SIZE</enum>]</member> + <member><type>uint32_t</type> <name>cbr_flag</name><comment>each bit represents a range of CpbCounts (bit 0 - cpb_cnt_minus1) per sub-layer</comment></member> + </type> + <type category="struct" name="StdVideoH265HrdFlags"> + <member><type>uint32_t</type> <name>nal_hrd_parameters_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vcl_hrd_parameters_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sub_pic_hrd_params_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sub_pic_cpb_params_in_pic_timing_sei_flag</name> : 1</member> + <member><type>uint32_t</type> <name>fixed_pic_rate_general_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member> + <member><type>uint32_t</type> <name>fixed_pic_rate_within_cvs_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member> + <member><type>uint32_t</type> <name>low_delay_hrd_flag</name> : 8<comment>each bit represents a sublayer, bit 0 - vps_max_sub_layers_minus1</comment></member> + </type> + <type category="struct" name="StdVideoH265HrdParameters"> + <member><type>StdVideoH265HrdFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>tick_divisor_minus2</name></member> + <member><type>uint8_t</type> <name>du_cpb_removal_delay_increment_length_minus1</name></member> + <member><type>uint8_t</type> <name>dpb_output_delay_du_length_minus1</name></member> + <member><type>uint8_t</type> <name>bit_rate_scale</name></member> + <member><type>uint8_t</type> <name>cpb_size_scale</name></member> + <member><type>uint8_t</type> <name>cpb_size_du_scale</name></member> + <member><type>uint8_t</type> <name>initial_cpb_removal_delay_length_minus1</name></member> + <member><type>uint8_t</type> <name>au_cpb_removal_delay_length_minus1</name></member> + <member><type>uint8_t</type> <name>dpb_output_delay_length_minus1</name></member> + <member><type>uint8_t</type> <name>cpb_cnt_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member> + <member><type>uint16_t</type> <name>elemental_duration_in_tc_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]</member> + <member>const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersNal</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]<comment>NAL per layer ptr to sub_layer_hrd_parameters</comment></member> + <member>const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersVcl</name>[<enum>STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE</enum>]<comment>VCL per layer ptr to sub_layer_hrd_parameters</comment></member> + </type> + <type category="struct" name="StdVideoH265VpsFlags"> + <member><type>uint32_t</type> <name>vps_temporal_id_nesting_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vps_sub_layer_ordering_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vps_timing_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vps_poc_proportional_to_timing_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH265VideoParameterSet"> + <member><type>StdVideoH265VpsFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>vps_video_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>vps_max_sub_layers_minus1</name></member> + <member><type>uint32_t</type> <name>vps_num_units_in_tick</name></member> + <member><type>uint32_t</type> <name>vps_time_scale</name></member> + <member><type>uint32_t</type> <name>vps_num_ticks_poc_diff_one_minus1</name></member> + <member>const <type>StdVideoH265DecPicBufMgr</type>* <name>pDecPicBufMgr</name></member> + <member>const <type>StdVideoH265HrdParameters</type>* <name>pHrdParameters</name></member> + </type> + <type category="struct" name="StdVideoH265ScalingLists"> + <member><type>uint8_t</type> <name>ScalingList4x4</name>[<enum>STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS</enum>]<comment>ScalingList[ 0 ][ MatrixID ][ i ] (sizeID = 0)</comment></member> + <member><type>uint8_t</type> <name>ScalingList8x8</name>[<enum>STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS</enum>]<comment>ScalingList[ 1 ][ MatrixID ][ i ] (sizeID = 1)</comment></member> + <member><type>uint8_t</type> <name>ScalingList16x16</name>[<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS</enum>]<comment>ScalingList[ 2 ][ Matri]xID ][ i ] (sizeID = 2)</comment></member> + <member><type>uint8_t</type> <name>ScalingList32x32</name>[<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS</enum>][<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS</enum>]<comment>ScalingList[ 3 ][ MatrixID ][ i ] (sizeID = 3)</comment></member> + <member><type>uint8_t</type> <name>ScalingListDCCoef16x16</name>[<enum>STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS</enum>]<comment>scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8, sizeID = 2</comment></member> + <member><type>uint8_t</type> <name>ScalingListDCCoef32x32</name>[<enum>STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS</enum>]<comment>scaling_list_dc_coef_minus8[ sizeID - 2 ][ matrixID ] + 8. sizeID = 3</comment></member> + </type> + <type category="struct" name="StdVideoH265SpsVuiFlags"> + <member><type>uint32_t</type> <name>aspect_ratio_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>overscan_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>overscan_appropriate_flag</name> : 1</member> + <member><type>uint32_t</type> <name>video_signal_type_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>video_full_range_flag</name> : 1</member> + <member><type>uint32_t</type> <name>colour_description_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>chroma_loc_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>neutral_chroma_indication_flag</name> : 1</member> + <member><type>uint32_t</type> <name>field_seq_flag</name> : 1</member> + <member><type>uint32_t</type> <name>frame_field_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>default_display_window_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vui_timing_info_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vui_poc_proportional_to_timing_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vui_hrd_parameters_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>bitstream_restriction_flag</name> : 1</member> + <member><type>uint32_t</type> <name>tiles_fixed_structure_flag</name> : 1</member> + <member><type>uint32_t</type> <name>motion_vectors_over_pic_boundaries_flag</name> : 1</member> + <member><type>uint32_t</type> <name>restricted_ref_pic_lists_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH265SequenceParameterSetVui"> + <member><type>StdVideoH265SpsVuiFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>aspect_ratio_idc</name></member> + <member><type>uint16_t</type> <name>sar_width</name></member> + <member><type>uint16_t</type> <name>sar_height</name></member> + <member><type>uint8_t</type> <name>video_format</name></member> + <member><type>uint8_t</type> <name>colour_primaries</name></member> + <member><type>uint8_t</type> <name>transfer_characteristics</name></member> + <member><type>uint8_t</type> <name>matrix_coeffs</name></member> + <member><type>uint8_t</type> <name>chroma_sample_loc_type_top_field</name></member> + <member><type>uint8_t</type> <name>chroma_sample_loc_type_bottom_field</name></member> + <member><type>uint16_t</type> <name>def_disp_win_left_offset</name></member> + <member><type>uint16_t</type> <name>def_disp_win_right_offset</name></member> + <member><type>uint16_t</type> <name>def_disp_win_top_offset</name></member> + <member><type>uint16_t</type> <name>def_disp_win_bottom_offset</name></member> + <member><type>uint32_t</type> <name>vui_num_units_in_tick</name></member> + <member><type>uint32_t</type> <name>vui_time_scale</name></member> + <member><type>uint32_t</type> <name>vui_num_ticks_poc_diff_one_minus1</name></member> + <member>const <type>StdVideoH265HrdParameters</type>* <name>pHrdParameters</name></member> + <member><type>uint16_t</type> <name>min_spatial_segmentation_idc</name></member> + <member><type>uint8_t</type> <name>max_bytes_per_pic_denom</name></member> + <member><type>uint8_t</type> <name>max_bits_per_min_cu_denom</name></member> + <member><type>uint8_t</type> <name>log2_max_mv_length_horizontal</name></member> + <member><type>uint8_t</type> <name>log2_max_mv_length_vertical</name></member> + </type> + <type category="struct" name="StdVideoH265PredictorPaletteEntries"> + <member><type>uint16_t</type> <name>PredictorPaletteEntries</name>[<enum>STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE</enum>][<enum>STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE</enum>]</member> + </type> + <type category="struct" name="StdVideoH265SpsFlags"> + <member><type>uint32_t</type> <name>sps_temporal_id_nesting_flag</name> : 1</member> + <member><type>uint32_t</type> <name>separate_colour_plane_flag</name> : 1</member> + <member><type>uint32_t</type> <name>scaling_list_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sps_scaling_list_data_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>amp_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sample_adaptive_offset_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pcm_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pcm_loop_filter_disabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>long_term_ref_pics_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sps_temporal_mvp_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>strong_intra_smoothing_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>vui_parameters_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sps_extension_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sps_range_extension_flag</name> : 1</member> + <comment> + extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set + </comment> + <member><type>uint32_t</type> <name>transform_skip_rotation_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>transform_skip_context_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>implicit_rdpcm_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>explicit_rdpcm_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>extended_precision_processing_flag</name> : 1</member> + <member><type>uint32_t</type> <name>intra_smoothing_disabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>high_precision_offsets_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>persistent_rice_adaptation_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>cabac_bypass_alignment_enabled_flag</name> : 1</member> + <comment> + extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + </comment> + <member><type>uint32_t</type> <name>sps_scc_extension_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sps_curr_pic_ref_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>palette_mode_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sps_palette_predictor_initializer_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>intra_boundary_filtering_disabled_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH265SequenceParameterSet"> + <member><type>StdVideoH265SpsFlags</type> <name>flags</name></member> + <member><type>StdVideoH265ProfileIdc</type> <name>profile_idc</name></member> + <member><type>StdVideoH265Level</type> <name>level_idc</name></member> + <member><type>uint32_t</type> <name>pic_width_in_luma_samples</name></member> + <member><type>uint32_t</type> <name>pic_height_in_luma_samples</name></member> + <member><type>uint8_t</type> <name>sps_video_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>sps_max_sub_layers_minus1</name></member> + <member><type>uint8_t</type> <name>sps_seq_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>chroma_format_idc</name></member> + <member><type>uint8_t</type> <name>bit_depth_luma_minus8</name></member> + <member><type>uint8_t</type> <name>bit_depth_chroma_minus8</name></member> + <member><type>uint8_t</type> <name>log2_max_pic_order_cnt_lsb_minus4</name></member> + <member><type>uint8_t</type> <name>sps_max_dec_pic_buffering_minus1</name>[<enum>STD_VIDEO_H265_SPS_MAX_SUB_LAYERS</enum>]</member> + <member><type>uint8_t</type> <name>log2_min_luma_coding_block_size_minus3</name></member> + <member><type>uint8_t</type> <name>log2_diff_max_min_luma_coding_block_size</name></member> + <member><type>uint8_t</type> <name>log2_min_luma_transform_block_size_minus2</name></member> + <member><type>uint8_t</type> <name>log2_diff_max_min_luma_transform_block_size</name></member> + <member><type>uint8_t</type> <name>max_transform_hierarchy_depth_inter</name></member> + <member><type>uint8_t</type> <name>max_transform_hierarchy_depth_intra</name></member> + <member><type>uint8_t</type> <name>num_short_term_ref_pic_sets</name></member> + <member><type>uint8_t</type> <name>num_long_term_ref_pics_sps</name></member> + <member><type>uint8_t</type> <name>pcm_sample_bit_depth_luma_minus1</name></member> + <member><type>uint8_t</type> <name>pcm_sample_bit_depth_chroma_minus1</name></member> + <member><type>uint8_t</type> <name>log2_min_pcm_luma_coding_block_size_minus3</name></member> + <member><type>uint8_t</type> <name>log2_diff_max_min_pcm_luma_coding_block_size</name></member> + <member><type>uint32_t</type> <name>conf_win_left_offset</name></member> + <member><type>uint32_t</type> <name>conf_win_right_offset</name></member> + <member><type>uint32_t</type> <name>conf_win_top_offset</name></member> + <member><type>uint32_t</type> <name>conf_win_bottom_offset</name></member> + <member>const <type>StdVideoH265DecPicBufMgr</type>* <name>pDecPicBufMgr</name></member> + <member>const <type>StdVideoH265ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if sps_scaling_list_data_present_flag is set</comment></member> + <member>const <type>StdVideoH265SequenceParameterSetVui</type>* <name>pSequenceParameterSetVui</name><comment>Must be a valid pointer if StdVideoH265SpsFlags:vui_parameters_present_flag is set palette_max_size</comment></member> + <comment> + extension SPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + </comment> + <member><type>uint8_t</type> <name>palette_max_size</name></member> + <member><type>uint8_t</type> <name>delta_palette_max_predictor_size</name></member> + <member><type>uint8_t</type> <name>motion_vector_resolution_control_idc</name></member> + <member><type>uint8_t</type> <name>sps_num_palette_predictor_initializer_minus1</name></member> + <member>const <type>StdVideoH265PredictorPaletteEntries</type>* <name>pPredictorPaletteEntries</name><comment>Must be a valid pointer if sps_palette_predictor_initializer_present_flag is set</comment></member> + </type> + <type category="struct" name="StdVideoH265PpsFlags"> + <member><type>uint32_t</type> <name>dependent_slice_segments_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>output_flag_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>sign_data_hiding_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>cabac_init_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>constrained_intra_pred_flag</name> : 1</member> + <member><type>uint32_t</type> <name>transform_skip_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>cu_qp_delta_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_slice_chroma_qp_offsets_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>weighted_pred_flag</name> : 1</member> + <member><type>uint32_t</type> <name>weighted_bipred_flag</name> : 1</member> + <member><type>uint32_t</type> <name>transquant_bypass_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>tiles_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>entropy_coding_sync_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>uniform_spacing_flag</name> : 1</member> + <member><type>uint32_t</type> <name>loop_filter_across_tiles_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_loop_filter_across_slices_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>deblocking_filter_control_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>deblocking_filter_override_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_deblocking_filter_disabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_scaling_list_data_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>lists_modification_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>slice_segment_header_extension_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_extension_present_flag</name> : 1</member> + <comment> + extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set + </comment> + <member><type>uint32_t</type> <name>cross_component_prediction_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>chroma_qp_offset_list_enabled_flag</name> : 1</member> + <comment> + extension PPS flags, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + </comment> + <member><type>uint32_t</type> <name>pps_curr_pic_ref_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>residual_adaptive_colour_transform_enabled_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_slice_act_qp_offsets_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_palette_predictor_initializer_present_flag</name> : 1</member> + <member><type>uint32_t</type> <name>monochrome_palette_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pps_range_extension_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoH265PictureParameterSet"> + <member><type>StdVideoH265PpsFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>pps_pic_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>pps_seq_parameter_set_id</name></member> + <member><type>uint8_t</type> <name>num_extra_slice_header_bits</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l0_default_active_minus1</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l1_default_active_minus1</name></member> + <member><type>int8_t</type> <name>init_qp_minus26</name></member> + <member><type>uint8_t</type> <name>diff_cu_qp_delta_depth</name></member> + <member><type>int8_t</type> <name>pps_cb_qp_offset</name></member> + <member><type>int8_t</type> <name>pps_cr_qp_offset</name></member> + <member><type>uint8_t</type> <name>num_tile_columns_minus1</name></member> + <member><type>uint8_t</type> <name>num_tile_rows_minus1</name></member> + <member><type>uint16_t</type> <name>column_width_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE</enum>]</member> + <member><type>uint16_t</type> <name>row_height_minus1</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE</enum>]</member> + <member><type>int8_t</type> <name>pps_beta_offset_div2</name></member> + <member><type>int8_t</type> <name>pps_tc_offset_div2</name></member> + <member><type>uint8_t</type> <name>log2_parallel_merge_level_minus2</name></member> + <member>const <type>StdVideoH265ScalingLists</type>* <name>pScalingLists</name><comment>Must be a valid pointer if pps_scaling_list_data_present_flag is set</comment></member> + <comment> + extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS is set + </comment> + <member><type>uint8_t</type> <name>log2_max_transform_skip_block_size_minus2</name></member> + <member><type>uint8_t</type> <name>diff_cu_chroma_qp_offset_depth</name></member> + <member><type>uint8_t</type> <name>chroma_qp_offset_list_len_minus1</name></member> + <member><type>int8_t</type> <name>cb_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member> + <member><type>int8_t</type> <name>cr_qp_offset_list</name>[<enum>STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE</enum>]</member> + <member><type>uint8_t</type> <name>log2_sao_offset_scale_luma</name></member> + <member><type>uint8_t</type> <name>log2_sao_offset_scale_chroma</name></member> + <comment> + extension PPS, valid when STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS is set + </comment> + <member><type>int8_t</type> <name>pps_act_y_qp_offset_plus5</name></member> + <member><type>int8_t</type> <name>pps_act_cb_qp_offset_plus5</name></member> + <member><type>int8_t</type> <name>pps_act_cr_qp_offset_plus5</name></member> + <member><type>uint8_t</type> <name>pps_num_palette_predictor_initializer</name></member> + <member><type>uint8_t</type> <name>luma_bit_depth_entry_minus8</name></member> + <member><type>uint8_t</type> <name>chroma_bit_depth_entry_minus8</name></member> + <member>const <type>StdVideoH265PredictorPaletteEntries</type>* <name>pPredictorPaletteEntries</name><comment>Must be a valid pointer if pps_palette_predictor_initializer_present_flag is set</comment></member> + </type> + + <!-- vulkan_video_codec_h265std_decode.h structs --> + <type category="struct" name="StdVideoDecodeH265PictureInfoFlags"> + <member><type>uint32_t</type> <name>IrapPicFlag</name> : 1</member> + <member><type>uint32_t</type> <name>IdrPicFlag</name> : 1</member> + <member><type>uint32_t</type> <name>IsReference</name> : 1</member> + <member><type>uint32_t</type> <name>short_term_ref_pic_set_sps_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoDecodeH265PictureInfo"> + <member><type>StdVideoDecodeH265PictureInfoFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member> + <member><type>uint8_t</type> <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member> + <member><type>uint8_t</type> <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member> + <member><type>uint8_t</type> <name>num_short_term_ref_pic_sets</name></member> + <member><type>int32_t</type> <name>PicOrderCntVal</name></member> + <member><type>uint16_t</type> <name>NumBitsForSTRefPicSetInSlice</name><comment>number of bits used in st_ref_pic_set() when short_term_ref_pic_set_sps_flag is 0otherwise set to 0.</comment></member> + <member><type>uint8_t</type> <name>NumDeltaPocsOfRefRpsIdx</name><comment>NumDeltaPocs[ RefRpsIdx ] when short_term_ref_pic_set_sps_flag = 1, otherwise 0</comment></member> + <member><type>uint8_t</type> <name>RefPicSetStCurrBefore</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member> + <member><type>uint8_t</type> <name>RefPicSetStCurrAfter</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member> + <member><type>uint8_t</type> <name>RefPicSetLtCurr</name>[<enum>STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE</enum>]<comment>slotIndex as used in VkVideoReferenceSlotKHR structures representing pReferenceSlots in VkVideoDecodeInfoKHR, 0xff for invalid slotIndex</comment></member> + </type> + <type category="struct" name="StdVideoDecodeH265ReferenceInfoFlags"> + <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>A picture that is marked as "used for long-term reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member> + <member><type>uint32_t</type> <name>unused_for_reference</name> : 1<comment>A picture that is marked as "unused for reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member> + <member><type>uint32_t</type> <name>is_non_existing</name> : 1</member> + </type> + <type category="struct" name="StdVideoDecodeH265ReferenceInfo"> + <member><type>StdVideoDecodeH265ReferenceInfoFlags</type> <name>flags</name></member> + <member><type>int32_t</type> <name>PicOrderCntVal</name></member> + </type> + + <!-- vulkan_video_codec_h265std_encode.h structs --> + <type category="struct" name="StdVideoEncodeH265WeightTableFlags"> + <member><type>uint16_t</type> <name>luma_weight_l0_flag</name><comment>bit 0 - num_ref_idx_l0_active_minus1</comment></member> + <member><type>uint16_t</type> <name>chroma_weight_l0_flag</name><comment>bit 0 - num_ref_idx_l0_active_minus1</comment></member> + <member><type>uint16_t</type> <name>luma_weight_l1_flag</name><comment>bit 0 - num_ref_idx_l1_active_minus1</comment></member> + <member><type>uint16_t</type> <name>chroma_weight_l1_flag</name><comment>bit 0 - num_ref_idx_l1_active_minus1</comment></member> + </type> + + <type category="struct" name="StdVideoEncodeH265WeightTable"> + <comment> + StdVideoEncodeH265WeightTable corresponds to the values produced by pred_weight_table() for the h.265 specification. + For details, refer to weighted_pred_flag, weighted_bipred_flag and pred_weight_table(). + </comment> + <member><type>StdVideoEncodeH265WeightTableFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>luma_log2_weight_denom</name><comment>[0, 7]</comment></member> + <member><type>int8_t</type> <name>delta_chroma_log2_weight_denom</name></member> + <member><type>int8_t</type> <name>delta_luma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member> + <member><type>int8_t</type> <name>luma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment>comment</comment></member> + <member><type>int8_t</type> <name>delta_chroma_weight_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + <member><type>int8_t</type> <name>delta_chroma_offset_l0</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l0_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + <member><type>int8_t</type> <name>delta_luma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member> + <member><type>int8_t</type> <name>luma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>]<comment> </comment></member> + <member><type>int8_t</type> <name>delta_chroma_weight_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + <member><type>int8_t</type> <name>delta_chroma_offset_l1</name>[<enum>STD_VIDEO_H265_MAX_NUM_LIST_REF</enum>][<enum>STD_VIDEO_H265_MAX_CHROMA_PLANES</enum>]<comment>[i][j]: valid entry range for i is [0, num_ref_idx_l1_active_minus1]; j = 0 for Cb, j = 1 for Cr</comment></member> + </type> + + <type category="struct" name="StdVideoEncodeH265SliceSegmentHeaderFlags"> + <member><type>uint32_t</type> <name>first_slice_segment_in_pic_flag</name> : 1</member> + <member><type>uint32_t</type> <name>no_output_of_prior_pics_flag</name> : 1</member> + <member><type>uint32_t</type> <name>dependent_slice_segment_flag</name> : 1</member> + <member><type>uint32_t</type> <name>pic_output_flag</name> : 1</member> + <member><type>uint32_t</type> <name>short_term_ref_pic_set_sps_flag</name> : 1</member> + <member><type>uint32_t</type> <name>slice_temporal_mvp_enable_flag</name> : 1</member> + <member><type>uint32_t</type> <name>slice_sao_luma_flag</name> : 1</member> + <member><type>uint32_t</type> <name>slice_sao_chroma_flag</name> : 1</member> + <member><type>uint32_t</type> <name>num_ref_idx_active_override_flag</name> : 1</member> + <member><type>uint32_t</type> <name>mvd_l1_zero_flag</name> : 1</member> + <member><type>uint32_t</type> <name>cabac_init_flag</name> : 1</member> + <member><type>uint32_t</type> <name>slice_deblocking_filter_disable_flag</name> : 1</member> + <member><type>uint32_t</type> <name>collocated_from_l0_flag</name> : 1</member> + <member><type>uint32_t</type> <name>slice_loop_filter_across_slices_enabled_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoEncodeH265SliceSegmentHeader"> + <member><type>StdVideoEncodeH265SliceSegmentHeaderFlags</type> <name>flags</name></member> + <member><type>StdVideoH265SliceType</type> <name>slice_type</name></member> + <member><type>uint8_t</type> <name>num_short_term_ref_pic_sets</name></member> + <member><type>uint32_t</type> <name>slice_segment_address</name></member> + <member><type>uint8_t</type> <name>short_term_ref_pic_set_idx</name></member> + <member><type>uint8_t</type> <name>num_long_term_sps</name></member> + <member><type>uint8_t</type> <name>num_long_term_pics</name></member> + <member><type>uint8_t</type> <name>collocated_ref_idx</name></member> + <member><type>uint8_t</type> <name>num_ref_idx_l0_active_minus1</name><comment>[0, 14]</comment></member> + <member><type>uint8_t</type> <name>num_ref_idx_l1_active_minus1</name><comment>[0, 14]</comment></member> + <member><type>uint8_t</type> <name>MaxNumMergeCand</name></member> + <member><type>int8_t</type> <name>slice_cb_qp_offset</name><comment>[-12, 12]</comment></member> + <member><type>int8_t</type> <name>slice_cr_qp_offset</name><comment>[-12, 12]</comment></member> + <member><type>int8_t</type> <name>slice_beta_offset_div2</name><comment>[-6, 6]</comment></member> + <member><type>int8_t</type> <name>slice_tc_offset_div2</name><comment>[-6, 6]</comment></member> + <member><type>int8_t</type> <name>slice_act_y_qp_offset</name></member> + <member><type>int8_t</type> <name>slice_act_cb_qp_offset</name></member> + <member><type>int8_t</type> <name>slice_act_cr_qp_offset</name></member> + <member>const <type>StdVideoEncodeH265WeightTable</type>* <name>pWeightTable</name><comment></comment></member> + </type> + <type category="struct" name="StdVideoEncodeH265ReferenceModificationFlags"> + <member><type>uint32_t</type> <name>ref_pic_list_modification_flag_l0</name> : 1</member> + <member><type>uint32_t</type> <name>ref_pic_list_modification_flag_l1</name> : 1</member> + </type> + <type category="struct" name="StdVideoEncodeH265ReferenceModifications"> + <member><type>StdVideoEncodeH265ReferenceModificationFlags</type> <name>flags</name></member> + <member><type>uint8_t</type> <name>referenceList0ModificationsCount</name><comment>num_ref_idx_l0_active_minus1</comment></member> + <member>const <type>uint8_t</type>* <name>pReferenceList0Modifications</name><comment>list_entry_l0</comment></member> + <member><type>uint8_t</type> <name>referenceList1ModificationsCount</name><comment>num_ref_idx_l1_active_minus1</comment></member> + <member>const <type>uint8_t</type>* <name>pReferenceList1Modifications</name><comment>list_entry_l1</comment></member> + </type> + <type category="struct" name="StdVideoEncodeH265PictureInfoFlags"> + <member><type>uint32_t</type> <name>is_reference_flag</name> : 1</member> + <member><type>uint32_t</type> <name>IrapPicFlag</name> : 1</member> + <member><type>uint32_t</type> <name>long_term_flag</name> : 1</member> + <member><type>uint32_t</type> <name>discardable_flag</name> : 1</member> + <member><type>uint32_t</type> <name>cross_layer_bla_flag</name> : 1</member> + </type> + <type category="struct" name="StdVideoEncodeH265PictureInfo"> + <member><type>StdVideoEncodeH265PictureInfoFlags</type> <name>flags</name></member> + <member><type>StdVideoH265PictureType</type> <name>PictureType</name></member> + <member><type>uint8_t</type> <name>sps_video_parameter_set_id</name><comment>Selecting VPS id from the Video Parameters Set</comment></member> + <member><type>uint8_t</type> <name>pps_seq_parameter_set_id</name><comment>Selecting SPS id from the Sequence Parameters Set</comment></member> + <member><type>uint8_t</type> <name>pps_pic_parameter_set_id</name><comment>Selecting PPS id from the Picture Parameters Set</comment></member> + <member><type>int32_t</type> <name>PicOrderCntVal</name></member> + <member><type>uint8_t</type> <name>TemporalId</name></member> + </type> + <type category="struct" name="StdVideoEncodeH265ReferenceInfoFlags"> + <member><type>uint32_t</type> <name>used_for_long_term_reference</name> : 1<comment>A picture that is marked as "used for long-term reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member> + <member><type>uint32_t</type> <name>unused_for_reference</name> : 1<comment>A picture that is marked as "unused for reference", derived binary value from clause 8.3.2 Decoding process for reference picture set</comment></member> + </type> + + <type category="struct" name="StdVideoEncodeH265ReferenceInfo"> + <member><type>StdVideoEncodeH265ReferenceInfoFlags</type> <name>flags</name></member> + <member><type>int32_t</type> <name>PicOrderCntVal</name></member> + <member><type>uint8_t</type> <name>TemporalId</name></member> + </type> + </types> + + <!-- vulkan_video_codec_h264std.h enums --> + <enums name="StdVideoH264ChromaFormatIdc" type="enum"> + <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME" value="0"/> + <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_420" value="1"/> + <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_422" value="2"/> + <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_444" value="3"/> + <enum name="STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264ProfileIdc" type="enum"> + <enum name="STD_VIDEO_H264_PROFILE_IDC_BASELINE" value="66" comment="Only constrained baseline is supported"/> + <enum name="STD_VIDEO_H264_PROFILE_IDC_MAIN" value="77"/> + <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH" value="100"/> + <enum name="STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE" value="244"/> + <enum name="STD_VIDEO_H264_PROFILE_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264Level" type="enum"> + <enum name="STD_VIDEO_H264_LEVEL_1_0" value="0"/> + <enum name="STD_VIDEO_H264_LEVEL_1_1" value="1"/> + <enum name="STD_VIDEO_H264_LEVEL_1_2" value="2"/> + <enum name="STD_VIDEO_H264_LEVEL_1_3" value="3"/> + <enum name="STD_VIDEO_H264_LEVEL_2_0" value="4"/> + <enum name="STD_VIDEO_H264_LEVEL_2_1" value="5"/> + <enum name="STD_VIDEO_H264_LEVEL_2_2" value="6"/> + <enum name="STD_VIDEO_H264_LEVEL_3_0" value="7"/> + <enum name="STD_VIDEO_H264_LEVEL_3_1" value="8"/> + <enum name="STD_VIDEO_H264_LEVEL_3_2" value="9"/> + <enum name="STD_VIDEO_H264_LEVEL_4_0" value="10"/> + <enum name="STD_VIDEO_H264_LEVEL_4_1" value="11"/> + <enum name="STD_VIDEO_H264_LEVEL_4_2" value="12"/> + <enum name="STD_VIDEO_H264_LEVEL_5_0" value="13"/> + <enum name="STD_VIDEO_H264_LEVEL_5_1" value="14"/> + <enum name="STD_VIDEO_H264_LEVEL_5_2" value="15"/> + <enum name="STD_VIDEO_H264_LEVEL_6_0" value="16"/> + <enum name="STD_VIDEO_H264_LEVEL_6_1" value="17"/> + <enum name="STD_VIDEO_H264_LEVEL_6_2" value="18"/> + <enum name="STD_VIDEO_H264_LEVEL_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264PocType" type="enum"> + <enum name="STD_VIDEO_H264_POC_TYPE_0" value="0"/> + <enum name="STD_VIDEO_H264_POC_TYPE_1" value="1"/> + <enum name="STD_VIDEO_H264_POC_TYPE_2" value="2"/> + <enum name="STD_VIDEO_H264_POC_TYPE_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264AspectRatioIdc" type="enum"> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED" value="0"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE" value="1"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11" value="2"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11" value="3"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11" value="4"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33" value="5"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11" value="6"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11" value="7"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11" value="8"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33" value="9"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11" value="10"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11" value="11"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33" value="12"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99" value="13"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3" value="14"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2" value="15"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1" value="16"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR" value="255"/> + <enum name="STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264WeightedBipredIdc" type="enum"> + <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT" value="0"/> + <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT" value="1"/> + <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT" value="2"/> + <enum name="STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264ModificationOfPicNumsIdc" type="enum"> + <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT" value="0"/> + <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD" value="1"/> + <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM" value="2"/> + <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END" value="3"/> + <enum name="STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264MemMgmtControlOp" type="enum"> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END" value="0"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM" value="1"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM" value="2"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM" value="3"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX" value="4"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL" value="5"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM" value="6"/> + <enum name="STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264CabacInitIdc" type="enum"> + <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_0" value="0"/> + <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_1" value="1"/> + <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_2" value="2"/> + <enum name="STD_VIDEO_H264_CABAC_INIT_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264DisableDeblockingFilterIdc" type="enum"> + <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED" value="0"/> + <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED" value="1"/> + <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL" value="2"/> + <enum name="STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264SliceType" type="enum"> + <enum name="STD_VIDEO_H264_SLICE_TYPE_P" value="0"/> + <enum name="STD_VIDEO_H264_SLICE_TYPE_B" value="1"/> + <enum name="STD_VIDEO_H264_SLICE_TYPE_I" value="2"/> + <comment> + reserved STD_VIDEO_H264_SLICE_TYPE_SP = 3 + reserved STD_VIDEO_H264_SLICE_TYPE_SI = 4 + </comment> + <enum name="STD_VIDEO_H264_SLICE_TYPE_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264PictureType" type="enum"> + <enum name="STD_VIDEO_H264_PICTURE_TYPE_P" value="0"/> + <enum name="STD_VIDEO_H264_PICTURE_TYPE_B" value="1"/> + <enum name="STD_VIDEO_H264_PICTURE_TYPE_I" value="2"/> + <comment> + reserved STD_VIDEO_H264_PICTURE_TYPE_SP = 3 + reserved STD_VIDEO_H264_PICTURE_TYPE_SI = 4 + </comment> + <enum name="STD_VIDEO_H264_PICTURE_TYPE_IDR" value="5"/> + <enum name="STD_VIDEO_H264_PICTURE_TYPE_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH264NonVclNaluType" type="enum"> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS" value="0"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS" value="1"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD" value="2"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX" value="3"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE" value="4"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM" value="5"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED" value="6"/> + <enum name="STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID" value="0x7FFFFFFF"/> + </enums> + + <!-- vulkan_video_codec_h264std_decode.h enums --> + <enums name="StdVideoDecodeH264FieldOrderCount" type="enum"> + <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP" value="0"/> + <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM" value="1"/> + <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID" value="0x7FFFFFFF"/> + </enums> + + <!-- vulkan_video_codec_h265std.h enums --> + <enums name="StdVideoH265ChromaFormatIdc" type="enum"> + <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME" value="0"/> + <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_420" value="1"/> + <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_422" value="2"/> + <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_444" value="3"/> + <enum name="STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH265ProfileIdc" type="enum"> + <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN" value="1"/> + <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_10" value="2"/> + <enum name="STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE" value="3"/> + <enum name="STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS" value="4"/> + <enum name="STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS" value="9"/> + <enum name="STD_VIDEO_H265_PROFILE_IDC_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH265Level" type="enum"> + <enum name="STD_VIDEO_H265_LEVEL_1_0" value="0"/> + <enum name="STD_VIDEO_H265_LEVEL_2_0" value="1"/> + <enum name="STD_VIDEO_H265_LEVEL_2_1" value="2"/> + <enum name="STD_VIDEO_H265_LEVEL_3_0" value="3"/> + <enum name="STD_VIDEO_H265_LEVEL_3_1" value="4"/> + <enum name="STD_VIDEO_H265_LEVEL_4_0" value="5"/> + <enum name="STD_VIDEO_H265_LEVEL_4_1" value="6"/> + <enum name="STD_VIDEO_H265_LEVEL_5_0" value="7"/> + <enum name="STD_VIDEO_H265_LEVEL_5_1" value="8"/> + <enum name="STD_VIDEO_H265_LEVEL_5_2" value="9"/> + <enum name="STD_VIDEO_H265_LEVEL_6_0" value="10"/> + <enum name="STD_VIDEO_H265_LEVEL_6_1" value="11"/> + <enum name="STD_VIDEO_H265_LEVEL_6_2" value="12"/> + <enum name="STD_VIDEO_H265_LEVEL_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH265SliceType" type="enum"> + <enum name="STD_VIDEO_H265_SLICE_TYPE_B" value="0"/> + <enum name="STD_VIDEO_H265_SLICE_TYPE_P" value="1"/> + <enum name="STD_VIDEO_H265_SLICE_TYPE_I" value="2"/> + <enum name="STD_VIDEO_H265_SLICE_TYPE_INVALID" value="0x7FFFFFFF"/> + </enums> + <enums name="StdVideoH265PictureType" type="enum"> + <enum name="STD_VIDEO_H265_PICTURE_TYPE_P" value="0"/> + <enum name="STD_VIDEO_H265_PICTURE_TYPE_B" value="1"/> + <enum name="STD_VIDEO_H265_PICTURE_TYPE_I" value="2"/> + <enum name="STD_VIDEO_H265_PICTURE_TYPE_IDR" value="3"/> + <enum name="STD_VIDEO_H265_PICTURE_TYPE_INVALID" value="0x7FFFFFFF"/> + </enums> + + <extensions> + <extension name="vulkan_video_codecs_common" comment="protect with VULKAN_VIDEO_CODEC_COMMON_H_" supported="vulkan"> + <require> + <type name="VK_MAKE_VIDEO_STD_VERSION"/> + </require> + </extension> + <extension name="vulkan_video_codec_h264std" comment="protect with VULKAN_VIDEO_CODEC_H264STD_H_" supported="vulkan"> + <require> + <type name="vk_video/vulkan_video_codecs_common.h"/> + + <enum name="STD_VIDEO_H264_CPB_CNT_LIST_SIZE" value="32"/> + <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS" value="6"/> + <enum name="STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS" value="16"/> + <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS" value="2"/> + <enum name="STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS" value="64"/> + <enum name="STD_VIDEO_H264_MAX_NUM_LIST_REF" value="32"/> + <enum name="STD_VIDEO_H264_MAX_CHROMA_PLANES" value="2"/> + + <type name="StdVideoH264ChromaFormatIdc"/> + <type name="StdVideoH264ProfileIdc"/> + <type name="StdVideoH264Level"/> + <type name="StdVideoH264PocType"/> + <type name="StdVideoH264AspectRatioIdc"/> + <type name="StdVideoH264WeightedBipredIdc"/> + <type name="StdVideoH264ModificationOfPicNumsIdc"/> + <type name="StdVideoH264MemMgmtControlOp"/> + <type name="StdVideoH264CabacInitIdc"/> + <type name="StdVideoH264DisableDeblockingFilterIdc"/> + <type name="StdVideoH264SliceType"/> + <type name="StdVideoH264PictureType"/> + <type name="StdVideoH264NonVclNaluType"/> + + <type name="StdVideoH264SpsVuiFlags"/> + <type name="StdVideoH264HrdParameters"/> + <type name="StdVideoH264SequenceParameterSetVui"/> + <type name="StdVideoH264SpsFlags"/> + <type name="StdVideoH264ScalingLists"/> + <type name="StdVideoH264SequenceParameterSet"/> + <type name="StdVideoH264PpsFlags"/> + <type name="StdVideoH264PictureParameterSet"/> + </require> + </extension> + <extension name="vulkan_video_codec_h264std_decode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_DECODE_H_" supported="vulkan"> + <require> + <type name="vk_video/vulkan_video_codec_h264std.h"/> + + <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME" value=""VK_STD_vulkan_video_codec_h264_decode""/> + + <enum name="STD_VIDEO_DECODE_H264_MVC_REF_LIST_SIZE" value="15"/> + <enum name="STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE" value="2"/> + + <type name="StdVideoDecodeH264FieldOrderCount"/> + <type name="StdVideoDecodeH264PictureInfoFlags"/> + <type name="StdVideoDecodeH264PictureInfo"/> + <type name="StdVideoDecodeH264ReferenceInfoFlags"/> + <type name="StdVideoDecodeH264ReferenceInfo"/> + <type name="StdVideoDecodeH264MvcElementFlags"/> + <type name="StdVideoDecodeH264MvcElement"/> + <type name="StdVideoDecodeH264Mvc"/> + </require> + </extension> + <extension name="vulkan_video_codec_h264std_encode" comment="protect with VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_" supported="vulkan"> + <require> + <type name="vk_video/vulkan_video_codec_h264std.h"/> + + <type name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME" value=""VK_STD_vulkan_video_codec_h264_encode""/> + + <type name="StdVideoEncodeH264WeightTableFlags"/> + <type name="StdVideoEncodeH264WeightTable"/> + <type name="StdVideoEncodeH264SliceHeaderFlags"/> + <type name="StdVideoEncodeH264PictureInfoFlags"/> + <type name="StdVideoEncodeH264ReferenceInfoFlags"/> + <type name="StdVideoEncodeH264RefMgmtFlags"/> + <type name="StdVideoEncodeH264RefListModEntry"/> + <type name="StdVideoEncodeH264RefPicMarkingEntry"/> + <type name="StdVideoEncodeH264RefMemMgmtCtrlOperations"/> + <type name="StdVideoEncodeH264PictureInfo"/> + <type name="StdVideoEncodeH264ReferenceInfo"/> + <type name="StdVideoEncodeH264SliceHeader"/> + </require> + </extension> + <extension name="vulkan_video_codec_h265std" comment="protect with VULKAN_VIDEO_CODEC_H265STD_H_" supported="vulkan"> + <require> + <type name="vk_video/vulkan_video_codecs_common.h"/> + + <enum name="STD_VIDEO_H265_CPB_CNT_LIST_SIZE" value="32"/> + <enum name="STD_VIDEO_H265_SUBLAYERS_MINUS1_LIST_SIZE" value="7"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS" value="6"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS" value="16"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS" value="6"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS" value="64"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS" value="6"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS" value="64"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS" value="2"/> + <enum name="STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS" value="64"/> + <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE" value="6"/> + <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE" value="19"/> + <enum name="STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE" value="21"/> + <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE" value="3"/> + <enum name="STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE" value="128"/> + <enum name="STD_VIDEO_H265_MAX_NUM_LIST_REF" value="15"/> + <enum name="STD_VIDEO_H265_MAX_CHROMA_PLANES" value="2"/> + <enum name="STD_VIDEO_H265_SPS_MAX_SUB_LAYERS" value="8"/> + + <type name="StdVideoH265ChromaFormatIdc"/> + <type name="StdVideoH265ProfileIdc"/> + <type name="StdVideoH265Level"/> + <type name="StdVideoH265SliceType"/> + <type name="StdVideoH265PictureType"/> + <type name="StdVideoH265DecPicBufMgr"/> + <type name="StdVideoH265SubLayerHrdParameters"/> + <type name="StdVideoH265HrdFlags"/> + <type name="StdVideoH265HrdParameters"/> + <type name="StdVideoH265VpsFlags"/> + <type name="StdVideoH265VideoParameterSet"/> + <type name="StdVideoH265ScalingLists"/> + <type name="StdVideoH265SpsVuiFlags"/> + <type name="StdVideoH265SequenceParameterSetVui"/> + <type name="StdVideoH265PredictorPaletteEntries"/> + <type name="StdVideoH265SpsFlags"/> + <type name="StdVideoH265SequenceParameterSet"/> + <type name="StdVideoH265PpsFlags"/> + <type name="StdVideoH265PictureParameterSet"/> + </require> + </extension> + <extension name="vulkan_video_codec_h265std_decode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_DECODE_H_" supported="vulkan"> + <require> + <type name="vk_video/vulkan_video_codec_h265std.h"/> + + <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME" value=""VK_STD_vulkan_video_codec_h265_decode""/> + + <enum name="STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE" value="8"/> + + <type name="StdVideoDecodeH265PictureInfoFlags"/> + <type name="StdVideoDecodeH265PictureInfo"/> + <type name="StdVideoDecodeH265ReferenceInfoFlags"/> + <type name="StdVideoDecodeH265ReferenceInfo"/> + </require> + </extension> + <extension name="vulkan_video_codec_h265std_encode" comment="protect with VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_" supported="vulkan"> + <require> + <type name="vk_video/vulkan_video_codec_h265std.h"/> + + <type name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION" value="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_0_9_6"/> + <enum name="VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME" value=""VK_STD_vulkan_video_codec_h265_encode""/> + + <type name="StdVideoEncodeH265WeightTableFlags"/> + <type name="StdVideoEncodeH265WeightTable"/> + <type name="StdVideoEncodeH265SliceSegmentHeaderFlags"/> + <type name="StdVideoEncodeH265SliceSegmentHeader"/> + <type name="StdVideoEncodeH265ReferenceModificationFlags"/> + <type name="StdVideoEncodeH265ReferenceModifications"/> + <type name="StdVideoEncodeH265PictureInfoFlags"/> + <type name="StdVideoEncodeH265PictureInfo"/> + <type name="StdVideoEncodeH265ReferenceInfoFlags"/> + <type name="StdVideoEncodeH265ReferenceInfo"/> + </require> + </extension> + </extensions> +</registry> diff --git a/registry/vk.xml b/registry/vk.xml index 6376e6a..97ec3b0 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -159,7 +159,7 @@ branch of the member gitlab server. <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.3 version number #define <name>VK_API_VERSION_1_3</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, 0)// Patch version should always be set to 0</type> <type category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 210</type> +#define <name>VK_HEADER_VERSION</name> 211</type> <type 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> @@ -5608,6 +5608,12 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkDeviceSize</type> <name>updateScratchSize</name></member> <member><type>VkDeviceSize</type> <name>buildScratchSize</name></member> </type> + <type category="struct" name="VkPhysicalDeviceImage2DViewOf3DFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkBool32</type> <name>image2DViewOf3D</name></member> + <member><type>VkBool32</type> <name>sampler2DViewOf3D</name></member> + </type> <type category="struct" name="VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"><type>VkStructureType</type> <name>sType</name></member> <member optional="true" noautovalidity="true"><type>void</type>* <name>pNext</name></member> @@ -5857,8 +5863,6 @@ typedef void <name>CAMetalLayer</name>; <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkVideoDecodeFlagsKHR</type> <name>flags</name></member> - <member><type>VkOffset2D</type> <name>codedOffset</name></member> - <member><type>VkExtent2D</type> <name>codedExtent</name></member> <member><type>VkBuffer</type> <name>srcBuffer</name></member> <member><type>VkDeviceSize</type> <name>srcBufferOffset</name></member> <member><type>VkDeviceSize</type> <name>srcBufferRange</name></member> @@ -5903,8 +5907,8 @@ typedef void <name>CAMetalLayer</name>; </type> <type category="struct" name="VkVideoDecodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoDecodeCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> - <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxLevel</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>StdVideoH264Level</type> <name>maxLevel</name></member> <member><type>VkOffset2D</type> <name>fieldOffsetGranularity</name></member> </type> <type requires="vk_video/vulkan_video_codec_h264std.h" name="StdVideoH264SequenceParameterSet"/> @@ -5973,7 +5977,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkVideoDecodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoDecodeCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>maxLevel</name></member> + <member><type>StdVideoH265Level</type> <name>maxLevel</name></member> </type> <type category="struct" name="VkVideoDecodeH265SessionParametersAddInfoEXT" structextends="VkVideoSessionParametersUpdateInfoKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT"><type>VkStructureType</type><name>sType</name></member> @@ -6054,7 +6058,6 @@ typedef void <name>CAMetalLayer</name>; <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>VkExtent2D</type> <name>codedExtent</name></member> <member><type>VkBuffer</type> <name>dstBitstreamBuffer</name></member> <member><type>VkDeviceSize</type> <name>dstBitstreamBufferOffset</name></member> <member><type>VkDeviceSize</type> <name>dstBitstreamBufferMaxRange</name></member> @@ -6082,18 +6085,18 @@ typedef void <name>CAMetalLayer</name>; <member><type>uint32_t</type> <name>virtualBufferSizeInMs</name></member> <member><type>uint32_t</type> <name>initialVirtualBufferSizeInMs</name></member> </type> - <type category="struct" name="VkVideoEncodeCapabilitiesKHR" structextends="VkVideoCapabilitiesKHR"> + <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">const <type>void</type>* <name>pNext</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>uint8_t</type> <name>rateControlLayerCount</name></member> <member><type>uint8_t</type> <name>qualityLevelCount</name></member> <member><type>VkExtent2D</type> <name>inputImageDataFillAlignment</name></member> </type> - <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" structextends="VkVideoEncodeCapabilitiesKHR"> + <type category="struct" name="VkVideoEncodeH264CapabilitiesEXT" returnedonly="true" structextends="VkVideoEncodeCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member noautovalidity="true"><type>VkVideoEncodeH264CapabilityFlagsEXT</type> <name>flags</name></member> <member><type>VkVideoEncodeH264InputModeFlagsEXT</type> <name>inputModeFlags</name></member> <member><type>VkVideoEncodeH264OutputModeFlagsEXT</type> <name>outputModeFlags</name></member> @@ -6207,9 +6210,9 @@ typedef void <name>CAMetalLayer</name>; <member><type>VkBool32</type> <name>useMaxFrameSize</name></member> <member><type>VkVideoEncodeH264FrameSizeEXT</type> <name>maxFrameSize</name></member> </type> - <type category="struct" name="VkVideoEncodeH265CapabilitiesEXT" structextends="VkVideoEncodeCapabilitiesKHR"> + <type category="struct" name="VkVideoEncodeH265CapabilitiesEXT" returnedonly="true" structextends="VkVideoEncodeCapabilitiesKHR"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT"><type>VkStructureType</type><name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member noautovalidity="true"><type>VkVideoEncodeH265CapabilityFlagsEXT</type> <name>flags</name></member> <member><type>VkVideoEncodeH265InputModeFlagsEXT</type> <name>inputModeFlags</name></member> <member><type>VkVideoEncodeH265OutputModeFlagsEXT</type> <name>outputModeFlags</name></member> @@ -8283,7 +8286,7 @@ typedef void <name>CAMetalLayer</name>; <enum bitpos="12" name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"/> <enum name="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"/> <enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR"/> - <enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_TRANSFER_BIT"/> + <enum name="VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR" alias="VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT"/> <enum bitpos="13" name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT"/> <enum name="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR" alias="VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT"/> <enum bitpos="14" name="VK_PIPELINE_STAGE_2_HOST_BIT"/> @@ -8529,20 +8532,22 @@ typedef void <name>CAMetalLayer</name>; <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_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT"/> - <enum bitpos="11" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT"/> - <enum bitpos="12" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT"/> - <enum bitpos="13" name="VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT"/> - <enum bitpos="14" name="VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT"/> - <enum bitpos="15" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT"/> - <enum bitpos="16" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT"/> - <enum bitpos="17" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT"/> - <enum bitpos="18" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT"/> - <enum bitpos="19" name="VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT"/> - <enum bitpos="20" name="VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT"/> - <enum bitpos="21" name="VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT"/> - <enum bitpos="22" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT"/> - <enum bitpos="23" name="VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_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"/> </enums> <enums name="VkVideoEncodeH265InputModeFlagBitsEXT" type="bitmask"> <enum bitpos="0" name="VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT"/> @@ -11679,7 +11684,7 @@ typedef void <name>CAMetalLayer</name>; <param><type>uint32_t</type> <name>connectorId</name></param> <param><type>VkDisplayKHR</type>* <name>display</name></param> </command> - <command successcodes="VK_SUCCESS,VK_TIMEOUT" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST"> + <command successcodes="VK_SUCCESS,VK_TIMEOUT,VK_SUBOPTIMAL_KHR" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_DEVICE_LOST,VK_ERROR_OUT_OF_DATE_KHR,VK_ERROR_SURFACE_LOST_KHR,VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT"> <proto><type>VkResult</type> <name>vkWaitForPresentKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param externsync="true"><type>VkSwapchainKHR</type> <name>swapchain</name></param> @@ -13427,7 +13432,7 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_KHR_video_decode_queue" number="25" type="device" requires="VK_KHR_video_queue,VK_KHR_synchronization2" author="KHR" contact="[email protected]" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="3" name="VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION"/> + <enum value="4" name="VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_decode_queue"" name="VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> @@ -13639,7 +13644,7 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_EXT_video_encode_h265" number="40" type="device" requires="VK_KHR_video_encode_queue" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="6" name="VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION"/> + <enum value="7" 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"/> @@ -13684,7 +13689,7 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_EXT_video_decode_h264" number="41" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="4" name="VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION"/> + <enum value="5" name="VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION"/> <enum value=""VK_EXT_video_decode_h264"" name="VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> @@ -15800,7 +15805,7 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_EXT_video_decode_h265" number="188" type="device" requires="VK_KHR_video_decode_queue" author="KHR" contact="[email protected]" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="2" name="VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION"/> + <enum value="3" name="VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION"/> <enum value=""VK_EXT_video_decode_h265"" name="VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT" protect="VK_ENABLE_BETA_EXTENSIONS"/> @@ -17077,7 +17082,7 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_KHR_video_encode_queue" number="300" type="device" requires="VK_KHR_video_queue,VK_KHR_synchronization2" author="KHR" contact="Ahmed Abdelkhalek @aabdelkh" provisional="true" platform="provisional" supported="vulkan"> <require> - <enum value="4" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/> + <enum value="5" name="VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_encode_queue"" name="VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME"/> <enum bitpos="27" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" /> <enum bitpos="37" extends="VkAccessFlagBits2" name="VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS" /> @@ -18052,11 +18057,13 @@ typedef void <name>CAMetalLayer</name>; <type name="VkMultiDrawIndexedInfoEXT"/> </require> </extension> - <extension name="VK_EXT_extension_394" number="394" author="EXT" contact="Mike Blumenkrantz @zmike" type="device" supported="disabled"> + <extension name="VK_EXT_image_2d_view_of_3d" number="394" requires="VK_KHR_maintenance1,VK_KHR_get_physical_device_properties2" author="EXT" contact="Mike Blumenkrantz @zmike" specialuse="glemulation" type="device" supported="vulkan"> <require> - <enum value="0" name="VK_EXT_EXTENSION_394_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_394"" name="VK_EXT_EXTENSION_394_EXTENSION_NAME"/> - <enum extends="VkImageCreateFlagBits" bitpos="17" name="VK_IMAGE_CREATE_RESERVED_394_BIT_EXT"/> + <enum value="1" name="VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION"/> + <enum value=""VK_EXT_image_2d_view_of_3d"" name="VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT"/> + <type name="VkPhysicalDeviceImage2DViewOf3DFeaturesEXT"/> + <enum extends="VkImageCreateFlagBits" bitpos="17" name="VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT" comment="Image is created with a layout where individual slices are capable of being used as 2D images"/> </require> </extension> <extension name="VK_KHR_portability_enumeration" number="395" author="KHR" contact="Charles Giessen @charles-lunarg" type="instance" supported="vulkan"> @@ -18074,8 +18081,18 @@ typedef void <name>CAMetalLayer</name>; </extension> <extension name="VK_NV_extension_397" number="397" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled"> <require> - <enum value="0" name="VK_NV_EXTENSION_397_SPEC_VERSION"/> - <enum value=""VK_NV_extension_397"" name="VK_NV_EXTENSION_397_EXTENSION_NAME"/> + <enum value="0" name="VK_NV_EXTENSION_397_SPEC_VERSION"/> + <enum value=""VK_NV_extension_397"" name="VK_NV_EXTENSION_397_EXTENSION_NAME"/> + <enum bitpos="30" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RESERVED_30_BIT_NV"/> + <enum bitpos="44" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_44_BIT_NV"/> + <enum bitpos="45" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_45_BIT_NV"/> + <enum bitpos="23" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_23_BIT_NV"/> + <enum bitpos="24" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_24_BIT_NV"/> + <enum bitpos="24" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_24_BIT_NV"/> + <enum bitpos="4" extends="VkGeometryInstanceFlagBitsKHR" name="VK_GEOMETRY_INSTANCE_RESERVED_4_BIT_NV"/> + <enum bitpos="5" extends="VkGeometryInstanceFlagBitsKHR" name="VK_GEOMETRY_INSTANCE_RESERVED_5_BIT_NV"/> + <enum bitpos="6" extends="VkBuildAccelerationStructureFlagBitsKHR" name="VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_6_BIT_NV"/> + <enum bitpos="7" extends="VkBuildAccelerationStructureFlagBitsKHR" name="VK_BUILD_ACCELERATION_STRUCTURE_RESERVED_7_BIT_NV"/> </require> </extension> <extension name="VK_NV_extension_398" number="398" author="NV" contact="Christoph Kubisch @pixeljetstream" supported="disabled"> @@ -18527,6 +18544,12 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_EXT_extension_463"" name="VK_EXT_EXTENSION_463_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_EXT_extension_464" number="464" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_464_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_464"" name="VK_EXT_EXTENSION_464_EXTENSION_NAME"/> + </require> + </extension> <extension name="VK_NV_extension_465" number="465" author="NV" contact="Carsten Rohde @crohde" supported="disabled"> <require> <enum value="0" name="VK_NV_EXTENSION_465_SPEC_VERSION"/> @@ -18541,10 +18564,24 @@ typedef void <name>CAMetalLayer</name>; <enum bitpos="43" extends="VkFormatFeatureFlagBits2" name="VK_FORMAT_FEATURE_2_RESERVED_43_BIT_NV"/> </require> </extension> - <extension name="VK_EXT_extension_464" number="464" author="EXT" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled"> + <extension name="VK_EXT_extension_466" number="466" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled"> <require> - <enum value="0" name="VK_EXT_EXTENSION_464_SPEC_VERSION"/> - <enum value=""VK_EXT_extension_464"" name="VK_EXT_EXTENSION_464_EXTENSION_NAME"/> + <enum value="0" name="VK_EXT_EXTENSION_466_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_466"" name="VK_EXT_EXTENSION_466_EXTENSION_NAME"/> + <enum bitpos="7" extends="VkSubpassDescriptionFlagBits" name="VK_SUBPASS_DESCRIPTION_RESERVED_7_BIT_EXT"/> + <enum bitpos="3" extends="VkRenderingFlagBits" name="VK_RENDERING_RESERVED_3_BIT_EXT"/> + </require> + </extension> + <extension name="VK_EXT_extension_467" number="467" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_467_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_467"" name="VK_EXT_EXTENSION_467_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_EXT_extension_468" number="468" author="EXT" contact="Shahbaz Youssefi @syoussefi" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_468_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_468"" name="VK_EXT_EXTENSION_468_EXTENSION_NAME"/> </require> </extension> </extensions> diff --git a/registry/vkconventions.py b/registry/vkconventions.py index 175c37f..1d3f632 100644 --- a/registry/vkconventions.py +++ b/registry/vkconventions.py @@ -22,6 +22,8 @@ CATEGORIES_REQUIRING_VALIDATION = set(('handle', 'enum', 'bitmask')) # Ideally these would be listed in the spec as exceptions, as OpenXR does. SPECIAL_WORDS = set(( '16Bit', # VkPhysicalDevice16BitStorageFeatures + '2D', # VkPhysicalDeviceImage2DViewOf3DFeaturesEXT + '3D', # VkPhysicalDeviceImage2DViewOf3DFeaturesEXT '8Bit', # VkPhysicalDevice8BitStorageFeaturesKHR 'AABB', # VkGeometryAABBNV 'ASTC', # VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT |