diff options
author | Jon Leech <[email protected]> | 2022-06-16 02:50:39 -0700 |
---|---|---|
committer | Jon Leech <[email protected]> | 2022-06-16 02:50:59 -0700 |
commit | 3be1df310be8963c29125c35fce25ee0af12ff70 (patch) | |
tree | 20d350dada7d4bfdeadcf9d39e46cbccc84cf0ef | |
parent | ec9b96aae53e152f6812e66fa43757c1256369a0 (diff) | |
download | Vulkan-Headers-3be1df310be8963c29125c35fce25ee0af12ff70.tar.gz Vulkan-Headers-3be1df310be8963c29125c35fce25ee0af12ff70.zip |
Update for Vulkan-Docs 1.3.218v1.3.218
-rw-r--r-- | include/vulkan/vulkan.hpp | 259 | ||||
-rw-r--r-- | include/vulkan/vulkan_beta.h | 26 | ||||
-rw-r--r-- | include/vulkan/vulkan_core.h | 20 | ||||
-rw-r--r-- | include/vulkan/vulkan_enums.hpp | 78 | ||||
-rw-r--r-- | include/vulkan/vulkan_hash.hpp | 76 | ||||
-rw-r--r-- | include/vulkan/vulkan_raii.hpp | 463 | ||||
-rw-r--r-- | include/vulkan/vulkan_structs.hpp | 660 | ||||
-rw-r--r-- | registry/reg.py | 121 | ||||
-rw-r--r-- | registry/validusage.json | 182 | ||||
-rw-r--r-- | registry/vk.xml | 76 |
10 files changed, 1130 insertions, 831 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 69d1f01..e54b480 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -120,7 +120,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include <span> #endif -static_assert( VK_HEADER_VERSION == 217, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 218, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for non-dispatchable 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 @@ -5816,6 +5816,81 @@ namespace VULKAN_HPP_NAMESPACE InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {} }; +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + class ImageUsageNotSupportedKHRError : public SystemError + { + public: + ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {} + ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {} + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + class VideoPictureLayoutNotSupportedKHRError : public SystemError + { + public: + VideoPictureLayoutNotSupportedKHRError( std::string const & message ) + : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message ) + { + } + VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message ) + { + } + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + class VideoProfileOperationNotSupportedKHRError : public SystemError + { + public: + VideoProfileOperationNotSupportedKHRError( std::string const & message ) + : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message ) + { + } + VideoProfileOperationNotSupportedKHRError( char const * message ) + : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message ) + { + } + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + class VideoProfileFormatNotSupportedKHRError : public SystemError + { + public: + VideoProfileFormatNotSupportedKHRError( std::string const & message ) + : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message ) + { + } + VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message ) + { + } + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + class VideoProfileCodecNotSupportedKHRError : public SystemError + { + public: + VideoProfileCodecNotSupportedKHRError( std::string const & message ) + : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) + { + } + VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {} + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + class VideoStdVersionNotSupportedKHRError : public SystemError + { + public: + VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) + { + } + VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {} + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError { public: @@ -5883,6 +5958,24 @@ namespace VULKAN_HPP_NAMESPACE case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message ); case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message ); case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message ); +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message ); +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message ); +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message ); +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message ); +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message ); +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message ); +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message ); case Result::eErrorNotPermittedKHR: throw NotPermittedKHRError( message ); # if defined( VK_USE_PLATFORM_WIN32_KHR ) @@ -7384,7 +7477,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoProfileKHR, FormatProperties2> + struct StructExtends<VideoProfilesKHR, PhysicalDeviceImageFormatInfo2> { enum { @@ -7392,31 +7485,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoProfileKHR, ImageCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoProfileKHR, ImageViewCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoProfileKHR, BufferCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoProfilesKHR, FormatProperties2> + struct StructExtends<VideoProfilesKHR, PhysicalDeviceVideoFormatInfoKHR> { enum { @@ -7432,14 +7501,6 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoProfilesKHR, ImageViewCreateInfo> - { - enum - { - value = true - }; - }; - template <> struct StructExtends<VideoProfilesKHR, BufferCreateInfo> { enum @@ -7580,38 +7641,6 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoEncodeH264ProfileEXT, FormatProperties2> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoEncodeH264ProfileEXT, ImageCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoEncodeH264ProfileEXT, ImageViewCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoEncodeH264ProfileEXT, BufferCreateInfo> - { - enum - { - value = true - }; - }; - template <> struct StructExtends<VideoEncodeH264RateControlInfoEXT, VideoEncodeRateControlInfoKHR> { enum @@ -7688,38 +7717,6 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoEncodeH265ProfileEXT, FormatProperties2> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoEncodeH265ProfileEXT, ImageCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoEncodeH265ProfileEXT, ImageViewCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoEncodeH265ProfileEXT, BufferCreateInfo> - { - enum - { - value = true - }; - }; - template <> struct StructExtends<VideoEncodeH265RateControlInfoEXT, VideoEncodeRateControlInfoKHR> { enum @@ -7756,38 +7753,6 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoDecodeH264ProfileEXT, FormatProperties2> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoDecodeH264ProfileEXT, ImageCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoDecodeH264ProfileEXT, ImageViewCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoDecodeH264ProfileEXT, BufferCreateInfo> - { - enum - { - value = true - }; - }; - template <> struct StructExtends<VideoDecodeH264CapabilitiesEXT, VideoDecodeCapabilitiesKHR> { enum @@ -8810,38 +8775,6 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<VideoDecodeH265ProfileEXT, FormatProperties2> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoDecodeH265ProfileEXT, ImageCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoDecodeH265ProfileEXT, ImageViewCreateInfo> - { - enum - { - value = true - }; - }; - template <> - struct StructExtends<VideoDecodeH265ProfileEXT, BufferCreateInfo> - { - enum - { - value = true - }; - }; - template <> struct StructExtends<VideoDecodeH265CapabilitiesEXT, VideoDecodeCapabilitiesKHR> { enum diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index 3753763..89c5c4a 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -22,7 +22,7 @@ extern "C" { #define VK_KHR_video_queue 1 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) -#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 3 +#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 4 #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" typedef enum VkQueryResultStatusKHR { @@ -102,7 +102,7 @@ typedef VkFlags VkVideoCodingQualityPresetFlagsKHR; typedef struct VkQueueFamilyQueryResultStatusProperties2KHR { VkStructureType sType; void* pNext; - VkBool32 supported; + VkBool32 queryResultStatusSupport; } VkQueueFamilyQueryResultStatusProperties2KHR; typedef struct VkVideoQueueFamilyProperties2KHR { @@ -113,7 +113,7 @@ typedef struct VkVideoQueueFamilyProperties2KHR { typedef struct VkVideoProfileKHR { VkStructureType sType; - void* pNext; + const void* pNext; VkVideoCodecOperationFlagBitsKHR videoCodecOperation; VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; VkVideoComponentBitDepthFlagsKHR lumaBitDepth; @@ -122,7 +122,7 @@ typedef struct VkVideoProfileKHR { typedef struct VkVideoProfilesKHR { VkStructureType sType; - void* pNext; + const void* pNext; uint32_t profileCount; const VkVideoProfileKHR* pProfiles; } VkVideoProfilesKHR; @@ -142,16 +142,20 @@ typedef struct VkVideoCapabilitiesKHR { } VkVideoCapabilitiesKHR; typedef struct VkPhysicalDeviceVideoFormatInfoKHR { - VkStructureType sType; - void* pNext; - VkImageUsageFlags imageUsage; - const VkVideoProfilesKHR* pVideoProfiles; + VkStructureType sType; + void* pNext; + VkImageUsageFlags imageUsage; } VkPhysicalDeviceVideoFormatInfoKHR; typedef struct VkVideoFormatPropertiesKHR { - VkStructureType sType; - void* pNext; - VkFormat format; + VkStructureType sType; + void* pNext; + VkFormat format; + VkComponentMapping componentMapping; + VkImageCreateFlags imageCreateFlags; + VkImageType imageType; + VkImageTiling imageTiling; + VkImageUsageFlags imageUsageFlags; } VkVideoFormatPropertiesKHR; typedef struct VkVideoPictureResourceKHR { diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 07b4acf..d39da6b 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 217 +#define VK_HEADER_VERSION 218 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -168,6 +168,24 @@ typedef enum VkResult { VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, VK_ERROR_INVALID_SHADER_NV = -1000012000, +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, +#endif +#ifdef VK_ENABLE_BETA_EXTENSIONS + VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, +#endif VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, VK_ERROR_NOT_PERMITTED_KHR = -1000174001, VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index ab69297..dbcc59a 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -36,37 +36,45 @@ namespace VULKAN_HPP_NAMESPACE enum class Result { - eSuccess = VK_SUCCESS, - eNotReady = VK_NOT_READY, - eTimeout = VK_TIMEOUT, - eEventSet = VK_EVENT_SET, - eEventReset = VK_EVENT_RESET, - eIncomplete = VK_INCOMPLETE, - eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY, - eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY, - eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED, - eErrorDeviceLost = VK_ERROR_DEVICE_LOST, - eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED, - eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT, - eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT, - eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT, - eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER, - eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS, - eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED, - eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL, - eErrorUnknown = VK_ERROR_UNKNOWN, - eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY, - eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE, - eErrorFragmentation = VK_ERROR_FRAGMENTATION, - eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, - ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED, - eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR, - eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, - eSuboptimalKHR = VK_SUBOPTIMAL_KHR, - eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR, - eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, - eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT, - eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV, + eSuccess = VK_SUCCESS, + eNotReady = VK_NOT_READY, + eTimeout = VK_TIMEOUT, + eEventSet = VK_EVENT_SET, + eEventReset = VK_EVENT_RESET, + eIncomplete = VK_INCOMPLETE, + eErrorOutOfHostMemory = VK_ERROR_OUT_OF_HOST_MEMORY, + eErrorOutOfDeviceMemory = VK_ERROR_OUT_OF_DEVICE_MEMORY, + eErrorInitializationFailed = VK_ERROR_INITIALIZATION_FAILED, + eErrorDeviceLost = VK_ERROR_DEVICE_LOST, + eErrorMemoryMapFailed = VK_ERROR_MEMORY_MAP_FAILED, + eErrorLayerNotPresent = VK_ERROR_LAYER_NOT_PRESENT, + eErrorExtensionNotPresent = VK_ERROR_EXTENSION_NOT_PRESENT, + eErrorFeatureNotPresent = VK_ERROR_FEATURE_NOT_PRESENT, + eErrorIncompatibleDriver = VK_ERROR_INCOMPATIBLE_DRIVER, + eErrorTooManyObjects = VK_ERROR_TOO_MANY_OBJECTS, + eErrorFormatNotSupported = VK_ERROR_FORMAT_NOT_SUPPORTED, + eErrorFragmentedPool = VK_ERROR_FRAGMENTED_POOL, + eErrorUnknown = VK_ERROR_UNKNOWN, + eErrorOutOfPoolMemory = VK_ERROR_OUT_OF_POOL_MEMORY, + eErrorInvalidExternalHandle = VK_ERROR_INVALID_EXTERNAL_HANDLE, + eErrorFragmentation = VK_ERROR_FRAGMENTATION, + eErrorInvalidOpaqueCaptureAddress = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, + ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED, + eErrorSurfaceLostKHR = VK_ERROR_SURFACE_LOST_KHR, + eErrorNativeWindowInUseKHR = VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, + eSuboptimalKHR = VK_SUBOPTIMAL_KHR, + eErrorOutOfDateKHR = VK_ERROR_OUT_OF_DATE_KHR, + eErrorIncompatibleDisplayKHR = VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, + eErrorValidationFailedEXT = VK_ERROR_VALIDATION_FAILED_EXT, + eErrorInvalidShaderNV = VK_ERROR_INVALID_SHADER_NV, +#if defined( VK_ENABLE_BETA_EXTENSIONS ) + eErrorImageUsageNotSupportedKHR = VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR, + eErrorVideoPictureLayoutNotSupportedKHR = VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR, + eErrorVideoProfileOperationNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR, + eErrorVideoProfileFormatNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR, + eErrorVideoProfileCodecNotSupportedKHR = VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR, + eErrorVideoStdVersionNotSupportedKHR = VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR, +#endif /*VK_ENABLE_BETA_EXTENSIONS*/ eErrorInvalidDrmFormatModifierPlaneLayoutEXT = VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT, eErrorNotPermittedKHR = VK_ERROR_NOT_PERMITTED_KHR, #if defined( VK_USE_PLATFORM_WIN32_KHR ) @@ -122,6 +130,14 @@ namespace VULKAN_HPP_NAMESPACE case Result::eErrorIncompatibleDisplayKHR: return "ErrorIncompatibleDisplayKHR"; case Result::eErrorValidationFailedEXT: return "ErrorValidationFailedEXT"; case Result::eErrorInvalidShaderNV: return "ErrorInvalidShaderNV"; +#if defined( VK_ENABLE_BETA_EXTENSIONS ) + case Result::eErrorImageUsageNotSupportedKHR: return "ErrorImageUsageNotSupportedKHR"; + case Result::eErrorVideoPictureLayoutNotSupportedKHR: return "ErrorVideoPictureLayoutNotSupportedKHR"; + case Result::eErrorVideoProfileOperationNotSupportedKHR: return "ErrorVideoProfileOperationNotSupportedKHR"; + case Result::eErrorVideoProfileFormatNotSupportedKHR: return "ErrorVideoProfileFormatNotSupportedKHR"; + case Result::eErrorVideoProfileCodecNotSupportedKHR: return "ErrorVideoProfileCodecNotSupportedKHR"; + case Result::eErrorVideoStdVersionNotSupportedKHR: return "ErrorVideoStdVersionNotSupportedKHR"; +#endif /*VK_ENABLE_BETA_EXTENSIONS*/ case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: return "ErrorInvalidDrmFormatModifierPlaneLayoutEXT"; case Result::eErrorNotPermittedKHR: return "ErrorNotPermittedKHR"; #if defined( VK_USE_PLATFORM_WIN32_KHR ) diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp index d30bfb6..e6bf241 100644 --- a/include/vulkan/vulkan_hash.hpp +++ b/include/vulkan/vulkan_hash.hpp @@ -9134,40 +9134,6 @@ namespace std # if defined( VK_ENABLE_BETA_EXTENSIONS ) template <> - struct hash<VULKAN_HPP_NAMESPACE::VideoProfileKHR> - { - std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfileKHR const & videoProfileKHR ) const VULKAN_HPP_NOEXCEPT - { - std::size_t seed = 0; - VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.sType ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.pNext ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.videoCodecOperation ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaSubsampling ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.lumaBitDepth ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaBitDepth ); - return seed; - } - }; -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ - -# if defined( VK_ENABLE_BETA_EXTENSIONS ) - template <> - struct hash<VULKAN_HPP_NAMESPACE::VideoProfilesKHR> - { - std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfilesKHR const & videoProfilesKHR ) const VULKAN_HPP_NOEXCEPT - { - std::size_t seed = 0; - VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.sType ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pNext ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.profileCount ); - VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pProfiles ); - return seed; - } - }; -# endif /*VK_ENABLE_BETA_EXTENSIONS*/ - -# if defined( VK_ENABLE_BETA_EXTENSIONS ) - template <> struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR> { std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR const & physicalDeviceVideoFormatInfoKHR ) const VULKAN_HPP_NOEXCEPT @@ -9176,7 +9142,6 @@ namespace std VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.sType ); VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pNext ); VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.imageUsage ); - VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceVideoFormatInfoKHR.pVideoProfiles ); return seed; } }; @@ -10461,7 +10426,7 @@ namespace std std::size_t seed = 0; VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.sType ); VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.pNext ); - VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.supported ); + VULKAN_HPP_HASH_COMBINE( seed, queueFamilyQueryResultStatusProperties2KHR.queryResultStatusSupport ); return seed; } }; @@ -12800,6 +12765,11 @@ namespace std VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.sType ); VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.pNext ); VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.format ); + VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.componentMapping ); + VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageCreateFlags ); + VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageType ); + VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageTiling ); + VULKAN_HPP_HASH_COMBINE( seed, videoFormatPropertiesKHR.imageUsageFlags ); return seed; } }; @@ -12823,6 +12793,40 @@ namespace std # if defined( VK_ENABLE_BETA_EXTENSIONS ) template <> + struct hash<VULKAN_HPP_NAMESPACE::VideoProfileKHR> + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfileKHR const & videoProfileKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.videoCodecOperation ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaSubsampling ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.lumaBitDepth ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfileKHR.chromaBitDepth ); + return seed; + } + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + template <> + struct hash<VULKAN_HPP_NAMESPACE::VideoProfilesKHR> + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoProfilesKHR const & videoProfilesKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.profileCount ); + VULKAN_HPP_HASH_COMBINE( seed, videoProfilesKHR.pProfiles ); + return seed; + } + }; +# endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +# if defined( VK_ENABLE_BETA_EXTENSIONS ) + template <> struct hash<VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR> { std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoQueueFamilyProperties2KHR const & videoQueueFamilyProperties2KHR ) const VULKAN_HPP_NOEXCEPT diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 2e60777..7ea28bd 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -10213,6 +10213,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkImageCreateFlags>( flags ), reinterpret_cast<VkImageFormatProperties *>( &imageFormatProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties" ); + return imageFormatProperties; } @@ -10228,13 +10229,19 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> PhysicalDevice::getQueueFamilyProperties() const VULKAN_HPP_NOEXCEPT { - uint32_t queueFamilyPropertyCount; + std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> queueFamilyProperties; + uint32_t queueFamilyPropertyCount; getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties> queueFamilyProperties( queueFamilyPropertyCount ); + queueFamilyProperties.resize( queueFamilyPropertyCount ); getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties *>( queueFamilyProperties.data() ) ); - VULKAN_HPP_ASSERT( queueFamilyPropertyCount == queueFamilyProperties.size() ); + + VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); + if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) + { + queueFamilyProperties.resize( queueFamilyPropertyCount ); + } return queueFamilyProperties; } @@ -10439,6 +10446,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkMemoryMapFlags>( flags ), &pData ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::DeviceMemory::mapMemory" ); + return pData; } @@ -10507,15 +10515,21 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> Image::getSparseMemoryRequirements() const VULKAN_HPP_NOEXCEPT { - uint32_t sparseMemoryRequirementCount; + std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> sparseMemoryRequirements; + uint32_t sparseMemoryRequirementCount; getDispatcher()->vkGetImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements> sparseMemoryRequirements( sparseMemoryRequirementCount ); + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); getDispatcher()->vkGetImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); + + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) + { + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); + } return sparseMemoryRequirements; } @@ -10526,7 +10540,8 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::ImageUsageFlags usage, VULKAN_HPP_NAMESPACE::ImageTiling tiling ) const VULKAN_HPP_NOEXCEPT { - uint32_t propertyCount; + std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> properties; + uint32_t propertyCount; getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), @@ -10535,7 +10550,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkImageTiling>( tiling ), &propertyCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties> properties( propertyCount ); + properties.resize( propertyCount ); getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties( static_cast<VkPhysicalDevice>( m_physicalDevice ), static_cast<VkFormat>( format ), static_cast<VkImageType>( type ), @@ -10544,7 +10559,12 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkImageTiling>( tiling ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties *>( properties.data() ) ); - VULKAN_HPP_ASSERT( propertyCount == properties.size() ); + + VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + if ( propertyCount < properties.size() ) + { + properties.resize( propertyCount ); + } return properties; } @@ -10570,25 +10590,24 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Fence::getStatus() const { - VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetFenceStatus( static_cast<VkDevice>( m_device ), static_cast<VkFence>( m_fence ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Fence::getStatus" ); - } - return result; + VkResult result = getDispatcher()->vkGetFenceStatus( static_cast<VkDevice>( m_device ), static_cast<VkFence>( m_fence ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Fence::getStatus", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eNotReady } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences, VULKAN_HPP_NAMESPACE::Bool32 waitAll, uint64_t timeout ) const { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkWaitForFences( - static_cast<VkDevice>( m_device ), fences.size(), reinterpret_cast<const VkFence *>( fences.data() ), static_cast<VkBool32>( waitAll ), timeout ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences" ); - } - return result; + VkResult result = getDispatcher()->vkWaitForFences( + static_cast<VkDevice>( m_device ), fences.size(), reinterpret_cast<const VkFence *>( fences.data() ), static_cast<VkBool32>( waitAll ), timeout ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::waitForFences", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Semaphore @@ -10607,13 +10626,12 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Event::getStatus() const { - VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetEventStatus( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eEventSet ) && ( result != VULKAN_HPP_NAMESPACE::Result::eEventReset ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Event::getStatus" ); - } - return result; + VkResult result = getDispatcher()->vkGetEventStatus( static_cast<VkDevice>( m_device ), static_cast<VkEvent>( m_event ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Event::getStatus", + { VULKAN_HPP_NAMESPACE::Result::eEventSet, VULKAN_HPP_NAMESPACE::Result::eEventReset } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_INLINE void Event::set() const @@ -11352,6 +11370,7 @@ namespace VULKAN_HPP_NAMESPACE uint32_t apiVersion; VkResult result = getDispatcher()->vkEnumerateInstanceVersion( &apiVersion ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Context::enumerateInstanceVersion" ); + return apiVersion; } @@ -11482,15 +11501,21 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> Device::getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT { - uint32_t sparseMemoryRequirementCount; + std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements; + uint32_t sparseMemoryRequirementCount; getDispatcher()->vkGetImageSparseMemoryRequirements2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements( sparseMemoryRequirementCount ); + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); getDispatcher()->vkGetImageSparseMemoryRequirements2( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); + + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) + { + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); + } return sparseMemoryRequirements; } @@ -11565,6 +11590,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2" ); + return imageFormatProperties; } @@ -11588,13 +11614,19 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> PhysicalDevice::getQueueFamilyProperties2() const VULKAN_HPP_NOEXCEPT { - uint32_t queueFamilyPropertyCount; + std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties; + uint32_t queueFamilyPropertyCount; getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties( queueFamilyPropertyCount ); + queueFamilyProperties.resize( queueFamilyPropertyCount ); getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); - VULKAN_HPP_ASSERT( queueFamilyPropertyCount == queueFamilyProperties.size() ); + + VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); + if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) + { + queueFamilyProperties.resize( queueFamilyPropertyCount ); + } return queueFamilyProperties; } @@ -11645,17 +11677,23 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> PhysicalDevice::getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo ) const VULKAN_HPP_NOEXCEPT { - uint32_t propertyCount; + std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties; + uint32_t propertyCount; getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties( propertyCount ); + properties.resize( propertyCount ); getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); - VULKAN_HPP_ASSERT( propertyCount == properties.size() ); + + VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + if ( propertyCount < properties.size() ) + { + properties.resize( propertyCount ); + } return properties; } @@ -11824,19 +11862,20 @@ namespace VULKAN_HPP_NAMESPACE uint64_t value; VkResult result = getDispatcher()->vkGetSemaphoreCounterValue( static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValue" ); + return value; } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Device::waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const { - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkWaitSemaphores( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores" ); - } - return result; + VkResult result = + getDispatcher()->vkWaitSemaphores( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphores", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_INLINE void Device::signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo ) const @@ -12186,15 +12225,21 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> Device::getImageSparseMemoryRequirements( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirements & info ) const VULKAN_HPP_NOEXCEPT { - uint32_t sparseMemoryRequirementCount; + std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements; + uint32_t sparseMemoryRequirementCount; getDispatcher()->vkGetDeviceImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements( sparseMemoryRequirementCount ); + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); getDispatcher()->vkGetDeviceImageSparseMemoryRequirements( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); + + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) + { + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); + } return sparseMemoryRequirements; } @@ -12210,6 +12255,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), queueFamilyIndex, static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkBool32 *>( &supported ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceSupportKHR" ); + return supported; } @@ -12224,6 +12270,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilitiesKHR *>( &surfaceCapabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilitiesKHR" ); + return surfaceCapabilities; } @@ -12346,33 +12393,34 @@ namespace VULKAN_HPP_NAMESPACE SwapchainKHR::acquireNextImage( uint64_t timeout, VULKAN_HPP_NAMESPACE::Semaphore semaphore, VULKAN_HPP_NAMESPACE::Fence fence ) const { VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImageKHR && "Function <vkAcquireNextImageKHR> needs extension <VK_KHR_swapchain> enabled!" ); - uint32_t imageIndex; - VULKAN_HPP_NAMESPACE::Result result = - static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireNextImageKHR( static_cast<VkDevice>( m_device ), - static_cast<VkSwapchainKHR>( m_swapchain ), - timeout, - static_cast<VkSemaphore>( semaphore ), - static_cast<VkFence>( fence ), - &imageIndex ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) && ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage" ); - } - return std::make_pair( result, imageIndex ); + + uint32_t imageIndex; + VkResult result = getDispatcher()->vkAcquireNextImageKHR( static_cast<VkDevice>( m_device ), + static_cast<VkSwapchainKHR>( m_swapchain ), + timeout, + static_cast<VkSemaphore>( semaphore ), + static_cast<VkFence>( fence ), + &imageIndex ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::acquireNextImage", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eTimeout, + VULKAN_HPP_NAMESPACE::Result::eNotReady, + VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); + + return std::make_pair( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), imageIndex ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo ) const { VULKAN_HPP_ASSERT( getDispatcher()->vkQueuePresentKHR && "Function <vkQueuePresentKHR> needs extension <VK_KHR_swapchain> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkQueuePresentKHR( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkPresentInfoKHR *>( &presentInfo ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR" ); - } - return result; + VkResult result = getDispatcher()->vkQueuePresentKHR( static_cast<VkQueue>( m_queue ), reinterpret_cast<const VkPresentInfoKHR *>( &presentInfo ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Queue::presentKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentCapabilitiesKHR Device::getGroupPresentCapabilitiesKHR() const @@ -12384,6 +12432,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetDeviceGroupPresentCapabilitiesKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<VkDeviceGroupPresentCapabilitiesKHR *>( &deviceGroupPresentCapabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupPresentCapabilitiesKHR" ); + return deviceGroupPresentCapabilities; } @@ -12397,6 +12446,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR( static_cast<VkDevice>( m_device ), static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModesKHR" ); + return modes; } @@ -12441,15 +12491,18 @@ namespace VULKAN_HPP_NAMESPACE Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo ) const { VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImage2KHR && "Function <vkAcquireNextImage2KHR> needs extension <VK_KHR_swapchain> enabled!" ); - uint32_t imageIndex; - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkAcquireNextImage2KHR( - static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireNextImageInfoKHR *>( &acquireInfo ), &imageIndex ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eNotReady ) && ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR" ); - } - return std::make_pair( result, imageIndex ); + + uint32_t imageIndex; + VkResult result = getDispatcher()->vkAcquireNextImage2KHR( + static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAcquireNextImageInfoKHR *>( &acquireInfo ), &imageIndex ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::acquireNextImage2KHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eTimeout, + VULKAN_HPP_NAMESPACE::Result::eNotReady, + VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); + + return std::make_pair( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), imageIndex ); } //=== VK_KHR_display === @@ -12581,6 +12634,7 @@ namespace VULKAN_HPP_NAMESPACE planeIndex, reinterpret_cast<VkDisplayPlaneCapabilitiesKHR *>( &capabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::DisplayModeKHR::getDisplayPlaneCapabilities" ); + return capabilities; } @@ -12797,6 +12851,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkVideoProfileKHR *>( &videoProfile ), reinterpret_cast<VkVideoCapabilitiesKHR *>( &capabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getVideoCapabilitiesKHR" ); + return capabilities; } @@ -13113,6 +13168,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetImageViewAddressNVX( static_cast<VkDevice>( m_device ), static_cast<VkImageView>( m_imageView ), reinterpret_cast<VkImageViewAddressPropertiesNVX *>( &properties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::ImageView::getAddressNVX" ); + return properties; } @@ -13250,6 +13306,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkExternalMemoryHandleTypeFlagsNV>( externalHandleType ), reinterpret_cast<VkExternalImageFormatPropertiesNV *>( &externalImageFormatProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getExternalImageFormatPropertiesNV" ); + return externalImageFormatProperties; } @@ -13265,6 +13322,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetMemoryWin32HandleNV( static_cast<VkDevice>( m_device ), static_cast<VkDeviceMemory>( m_memory ), static_cast<VkExternalMemoryHandleTypeFlagsNV>( handleType ), &handle ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::DeviceMemory::getMemoryWin32HandleNV" ); + return handle; } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -13363,6 +13421,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( &imageFormatInfo ), reinterpret_cast<VkImageFormatProperties2 *>( &imageFormatProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getImageFormatProperties2KHR" ); + return imageFormatProperties; } @@ -13388,13 +13447,20 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR && "Function <vkGetPhysicalDeviceQueueFamilyProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); - uint32_t queueFamilyPropertyCount; + + std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties; + uint32_t queueFamilyPropertyCount; getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2> queueFamilyProperties( queueFamilyPropertyCount ); + queueFamilyProperties.resize( queueFamilyPropertyCount ); getDispatcher()->vkGetPhysicalDeviceQueueFamilyProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), &queueFamilyPropertyCount, reinterpret_cast<VkQueueFamilyProperties2 *>( queueFamilyProperties.data() ) ); - VULKAN_HPP_ASSERT( queueFamilyPropertyCount == queueFamilyProperties.size() ); + + VULKAN_HPP_ASSERT( queueFamilyPropertyCount <= queueFamilyProperties.size() ); + if ( queueFamilyPropertyCount < queueFamilyProperties.size() ) + { + queueFamilyProperties.resize( queueFamilyPropertyCount ); + } return queueFamilyProperties; } @@ -13455,17 +13521,24 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR && "Function <vkGetPhysicalDeviceSparseImageFormatProperties2KHR> needs extension <VK_KHR_get_physical_device_properties2> enabled!" ); - uint32_t propertyCount; + + std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties; + uint32_t propertyCount; getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties2> properties( propertyCount ); + properties.resize( propertyCount ); getDispatcher()->vkGetPhysicalDeviceSparseImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ), reinterpret_cast<const VkPhysicalDeviceSparseImageFormatInfo2 *>( &formatInfo ), &propertyCount, reinterpret_cast<VkSparseImageFormatProperties2 *>( properties.data() ) ); - VULKAN_HPP_ASSERT( propertyCount == properties.size() ); + + VULKAN_HPP_ASSERT( propertyCount <= properties.size() ); + if ( propertyCount < properties.size() ) + { + properties.resize( propertyCount ); + } return properties; } @@ -13594,6 +13667,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetMemoryWin32HandleKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandleKHR" ); + return handle; } @@ -13610,6 +13684,7 @@ namespace VULKAN_HPP_NAMESPACE handle, reinterpret_cast<VkMemoryWin32HandlePropertiesKHR *>( &memoryWin32HandleProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryWin32HandlePropertiesKHR" ); + return memoryWin32HandleProperties; } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -13624,6 +13699,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetMemoryFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetFdInfoKHR *>( &getFdInfo ), &fd ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdKHR" ); + return fd; } @@ -13639,6 +13715,7 @@ namespace VULKAN_HPP_NAMESPACE fd, reinterpret_cast<VkMemoryFdPropertiesKHR *>( &memoryFdProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryFdPropertiesKHR" ); + return memoryFdProperties; } @@ -13683,6 +13760,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetSemaphoreWin32HandleKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreWin32HandleKHR" ); + return handle; } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -13707,6 +13785,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetSemaphoreFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetFdInfoKHR *>( &getFdInfo ), &fd ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreFdKHR" ); + return fd; } @@ -13848,6 +13927,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkSurfaceKHR>( surface ), reinterpret_cast<VkSurfaceCapabilities2EXT *>( &surfaceCapabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2EXT" ); + return surfaceCapabilities; } @@ -13886,6 +13966,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetSwapchainCounterEXT( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchain ), static_cast<VkSurfaceCounterFlagBitsEXT>( counter ), &counterValue ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getCounterEXT" ); + return counterValue; } @@ -13901,6 +13982,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkSwapchainKHR>( m_swapchain ), reinterpret_cast<VkRefreshCycleDurationGOOGLE *>( &displayTimingProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getRefreshCycleDurationGOOGLE" ); + return displayTimingProperties; } @@ -14016,13 +14098,12 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkGetSwapchainStatusKHR && "Function <vkGetSwapchainStatusKHR> needs extension <VK_KHR_shared_presentable_image> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkGetSwapchainStatusKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchain ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getStatus" ); - } - return result; + VkResult result = getDispatcher()->vkGetSwapchainStatusKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchain ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::getStatus", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } //=== VK_KHR_external_fence_capabilities === @@ -14064,6 +14145,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetFenceWin32HandleKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetWin32HandleInfoKHR *>( &getWin32HandleInfo ), &handle ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceWin32HandleKHR" ); + return handle; } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -14086,6 +14168,7 @@ namespace VULKAN_HPP_NAMESPACE int fd; VkResult result = getDispatcher()->vkGetFenceFdKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkFenceGetFdInfoKHR *>( &getFdInfo ), &fd ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getFenceFdKHR" ); + return fd; } @@ -14176,6 +14259,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), reinterpret_cast<VkSurfaceCapabilities2KHR *>( &surfaceCapabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getSurfaceCapabilities2KHR" ); + return surfaceCapabilities; } @@ -14399,6 +14483,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkDisplayPlaneInfo2KHR *>( &displayPlaneInfo ), reinterpret_cast<VkDisplayPlaneCapabilities2KHR *>( &capabilities ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::PhysicalDevice::getDisplayPlaneCapabilities2KHR" ); + return capabilities; } @@ -14530,6 +14615,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID( static_cast<VkDevice>( m_device ), &buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( &properties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getAndroidHardwareBufferPropertiesANDROID" ); + return properties; } @@ -14558,6 +14644,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetMemoryAndroidHardwareBufferANDROID( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetAndroidHardwareBufferInfoANDROID *>( &info ), &buffer ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryAndroidHardwareBufferANDROID" ); + return buffer; } # endif /*VK_USE_PLATFORM_ANDROID_KHR*/ @@ -14655,15 +14742,22 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageSparseMemoryRequirements2KHR && "Function <vkGetImageSparseMemoryRequirements2KHR> needs extension <VK_KHR_get_memory_requirements2> enabled!" ); - uint32_t sparseMemoryRequirementCount; + + std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements; + uint32_t sparseMemoryRequirementCount; getDispatcher()->vkGetImageSparseMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements( sparseMemoryRequirementCount ); + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); getDispatcher()->vkGetImageSparseMemoryRequirements2KHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageSparseMemoryRequirementsInfo2 *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); + + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) + { + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); + } return sparseMemoryRequirements; } @@ -14736,18 +14830,19 @@ namespace VULKAN_HPP_NAMESPACE throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR: infos.size() != pBuildRangeInfos.size()" ); } - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkBuildAccelerationStructuresKHR( + VkResult result = getDispatcher()->vkBuildAccelerationStructuresKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( deferredOperation ), infos.size(), reinterpret_cast<const VkAccelerationStructureBuildGeometryInfoKHR *>( infos.data() ), - reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR" ); - } - return result; + reinterpret_cast<const VkAccelerationStructureBuildRangeInfoKHR * const *>( pBuildRangeInfos.data() ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::buildAccelerationStructuresKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result @@ -14757,16 +14852,16 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCopyAccelerationStructureKHR && "Function <vkCopyAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkCopyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), - static_cast<VkDeferredOperationKHR>( deferredOperation ), - reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR" ); - } - return result; + VkResult result = getDispatcher()->vkCopyAccelerationStructureKHR( static_cast<VkDevice>( m_device ), + static_cast<VkDeferredOperationKHR>( deferredOperation ), + reinterpret_cast<const VkCopyAccelerationStructureInfoKHR *>( &info ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result @@ -14776,16 +14871,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCopyAccelerationStructureToMemoryKHR && "Function <vkCopyAccelerationStructureToMemoryKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( + VkResult result = getDispatcher()->vkCopyAccelerationStructureToMemoryKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( deferredOperation ), - reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR" ); - } - return result; + reinterpret_cast<const VkCopyAccelerationStructureToMemoryInfoKHR *>( &info ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::copyAccelerationStructureToMemoryKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result @@ -14795,16 +14891,17 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkCopyMemoryToAccelerationStructureKHR && "Function <vkCopyMemoryToAccelerationStructureKHR> needs extension <VK_KHR_acceleration_structure> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( + VkResult result = getDispatcher()->vkCopyMemoryToAccelerationStructureKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( deferredOperation ), - reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR" ); - } - return result; + reinterpret_cast<const VkCopyMemoryToAccelerationStructureInfoKHR *>( &info ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::copyMemoryToAccelerationStructureKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, + VULKAN_HPP_NAMESPACE::Result::eOperationDeferredKHR, + VULKAN_HPP_NAMESPACE::Result::eOperationNotDeferredKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } template <typename DataType> @@ -15003,6 +15100,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetImageDrmFormatModifierPropertiesEXT( static_cast<VkDevice>( m_device ), static_cast<VkImage>( m_image ), reinterpret_cast<VkImageDrmFormatModifierPropertiesEXT *>( &properties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Image::getDrmFormatModifierPropertiesEXT" ); + return properties; } @@ -15418,6 +15516,7 @@ namespace VULKAN_HPP_NAMESPACE pHostPointer, reinterpret_cast<VkMemoryHostPointerPropertiesEXT *>( &memoryHostPointerProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryHostPointerPropertiesEXT" ); + return memoryHostPointerProperties; } @@ -15580,12 +15679,19 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueueCheckpointDataNV && "Function <vkGetQueueCheckpointDataNV> needs extension <VK_NV_device_diagnostic_checkpoints> enabled!" ); - uint32_t checkpointDataCount; + + std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> checkpointData; + uint32_t checkpointDataCount; getDispatcher()->vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::CheckpointDataNV> checkpointData( checkpointDataCount ); + checkpointData.resize( checkpointDataCount ); getDispatcher()->vkGetQueueCheckpointDataNV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, reinterpret_cast<VkCheckpointDataNV *>( checkpointData.data() ) ); - VULKAN_HPP_ASSERT( checkpointDataCount == checkpointData.size() ); + + VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); + if ( checkpointDataCount < checkpointData.size() ) + { + checkpointData.resize( checkpointDataCount ); + } return checkpointData; } @@ -15599,6 +15705,7 @@ namespace VULKAN_HPP_NAMESPACE uint64_t value; VkResult result = getDispatcher()->vkGetSemaphoreCounterValueKHR( static_cast<VkDevice>( m_device ), static_cast<VkSemaphore>( m_semaphore ), &value ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Semaphore::getCounterValueKHR" ); + return value; } @@ -15607,13 +15714,13 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphoresKHR && "Function <vkWaitSemaphoresKHR> needs extension <VK_KHR_timeline_semaphore> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkWaitSemaphoresKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eTimeout ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR" ); - } - return result; + VkResult result = + getDispatcher()->vkWaitSemaphoresKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreWaitInfo *>( &waitInfo ), timeout ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::Device::waitSemaphoresKHR", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } VULKAN_HPP_INLINE void Device::signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo ) const @@ -15701,6 +15808,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetPerformanceParameterINTEL( static_cast<VkDevice>( m_device ), static_cast<VkPerformanceParameterTypeINTEL>( parameter ), reinterpret_cast<VkPerformanceValueINTEL *>( &value ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getPerformanceParameterINTEL" ); + return value; } @@ -15841,14 +15949,13 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkWaitForPresentKHR && "Function <vkWaitForPresentKHR> needs extension <VK_KHR_present_wait> enabled!" ); - 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 ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::waitForPresent" ); - } - return result; + VkResult result = + getDispatcher()->vkWaitForPresentKHR( static_cast<VkDevice>( m_device ), static_cast<VkSwapchainKHR>( m_swapchain ), presentId, timeout ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::SwapchainKHR::waitForPresent", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eTimeout, VULKAN_HPP_NAMESPACE::Result::eSuboptimalKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } //=== VK_NV_cooperative_matrix === @@ -15998,6 +16105,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( &surfaceInfo ), reinterpret_cast<VkDeviceGroupPresentModeFlagsKHR *>( &modes ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getGroupSurfacePresentModes2EXT" ); + return modes; } # endif /*VK_USE_PLATFORM_WIN32_KHR*/ @@ -16231,14 +16339,12 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_ASSERT( getDispatcher()->vkDeferredOperationJoinKHR && "Function <vkDeferredOperationJoinKHR> needs extension <VK_KHR_deferred_host_operations> enabled!" ); - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( - getDispatcher()->vkDeferredOperationJoinKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_operation ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR ) && - ( result != VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::DeferredOperationKHR::join" ); - } - return result; + VkResult result = getDispatcher()->vkDeferredOperationJoinKHR( static_cast<VkDevice>( m_device ), static_cast<VkDeferredOperationKHR>( m_operation ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::DeferredOperationKHR::join", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eThreadDoneKHR, VULKAN_HPP_NAMESPACE::Result::eThreadIdleKHR } ); + + return static_cast<VULKAN_HPP_NAMESPACE::Result>( result ); } //=== VK_KHR_pipeline_executable_properties === @@ -16612,12 +16718,19 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetQueueCheckpointData2NV && "Function <vkGetQueueCheckpointData2NV> needs extension <VK_KHR_synchronization2> enabled!" ); - uint32_t checkpointDataCount; + + std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> checkpointData; + uint32_t checkpointDataCount; getDispatcher()->vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> checkpointData( checkpointDataCount ); + checkpointData.resize( checkpointDataCount ); getDispatcher()->vkGetQueueCheckpointData2NV( static_cast<VkQueue>( m_queue ), &checkpointDataCount, reinterpret_cast<VkCheckpointData2NV *>( checkpointData.data() ) ); - VULKAN_HPP_ASSERT( checkpointDataCount == checkpointData.size() ); + + VULKAN_HPP_ASSERT( checkpointDataCount <= checkpointData.size() ); + if ( checkpointDataCount < checkpointData.size() ) + { + checkpointData.resize( checkpointDataCount ); + } return checkpointData; } @@ -16943,6 +17056,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetMemoryZirconHandleFUCHSIA( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkMemoryGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandleFUCHSIA" ); + return zirconHandle; } @@ -16959,6 +17073,7 @@ namespace VULKAN_HPP_NAMESPACE zirconHandle, reinterpret_cast<VkMemoryZirconHandlePropertiesFUCHSIA *>( &memoryZirconHandleProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryZirconHandlePropertiesFUCHSIA" ); + return memoryZirconHandleProperties; } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -16987,6 +17102,7 @@ namespace VULKAN_HPP_NAMESPACE VkResult result = getDispatcher()->vkGetSemaphoreZirconHandleFUCHSIA( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSemaphoreGetZirconHandleInfoFUCHSIA *>( &getZirconHandleInfo ), &zirconHandle ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getSemaphoreZirconHandleFUCHSIA" ); + return zirconHandle; } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -17036,6 +17152,7 @@ namespace VULKAN_HPP_NAMESPACE static_cast<VkBufferCollectionFUCHSIA>( m_collection ), reinterpret_cast<VkBufferCollectionPropertiesFUCHSIA *>( &properties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIA::getProperties" ); + return properties; } # endif /*VK_USE_PLATFORM_FUCHSIA*/ @@ -17047,14 +17164,15 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI && "Function <vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI> needs extension <VK_HUAWEI_subpass_shading> enabled!" ); + VULKAN_HPP_NAMESPACE::Extent2D maxWorkgroupSize; - VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( - static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<VkExtent2D *>( &maxWorkgroupSize ) ) ); - if ( ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess ) && ( result != VULKAN_HPP_NAMESPACE::Result::eIncomplete ) ) - { - throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI" ); - } - return std::make_pair( result, maxWorkgroupSize ); + VkResult result = getDispatcher()->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( + static_cast<VkDevice>( m_device ), static_cast<VkRenderPass>( m_renderPass ), reinterpret_cast<VkExtent2D *>( &maxWorkgroupSize ) ); + resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), + VULKAN_HPP_NAMESPACE_STRING "::RenderPass::getSubpassShadingMaxWorkgroupSizeHUAWEI", + { VULKAN_HPP_NAMESPACE::Result::eSuccess, VULKAN_HPP_NAMESPACE::Result::eIncomplete } ); + + return std::make_pair( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), maxWorkgroupSize ); } VULKAN_HPP_INLINE void CommandBuffer::subpassShadingHUAWEI() const VULKAN_HPP_NOEXCEPT @@ -17090,6 +17208,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkMemoryGetRemoteAddressInfoNV *>( &memoryGetRemoteAddressInfo ), reinterpret_cast<VkRemoteAddressNV *>( &address ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getMemoryRemoteAddressNV" ); + return address; } @@ -17106,6 +17225,7 @@ namespace VULKAN_HPP_NAMESPACE reinterpret_cast<const VkPipelineInfoEXT *>( &pipelineInfo ), reinterpret_cast<VkBaseOutStructure *>( &pipelineProperties ) ); resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getPipelinePropertiesEXT" ); + return pipelineProperties; } @@ -17322,15 +17442,22 @@ namespace VULKAN_HPP_NAMESPACE { VULKAN_HPP_ASSERT( getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR && "Function <vkGetDeviceImageSparseMemoryRequirementsKHR> needs extension <VK_KHR_maintenance4> enabled!" ); - uint32_t sparseMemoryRequirementCount; + + std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements; + uint32_t sparseMemoryRequirementCount; getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, nullptr ); - std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2> sparseMemoryRequirements( sparseMemoryRequirementCount ); + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); getDispatcher()->vkGetDeviceImageSparseMemoryRequirementsKHR( static_cast<VkDevice>( m_device ), reinterpret_cast<const VkDeviceImageMemoryRequirements *>( &info ), &sparseMemoryRequirementCount, reinterpret_cast<VkSparseImageMemoryRequirements2 *>( sparseMemoryRequirements.data() ) ); - VULKAN_HPP_ASSERT( sparseMemoryRequirementCount == sparseMemoryRequirements.size() ); + + VULKAN_HPP_ASSERT( sparseMemoryRequirementCount <= sparseMemoryRequirements.size() ); + if ( sparseMemoryRequirementCount < sparseMemoryRequirements.size() ) + { + sparseMemoryRequirements.resize( sparseMemoryRequirementCount ); + } return sparseMemoryRequirements; } diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 161782a..31af6e5 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -4006,24 +4006,20 @@ namespace VULKAN_HPP_NAMESPACE } #endif -#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( AllocationCallbacks const & ) const = default; -#else bool operator==( AllocationCallbacks const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) +#if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); -# else +#else return ( pUserData == rhs.pUserData ) && ( pfnAllocation == rhs.pfnAllocation ) && ( pfnReallocation == rhs.pfnReallocation ) && ( pfnFree == rhs.pfnFree ) && ( pfnInternalAllocation == rhs.pfnInternalAllocation ) && ( pfnInternalFree == rhs.pfnInternalFree ); -# endif +#endif } bool operator!=( AllocationCallbacks const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -#endif public: void * pUserData = {}; @@ -17685,23 +17681,19 @@ namespace VULKAN_HPP_NAMESPACE } #endif -#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( DebugReportCallbackCreateInfoEXT const & ) const = default; -#else bool operator==( DebugReportCallbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) +#if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); -# else +#else return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pfnCallback == rhs.pfnCallback ) && ( pUserData == rhs.pUserData ); -# endif +#endif } bool operator!=( DebugReportCallbackCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -#endif public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugReportCallbackCreateInfoEXT; @@ -18364,24 +18356,20 @@ namespace VULKAN_HPP_NAMESPACE } #endif -#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( DebugUtilsMessengerCreateInfoEXT const & ) const = default; -#else bool operator==( DebugUtilsMessengerCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) +#if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); -# else +#else return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( messageSeverity == rhs.messageSeverity ) && ( messageType == rhs.messageType ) && ( pfnUserCallback == rhs.pfnUserCallback ) && ( pUserData == rhs.pUserData ); -# endif +#endif } bool operator!=( DebugUtilsMessengerCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -#endif public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugUtilsMessengerCreateInfoEXT; @@ -22930,24 +22918,20 @@ namespace VULKAN_HPP_NAMESPACE } #endif -#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( DeviceDeviceMemoryReportCreateInfoEXT const & ) const = default; -#else bool operator==( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { -# if defined( VULKAN_HPP_USE_REFLECT ) +#if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); -# else +#else return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( flags == rhs.flags ) && ( pfnUserCallback == rhs.pfnUserCallback ) && ( pUserData == rhs.pUserData ); -# endif +#endif } bool operator!=( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT { return !operator==( rhs ); } -#endif public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT; @@ -68570,268 +68554,6 @@ namespace VULKAN_HPP_NAMESPACE }; #if defined( VK_ENABLE_BETA_EXTENSIONS ) - struct VideoProfileKHR - { - using NativeType = VkVideoProfileKHR; - - static const bool allowDuplicate = false; - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoProfileKHR; - -# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR VideoProfileKHR( - VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation_ = VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR::eInvalid, - VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling_ = {}, - VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth_ = {}, - VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth_ = {}, - void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT - : pNext( pNext_ ) - , videoCodecOperation( videoCodecOperation_ ) - , chromaSubsampling( chromaSubsampling_ ) - , lumaBitDepth( lumaBitDepth_ ) - , chromaBitDepth( chromaBitDepth_ ) - { - } - - VULKAN_HPP_CONSTEXPR VideoProfileKHR( VideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; - - VideoProfileKHR( VkVideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoProfileKHR( *reinterpret_cast<VideoProfileKHR const *>( &rhs ) ) {} -# endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ - - VideoProfileKHR & operator=( VideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; - - VideoProfileKHR & operator=( VkVideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT - { - *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoProfileKHR const *>( &rhs ); - return *this; - } - -# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT - { - pNext = pNext_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & - setVideoCodecOperation( VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation_ ) VULKAN_HPP_NOEXCEPT - { - videoCodecOperation = videoCodecOperation_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & - setChromaSubsampling( VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling_ ) VULKAN_HPP_NOEXCEPT - { - chromaSubsampling = chromaSubsampling_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & setLumaBitDepth( VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth_ ) VULKAN_HPP_NOEXCEPT - { - lumaBitDepth = lumaBitDepth_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & setChromaBitDepth( VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth_ ) VULKAN_HPP_NOEXCEPT - { - chromaBitDepth = chromaBitDepth_; - return *this; - } -# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ - - explicit operator VkVideoProfileKHR const &() const VULKAN_HPP_NOEXCEPT - { - return *reinterpret_cast<const VkVideoProfileKHR *>( this ); - } - - explicit operator VkVideoProfileKHR &() VULKAN_HPP_NOEXCEPT - { - return *reinterpret_cast<VkVideoProfileKHR *>( 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::VideoCodecOperationFlagBitsKHR const &, - VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR const &, - VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR const &, - VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR const &> -# endif - reflect() const VULKAN_HPP_NOEXCEPT - { - return std::tie( sType, pNext, videoCodecOperation, chromaSubsampling, lumaBitDepth, chromaBitDepth ); - } -# endif - -# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( VideoProfileKHR const & ) const = default; -# else - bool operator==( VideoProfileKHR 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 ) && ( videoCodecOperation == rhs.videoCodecOperation ) && - ( chromaSubsampling == rhs.chromaSubsampling ) && ( lumaBitDepth == rhs.lumaBitDepth ) && ( chromaBitDepth == rhs.chromaBitDepth ); -# endif - } - - bool operator!=( VideoProfileKHR const & rhs ) const VULKAN_HPP_NOEXCEPT - { - return !operator==( rhs ); - } -# endif - - public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoProfileKHR; - void * pNext = {}; - VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation = VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR::eInvalid; - VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling = {}; - VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth = {}; - VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth = {}; - }; - VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoProfileKHR ) == sizeof( VkVideoProfileKHR ), "struct and wrapper have different size!" ); - VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::VideoProfileKHR>::value, "struct wrapper is not a standard layout!" ); - VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoProfileKHR>::value, - "VideoProfileKHR is not nothrow_move_constructible!" ); - - template <> - struct CppType<StructureType, StructureType::eVideoProfileKHR> - { - using Type = VideoProfileKHR; - }; -#endif /*VK_ENABLE_BETA_EXTENSIONS*/ - -#if defined( VK_ENABLE_BETA_EXTENSIONS ) - struct VideoProfilesKHR - { - using NativeType = VkVideoProfilesKHR; - - static const bool allowDuplicate = false; - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoProfilesKHR; - -# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR VideoProfilesKHR( uint32_t profileCount_ = {}, - const VULKAN_HPP_NAMESPACE::VideoProfileKHR * pProfiles_ = {}, - void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT - : pNext( pNext_ ) - , profileCount( profileCount_ ) - , pProfiles( pProfiles_ ) - { - } - - VULKAN_HPP_CONSTEXPR VideoProfilesKHR( VideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; - - VideoProfilesKHR( VkVideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoProfilesKHR( *reinterpret_cast<VideoProfilesKHR const *>( &rhs ) ) {} - -# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) - VideoProfilesKHR( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VideoProfileKHR> const & profiles_, void * pNext_ = nullptr ) - : pNext( pNext_ ), profileCount( static_cast<uint32_t>( profiles_.size() ) ), pProfiles( profiles_.data() ) - { - } -# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ -# endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ - - VideoProfilesKHR & operator=( VideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; - - VideoProfilesKHR & operator=( VkVideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT - { - *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoProfilesKHR const *>( &rhs ); - return *this; - } - -# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) - VULKAN_HPP_CONSTEXPR_14 VideoProfilesKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT - { - pNext = pNext_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoProfilesKHR & setProfileCount( uint32_t profileCount_ ) VULKAN_HPP_NOEXCEPT - { - profileCount = profileCount_; - return *this; - } - - VULKAN_HPP_CONSTEXPR_14 VideoProfilesKHR & setPProfiles( const VULKAN_HPP_NAMESPACE::VideoProfileKHR * pProfiles_ ) VULKAN_HPP_NOEXCEPT - { - pProfiles = pProfiles_; - return *this; - } - -# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) - VideoProfilesKHR & - setProfiles( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VideoProfileKHR> const & profiles_ ) VULKAN_HPP_NOEXCEPT - { - profileCount = static_cast<uint32_t>( profiles_.size() ); - pProfiles = profiles_.data(); - return *this; - } -# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ -# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ - - explicit operator VkVideoProfilesKHR const &() const VULKAN_HPP_NOEXCEPT - { - return *reinterpret_cast<const VkVideoProfilesKHR *>( this ); - } - - explicit operator VkVideoProfilesKHR &() VULKAN_HPP_NOEXCEPT - { - return *reinterpret_cast<VkVideoProfilesKHR *>( this ); - } - -# if defined( VULKAN_HPP_USE_REFLECT ) -# if 14 <= VULKAN_HPP_CPP_VERSION - auto -# else - std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::VideoProfileKHR * const &> -# endif - reflect() const VULKAN_HPP_NOEXCEPT - { - return std::tie( sType, pNext, profileCount, pProfiles ); - } -# endif - -# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( VideoProfilesKHR const & ) const = default; -# else - bool operator==( VideoProfilesKHR 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 ) && ( profileCount == rhs.profileCount ) && ( pProfiles == rhs.pProfiles ); -# endif - } - - bool operator!=( VideoProfilesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT - { - return !operator==( rhs ); - } -# endif - - public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoProfilesKHR; - void * pNext = {}; - uint32_t profileCount = {}; - const VULKAN_HPP_NAMESPACE::VideoProfileKHR * pProfiles = {}; - }; - VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoProfilesKHR ) == sizeof( VkVideoProfilesKHR ), "struct and wrapper have different size!" ); - VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>::value, "struct wrapper is not a standard layout!" ); - VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>::value, - "VideoProfilesKHR is not nothrow_move_constructible!" ); - - template <> - struct CppType<StructureType, StructureType::eVideoProfilesKHR> - { - using Type = VideoProfilesKHR; - }; -#endif /*VK_ENABLE_BETA_EXTENSIONS*/ - -#if defined( VK_ENABLE_BETA_EXTENSIONS ) struct PhysicalDeviceVideoFormatInfoKHR { using NativeType = VkPhysicalDeviceVideoFormatInfoKHR; @@ -68840,12 +68562,9 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceVideoFormatInfoKHR; # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR PhysicalDeviceVideoFormatInfoKHR( VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ = {}, - const VULKAN_HPP_NAMESPACE::VideoProfilesKHR * pVideoProfiles_ = {}, - void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR PhysicalDeviceVideoFormatInfoKHR( VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , imageUsage( imageUsage_ ) - , pVideoProfiles( pVideoProfiles_ ) { } @@ -68865,6 +68584,20 @@ namespace VULKAN_HPP_NAMESPACE return *this; } +# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoFormatInfoKHR & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceVideoFormatInfoKHR & setImageUsage( VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage_ ) VULKAN_HPP_NOEXCEPT + { + imageUsage = imageUsage_; + return *this; + } +# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + explicit operator VkPhysicalDeviceVideoFormatInfoKHR const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkPhysicalDeviceVideoFormatInfoKHR *>( this ); @@ -68879,14 +68612,11 @@ namespace VULKAN_HPP_NAMESPACE # if 14 <= VULKAN_HPP_CPP_VERSION auto # else - std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, - void * const &, - VULKAN_HPP_NAMESPACE::ImageUsageFlags const &, - const VULKAN_HPP_NAMESPACE::VideoProfilesKHR * const &> + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::ImageUsageFlags const &> # endif reflect() const VULKAN_HPP_NOEXCEPT { - return std::tie( sType, pNext, imageUsage, pVideoProfiles ); + return std::tie( sType, pNext, imageUsage ); } # endif @@ -68898,7 +68628,7 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageUsage == rhs.imageUsage ) && ( pVideoProfiles == rhs.pVideoProfiles ); + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageUsage == rhs.imageUsage ); # endif } @@ -68909,10 +68639,9 @@ namespace VULKAN_HPP_NAMESPACE # endif public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVideoFormatInfoKHR; - void * pNext = {}; - VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage = {}; - const VULKAN_HPP_NAMESPACE::VideoProfilesKHR * pVideoProfiles = {}; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVideoFormatInfoKHR; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage = {}; }; VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoFormatInfoKHR ) == sizeof( VkPhysicalDeviceVideoFormatInfoKHR ), "struct and wrapper have different size!" ); @@ -79252,9 +78981,10 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eQueueFamilyQueryResultStatusProperties2KHR; # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR QueueFamilyQueryResultStatusProperties2KHR( VULKAN_HPP_NAMESPACE::Bool32 supported_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR QueueFamilyQueryResultStatusProperties2KHR( VULKAN_HPP_NAMESPACE::Bool32 queryResultStatusSupport_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) - , supported( supported_ ) + , queryResultStatusSupport( queryResultStatusSupport_ ) { } @@ -79281,9 +79011,10 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - VULKAN_HPP_CONSTEXPR_14 QueueFamilyQueryResultStatusProperties2KHR & setSupported( VULKAN_HPP_NAMESPACE::Bool32 supported_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 QueueFamilyQueryResultStatusProperties2KHR & + setQueryResultStatusSupport( VULKAN_HPP_NAMESPACE::Bool32 queryResultStatusSupport_ ) VULKAN_HPP_NOEXCEPT { - supported = supported_; + queryResultStatusSupport = queryResultStatusSupport_; return *this; } # endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ @@ -79306,7 +79037,7 @@ namespace VULKAN_HPP_NAMESPACE # endif reflect() const VULKAN_HPP_NOEXCEPT { - return std::tie( sType, pNext, supported ); + return std::tie( sType, pNext, queryResultStatusSupport ); } # endif @@ -79318,7 +79049,7 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supported == rhs.supported ); + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( queryResultStatusSupport == rhs.queryResultStatusSupport ); # endif } @@ -79329,9 +79060,9 @@ namespace VULKAN_HPP_NAMESPACE # endif public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyQueryResultStatusProperties2KHR; - void * pNext = {}; - VULKAN_HPP_NAMESPACE::Bool32 supported = {}; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eQueueFamilyQueryResultStatusProperties2KHR; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 queryResultStatusSupport = {}; }; VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::QueueFamilyQueryResultStatusProperties2KHR ) == sizeof( VkQueueFamilyQueryResultStatusProperties2KHR ), @@ -98783,10 +98514,20 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoFormatPropertiesKHR; # if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR VideoFormatPropertiesKHR( VULKAN_HPP_NAMESPACE::Format format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, - void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR VideoFormatPropertiesKHR( VULKAN_HPP_NAMESPACE::Format format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined, + VULKAN_HPP_NAMESPACE::ComponentMapping componentMapping_ = {}, + VULKAN_HPP_NAMESPACE::ImageCreateFlags imageCreateFlags_ = {}, + VULKAN_HPP_NAMESPACE::ImageType imageType_ = VULKAN_HPP_NAMESPACE::ImageType::e1D, + VULKAN_HPP_NAMESPACE::ImageTiling imageTiling_ = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal, + VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsageFlags_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext( pNext_ ) , format( format_ ) + , componentMapping( componentMapping_ ) + , imageCreateFlags( imageCreateFlags_ ) + , imageType( imageType_ ) + , imageTiling( imageTiling_ ) + , imageUsageFlags( imageUsageFlags_ ) { } @@ -98820,11 +98561,18 @@ namespace VULKAN_HPP_NAMESPACE # if 14 <= VULKAN_HPP_CPP_VERSION auto # else - std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Format const &> + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, + void * const &, + VULKAN_HPP_NAMESPACE::Format const &, + VULKAN_HPP_NAMESPACE::ComponentMapping const &, + VULKAN_HPP_NAMESPACE::ImageCreateFlags const &, + VULKAN_HPP_NAMESPACE::ImageType const &, + VULKAN_HPP_NAMESPACE::ImageTiling const &, + VULKAN_HPP_NAMESPACE::ImageUsageFlags const &> # endif reflect() const VULKAN_HPP_NOEXCEPT { - return std::tie( sType, pNext, format ); + return std::tie( sType, pNext, format, componentMapping, imageCreateFlags, imageType, imageTiling, imageUsageFlags ); } # endif @@ -98836,7 +98584,9 @@ namespace VULKAN_HPP_NAMESPACE # if defined( VULKAN_HPP_USE_REFLECT ) return this->reflect() == rhs.reflect(); # else - return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ); + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( format == rhs.format ) && ( componentMapping == rhs.componentMapping ) && + ( imageCreateFlags == rhs.imageCreateFlags ) && ( imageType == rhs.imageType ) && ( imageTiling == rhs.imageTiling ) && + ( imageUsageFlags == rhs.imageUsageFlags ); # endif } @@ -98847,9 +98597,14 @@ namespace VULKAN_HPP_NAMESPACE # endif public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoFormatPropertiesKHR; - void * pNext = {}; - VULKAN_HPP_NAMESPACE::Format format = VULKAN_HPP_NAMESPACE::Format::eUndefined; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoFormatPropertiesKHR; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Format format = VULKAN_HPP_NAMESPACE::Format::eUndefined; + VULKAN_HPP_NAMESPACE::ComponentMapping componentMapping = {}; + VULKAN_HPP_NAMESPACE::ImageCreateFlags imageCreateFlags = {}; + VULKAN_HPP_NAMESPACE::ImageType imageType = VULKAN_HPP_NAMESPACE::ImageType::e1D; + VULKAN_HPP_NAMESPACE::ImageTiling imageTiling = VULKAN_HPP_NAMESPACE::ImageTiling::eOptimal; + VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsageFlags = {}; }; VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoFormatPropertiesKHR ) == sizeof( VkVideoFormatPropertiesKHR ), "struct and wrapper have different size!" ); @@ -98980,6 +98735,269 @@ namespace VULKAN_HPP_NAMESPACE #endif /*VK_ENABLE_BETA_EXTENSIONS*/ #if defined( VK_ENABLE_BETA_EXTENSIONS ) + struct VideoProfileKHR + { + using NativeType = VkVideoProfileKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoProfileKHR; + +# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR VideoProfileKHR( + VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation_ = VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR::eInvalid, + VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling_ = {}, + VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth_ = {}, + VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , videoCodecOperation( videoCodecOperation_ ) + , chromaSubsampling( chromaSubsampling_ ) + , lumaBitDepth( lumaBitDepth_ ) + , chromaBitDepth( chromaBitDepth_ ) + { + } + + VULKAN_HPP_CONSTEXPR VideoProfileKHR( VideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + VideoProfileKHR( VkVideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoProfileKHR( *reinterpret_cast<VideoProfileKHR const *>( &rhs ) ) {} +# endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + VideoProfileKHR & operator=( VideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + VideoProfileKHR & operator=( VkVideoProfileKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoProfileKHR const *>( &rhs ); + return *this; + } + +# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & + setVideoCodecOperation( VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation_ ) VULKAN_HPP_NOEXCEPT + { + videoCodecOperation = videoCodecOperation_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & + setChromaSubsampling( VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling_ ) VULKAN_HPP_NOEXCEPT + { + chromaSubsampling = chromaSubsampling_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & setLumaBitDepth( VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth_ ) VULKAN_HPP_NOEXCEPT + { + lumaBitDepth = lumaBitDepth_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 VideoProfileKHR & setChromaBitDepth( VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth_ ) VULKAN_HPP_NOEXCEPT + { + chromaBitDepth = chromaBitDepth_; + return *this; + } +# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + explicit operator VkVideoProfileKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkVideoProfileKHR *>( this ); + } + + explicit operator VkVideoProfileKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkVideoProfileKHR *>( this ); + } + +# if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, + const void * const &, + VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR const &, + VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR const &, + VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR const &, + VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, videoCodecOperation, chromaSubsampling, lumaBitDepth, chromaBitDepth ); + } +# endif + +# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( VideoProfileKHR const & ) const = default; +# else + bool operator==( VideoProfileKHR 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 ) && ( videoCodecOperation == rhs.videoCodecOperation ) && + ( chromaSubsampling == rhs.chromaSubsampling ) && ( lumaBitDepth == rhs.lumaBitDepth ) && ( chromaBitDepth == rhs.chromaBitDepth ); +# endif + } + + bool operator!=( VideoProfileKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +# endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoProfileKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR videoCodecOperation = VULKAN_HPP_NAMESPACE::VideoCodecOperationFlagBitsKHR::eInvalid; + VULKAN_HPP_NAMESPACE::VideoChromaSubsamplingFlagsKHR chromaSubsampling = {}; + VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR lumaBitDepth = {}; + VULKAN_HPP_NAMESPACE::VideoComponentBitDepthFlagsKHR chromaBitDepth = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoProfileKHR ) == sizeof( VkVideoProfileKHR ), "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::VideoProfileKHR>::value, "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoProfileKHR>::value, + "VideoProfileKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eVideoProfileKHR> + { + using Type = VideoProfileKHR; + }; +#endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +#if defined( VK_ENABLE_BETA_EXTENSIONS ) + struct VideoProfilesKHR + { + using NativeType = VkVideoProfilesKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eVideoProfilesKHR; + +# if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR VideoProfilesKHR( uint32_t profileCount_ = {}, + const VULKAN_HPP_NAMESPACE::VideoProfileKHR * pProfiles_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , profileCount( profileCount_ ) + , pProfiles( pProfiles_ ) + { + } + + VULKAN_HPP_CONSTEXPR VideoProfilesKHR( VideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + VideoProfilesKHR( VkVideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT : VideoProfilesKHR( *reinterpret_cast<VideoProfilesKHR const *>( &rhs ) ) {} + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + VideoProfilesKHR( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VideoProfileKHR> const & profiles_, + const void * pNext_ = nullptr ) + : pNext( pNext_ ), profileCount( static_cast<uint32_t>( profiles_.size() ) ), pProfiles( profiles_.data() ) + { + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +# endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + VideoProfilesKHR & operator=( VideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + VideoProfilesKHR & operator=( VkVideoProfilesKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::VideoProfilesKHR const *>( &rhs ); + return *this; + } + +# if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 VideoProfilesKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 VideoProfilesKHR & setProfileCount( uint32_t profileCount_ ) VULKAN_HPP_NOEXCEPT + { + profileCount = profileCount_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 VideoProfilesKHR & setPProfiles( const VULKAN_HPP_NAMESPACE::VideoProfileKHR * pProfiles_ ) VULKAN_HPP_NOEXCEPT + { + pProfiles = pProfiles_; + return *this; + } + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + VideoProfilesKHR & + setProfiles( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::VideoProfileKHR> const & profiles_ ) VULKAN_HPP_NOEXCEPT + { + profileCount = static_cast<uint32_t>( profiles_.size() ); + pProfiles = profiles_.data(); + return *this; + } +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +# endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + explicit operator VkVideoProfilesKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<const VkVideoProfilesKHR *>( this ); + } + + explicit operator VkVideoProfilesKHR &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast<VkVideoProfilesKHR *>( this ); + } + +# if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, uint32_t const &, const VULKAN_HPP_NAMESPACE::VideoProfileKHR * const &> +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, profileCount, pProfiles ); + } +# endif + +# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( VideoProfilesKHR const & ) const = default; +# else + bool operator==( VideoProfilesKHR 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 ) && ( profileCount == rhs.profileCount ) && ( pProfiles == rhs.pProfiles ); +# endif + } + + bool operator!=( VideoProfilesKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +# endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eVideoProfilesKHR; + const void * pNext = {}; + uint32_t profileCount = {}; + const VULKAN_HPP_NAMESPACE::VideoProfileKHR * pProfiles = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoProfilesKHR ) == sizeof( VkVideoProfilesKHR ), "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>::value, "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoProfilesKHR>::value, + "VideoProfilesKHR is not nothrow_move_constructible!" ); + + template <> + struct CppType<StructureType, StructureType::eVideoProfilesKHR> + { + using Type = VideoProfilesKHR; + }; +#endif /*VK_ENABLE_BETA_EXTENSIONS*/ + +#if defined( VK_ENABLE_BETA_EXTENSIONS ) struct VideoQueueFamilyProperties2KHR { using NativeType = VkVideoQueueFamilyProperties2KHR; diff --git a/registry/reg.py b/registry/reg.py index aac71c2..317d583 100644 --- a/registry/reg.py +++ b/registry/reg.py @@ -1552,8 +1552,31 @@ class Registry: for cmd in self.apidict: self.apidict[cmd].resetState() - def __validateStructLimittypes(self, struct): - """Validate 'limittype' attributes for a single struct.""" + def __isLimittypeStruct(self, structName, structElem, allowedStructs): + """Check if a type element is a structure allowed to have 'limittype' attributes + structName - name of a structure + structElem - corresponding <type> Element + allowedStructs - set of struct names explicitly allowed""" + + # Is this an explicitly allowed struct? + if structName in allowedStructs: + return True + + # Is this a struct extending an explicitly allowed struct? + extends = structElem.get('structextends') + if extends is not None: + # See if any name in the structextends attribute is an allowed + # struct + if len(set(extends.split(',')) & allowedStructs) > 0: + return True + + return False + + def __validateStructLimittypes(self, struct, requiredLimittype): + """Validate 'limittype' attributes for a single struct. + struct - typeinfo for a struct <type> + requiredLimittype - True if members *must* have a limittype""" + limittypeDiags = namedtuple('limittypeDiags', ['missing', 'invalid']) badFields = defaultdict(lambda : limittypeDiags(missing=[], invalid=[])) validLimittypes = { 'min', 'max', 'bitmask', 'range', 'struct', 'noauto' } @@ -1562,33 +1585,91 @@ class Registry: if memberName in ['sType', 'pNext']: continue limittype = member.get('limittype') - if not limittype: - badFields[struct.elem.get('name')].missing.append(memberName) + if limittype is None: + # Do not tag this as missing if it is not required + if requiredLimittype: + badFields[struct.elem.get('name')].missing.append(memberName) elif limittype == 'struct': typeName = member.findtext('type') memberType = self.typedict[typeName] - badFields.update(self.__validateStructLimittypes(memberType)) + badFields.update(self.__validateStructLimittypes(memberType, requiredLimittype)) elif limittype not in validLimittypes: badFields[struct.elem.get('name')].invalid.append(memberName) + return badFields def __validateLimittype(self): """Validate 'limittype' attributes.""" - badFields = self.__validateStructLimittypes(self.typedict['VkPhysicalDeviceProperties2']) - for featStructName in self.validextensionstructs['VkPhysicalDeviceProperties2']: - featStruct = self.typedict[featStructName] - badFields.update(self.__validateStructLimittypes(featStruct)) - - if badFields: - self.gen.logMsg('diag', 'SUMMARY OF FIELDS WITH INCORRECT LIMITTYPES') - for key in sorted(badFields.keys()): - diags = badFields[key] - if diags.missing: - self.gen.logMsg('diag', ' ', key, 'missing limittype:', ', '.join(badFields[key].missing)) - if diags.invalid: - self.gen.logMsg('diag', ' ', key, 'invalid limittype:', ', '.join(badFields[key].invalid)) - return False - return True + + # Structures explicitly allowed to have 'limittype' attributes + allowedStructs = set(( + 'VkPhysicalDeviceProperties', + 'VkPhysicalDeviceProperties2', + 'VkPhysicalDeviceLimits', + 'VkFormatProperties', + 'VkFormatProperties2', + 'VkQueueFamilyProperties', + 'VkQueueFamilyProperties2', + )) + # Substructures of allowed structures. This can be found by looking + # at tags, but there are so few cases that it is hardwired for now. + nestedStructs = set(( + 'VkPhysicalDeviceLimits', + 'VkPhysicalDeviceSparseProperties', + 'VkPhysicalDeviceProperties', + 'VkQueueFamilyProperties', + )) + # Structures all of whose (non pNext/sType) members are required to + # have 'limittype' attributes, as are their descendants + requiredStructs = set(( + 'VkPhysicalDeviceProperties', + 'VkPhysicalDeviceProperties2', + 'VkPhysicalDeviceLimits', + )) + + # Checks all structures, so accumulate a valid/invalid flag + valid = True + + # Loop over all structure members, checking that there are no + # limittype attributes except for allowed structures. + for structName in self.typedict: + struct = self.typedict[structName] + + # Do not check non-structs + if struct.elem.get('category') != 'struct': + continue + + # Only check structs not allowed to have limittypes + if not self.__isLimittypeStruct(structName, struct.elem, allowedStructs.union(nestedStructs)): + for member in struct.getMembers(): + if member.get('limittype') is not None: + memname = member.findtext('name') + self.gen.logMsg('diag', f' {structName} member {memname} has disallowed limittype attribute') + valid = False + + # Loop over allowed structs and their extending structs checking for + # invalid and missing limittype attributes + for structName in allowedStructs: + # Assume that only extending structs of structs explicitly + # requiring limittypes also require them + requiredLimittype = (structName in requiredStructs) + + badFields = self.__validateStructLimittypes(self.typedict[structName], requiredLimittype) + for extendingStructName in self.validextensionstructs[structName]: + extendingStruct = self.typedict[extendingStructName] + badFields.update(self.__validateStructLimittypes(extendingStruct, requiredLimittype)) + + if badFields: + self.gen.logMsg('diag', f'Incorrect limittype attributes for {structName}') + for key in sorted(badFields.keys()): + diags = badFields[key] + if diags.missing: + self.gen.logMsg('diag', ' ', key, 'missing limittype:', ', '.join(badFields[key].missing)) + if diags.invalid: + self.gen.logMsg('diag', ' ', key, 'invalid limittype:', ', '.join(badFields[key].invalid)) + valid = False + + return valid def validateRegistry(self): """Validate properties of the registry.""" diff --git a/registry/validusage.json b/registry/validusage.json index c80436c..17faaf3 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.217", - "comment": "from git branch: github-main commit: 307906bddb5fab543dcf6d7fff737abeb15f8b10", - "date": "2022-06-09 10:45:42Z" + "api version": "1.3.218", + "comment": "from git branch: github-main commit: 067a92d083e6a7ec97ef3bcc34e5b75fa71eec79", + "date": "2022-06-16 09:19:14Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -6878,7 +6878,7 @@ }, { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06135", - "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>" + "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>imageLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_UNDEFINED</code>, <code>VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL</code>, <code>VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL</code>, or <code>VK_IMAGE_LAYOUT_PREINITIALIZED</code>" }, { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06136", @@ -6938,7 +6938,7 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_NV_shading_rate_image)": [ { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06138", - "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV</code>" + "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>imageLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV</code>" }, { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06139", @@ -6948,7 +6948,7 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06140", - "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT</code>" + "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>imageLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT</code>" }, { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06141", @@ -6964,7 +6964,7 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06143", - "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR</code>" + "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>imageLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR</code>" }, { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06144", @@ -6974,7 +6974,7 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_swapchain)": [ { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06145", - "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>layout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code>" + "text": " If <code>imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>imageLayout</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_LAYOUT_PRESENT_SRC_KHR</code>" }, { "vuid": "VUID-VkRenderingAttachmentInfo-imageView-06146", @@ -7671,8 +7671,8 @@ "text": " <code>srcSubpass</code> and <code>dstSubpass</code> <strong class=\"purple\">must</strong> not both be equal to <code>VK_SUBPASS_EXTERNAL</code>" }, { - "vuid": "VUID-VkSubpassDependency-srcSubpass-00867", - "text": " If <code>srcSubpass</code> is equal to <code>dstSubpass</code> and not all of the stages in <code>srcStageMask</code> and <code>dstStageMask</code> are <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>, the <a href=\"#synchronization-pipeline-stages-order\">logically latest</a> pipeline stage in <code>srcStageMask</code> <strong class=\"purple\">must</strong> be <a href=\"#synchronization-pipeline-stages-order\">logically earlier</a> than or equal to the <a href=\"#synchronization-pipeline-stages-order\">logically earliest</a> pipeline stage in <code>dstStageMask</code>" + "vuid": "VUID-VkSubpassDependency-srcSubpass-06809", + "text": " If <code>srcSubpass</code> is equal to <code>dstSubpass</code> and <code>srcStageMask</code> includes a <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stage</a>, <code>dstStageMask</code> <strong class=\"purple\">must</strong> only contain <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>" }, { "vuid": "VUID-VkSubpassDependency-srcAccessMask-00868", @@ -8513,8 +8513,8 @@ "text": " <code>srcSubpass</code> and <code>dstSubpass</code> <strong class=\"purple\">must</strong> not both be equal to <code>VK_SUBPASS_EXTERNAL</code>" }, { - "vuid": "VUID-VkSubpassDependency2-srcSubpass-03087", - "text": " If <code>srcSubpass</code> is equal to <code>dstSubpass</code> and not all of the stages in <code>srcStageMask</code> and <code>dstStageMask</code> are <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>, the <a href=\"#synchronization-pipeline-stages-order\">logically latest</a> pipeline stage in <code>srcStageMask</code> <strong class=\"purple\">must</strong> be <a href=\"#synchronization-pipeline-stages-order\">logically earlier</a> than or equal to the <a href=\"#synchronization-pipeline-stages-order\">logically earliest</a> pipeline stage in <code>dstStageMask</code>" + "vuid": "VUID-VkSubpassDependency2-srcSubpass-06810", + "text": " If <code>srcSubpass</code> is equal to <code>dstSubpass</code> and <code>srcStageMask</code> includes a <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stage</a>, <code>dstStageMask</code> <strong class=\"purple\">must</strong> only contain <a href=\"#synchronization-framebuffer-regions\">framebuffer-space stages</a>" }, { "vuid": "VUID-VkSubpassDependency2-srcAccessMask-03088", @@ -8744,11 +8744,11 @@ }, { "vuid": "VUID-VkFramebufferCreateInfo-flags-04533", - "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>width</code> greater than or equal to <code>width</code>" + "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>extent.width</code> greater than or equal to <code>width</code>" }, { "vuid": "VUID-VkFramebufferCreateInfo-flags-04534", - "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>height</code> greater than or equal to <code>height</code>" + "text": " If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input, color, resolve, or depth/stencil attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>extent.height</code> greater than or equal to <code>height</code>" }, { "vuid": "VUID-VkFramebufferCreateInfo-flags-04535", @@ -11341,10 +11341,6 @@ "text": " If <code>renderPass</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the <code>viewMask</code> member of a <a href=\"#VkPipelineRenderingCreateInfo\">VkPipelineRenderingCreateInfo</a> structure included in the <code>pNext</code> chain is not <code>0</code>, shaders in <code>pStages</code> <strong class=\"purple\">must</strong> not include variables decorated with the <code>Layer</code> built-in decoration in their interfaces" }, { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-06060", - "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-fragment-output\">fragment output interface state</a> and <code>renderPass</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pColorBlendState->attachmentCount</code> <strong class=\"purple\">must</strong> be equal to the <code>colorAttachmentCount</code> member of the <a href=\"#VkPipelineRenderingCreateInfo\">VkPipelineRenderingCreateInfo</a> structure included in the <code>pNext</code> chain" - }, - { "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-06061", "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a> and <code>renderPass</code> is <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, fragment shaders in <code>pStages</code> <strong class=\"purple\">must</strong> not include the <code>InputAttachment</code> capability" }, @@ -15002,7 +14998,7 @@ }, { "vuid": "VUID-VkBufferCreateInfo-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=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, <a href=\"#VkVideoDecodeH264ProfileEXT\">VkVideoDecodeH264ProfileEXT</a>, <a href=\"#VkVideoDecodeH265ProfileEXT\">VkVideoDecodeH265ProfileEXT</a>, <a href=\"#VkVideoEncodeH264ProfileEXT\">VkVideoEncodeH264ProfileEXT</a>, <a href=\"#VkVideoEncodeH265ProfileEXT\">VkVideoEncodeH265ProfileEXT</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</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=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>" }, { "vuid": "VUID-VkBufferCreateInfo-sType-unique", @@ -15084,13 +15080,13 @@ "(VK_KHR_video_decode_queue)": [ { "vuid": "VUID-VkBufferCreateInfo-usage-04813", - "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a decode codec-operation" + "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>::<code>videoCodecOperation</code> specifying a decode operation" } ], "(VK_KHR_video_encode_queue)": [ { "vuid": "VUID-VkBufferCreateInfo-usage-04814", - "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation" + "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>::<code>videoCodecOperation</code> specifying an encode operation" } ], "(VK_VERSION_1_3,VK_KHR_maintenance4)": [ @@ -15524,7 +15520,7 @@ }, { "vuid": "VUID-VkImageCreateInfo-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=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>, <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a>, <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a>, <a href=\"#VkImageDrmFormatModifierListCreateInfoEXT\">VkImageDrmFormatModifierListCreateInfoEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>, <a href=\"#VkImportMetalIOSurfaceInfoEXT\">VkImportMetalIOSurfaceInfoEXT</a>, <a href=\"#VkImportMetalTextureInfoEXT\">VkImportMetalTextureInfoEXT</a>, <a href=\"#VkVideoDecodeH264ProfileEXT\">VkVideoDecodeH264ProfileEXT</a>, <a href=\"#VkVideoDecodeH265ProfileEXT\">VkVideoDecodeH265ProfileEXT</a>, <a href=\"#VkVideoEncodeH264ProfileEXT\">VkVideoEncodeH264ProfileEXT</a>, <a href=\"#VkVideoEncodeH265ProfileEXT\">VkVideoEncodeH265ProfileEXT</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</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=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>, <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a>, <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a>, <a href=\"#VkImageDrmFormatModifierListCreateInfoEXT\">VkImageDrmFormatModifierListCreateInfoEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>, <a href=\"#VkImportMetalIOSurfaceInfoEXT\">VkImportMetalIOSurfaceInfoEXT</a>, <a href=\"#VkImportMetalTextureInfoEXT\">VkImportMetalTextureInfoEXT</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>" }, { "vuid": "VUID-VkImageCreateInfo-sType-unique", @@ -15876,13 +15872,19 @@ "(VK_KHR_video_decode_queue)": [ { "vuid": "VUID-VkImageCreateInfo-usage-04815", - "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a decode codec-operation" + "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>::<code>videoCodecOperation</code> specifying a decode operation" } ], "(VK_KHR_video_encode_queue)": [ { "vuid": "VUID-VkImageCreateInfo-usage-04816", - "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure which includes at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> with a encode codec-operation" + "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure with <code>profileCount</code> greater than <code>0</code> and <code>pProfiles</code> including at least one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>::<code>videoCodecOperation</code> specifying an encode operation" + } + ], + "(VK_KHR_video_queue)": [ + { + "vuid": "VUID-VkImageCreateInfo-pNext-06811", + "text": " If the <code>pNext</code> chain includes a <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure then <code>supportedVideoFormat</code> <strong class=\"purple\">must</strong> be <code>VK_TRUE</code>" } ], "(VK_FUCHSIA_buffer_collection)": [ @@ -16510,7 +16512,7 @@ }, { "vuid": "VUID-VkImageViewCreateInfo-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=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>, <a href=\"#VkVideoDecodeH264ProfileEXT\">VkVideoDecodeH264ProfileEXT</a>, <a href=\"#VkVideoDecodeH265ProfileEXT\">VkVideoDecodeH265ProfileEXT</a>, <a href=\"#VkVideoEncodeH264ProfileEXT\">VkVideoEncodeH264ProfileEXT</a>, <a href=\"#VkVideoEncodeH265ProfileEXT\">VkVideoEncodeH265ProfileEXT</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</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=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>" }, { "vuid": "VUID-VkImageViewCreateInfo-sType-unique", @@ -28876,7 +28878,11 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDraw-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDraw-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -29350,7 +29356,11 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawIndexed-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -29836,7 +29846,11 @@ "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -30330,7 +30344,11 @@ "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_EXT_multi_draw)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -30836,7 +30854,11 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawIndirect-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -31370,7 +31392,11 @@ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -31882,7 +31908,11 @@ "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -32420,7 +32450,11 @@ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -32920,7 +32954,11 @@ "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_EXT_transform_feedback)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -33446,7 +33484,11 @@ "(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawMeshTasksNV-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -33902,7 +33944,11 @@ "(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -34386,7 +34432,11 @@ "(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_NV_mesh_shader)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -38758,7 +38808,11 @@ "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_EXT_color_write_enable)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-attachmentCount-06667", - "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be greater than or equal to the <code>VkPipelineColorBlendStateCreateInfo</code>::<code>attachmentCount</code> of the currently bound graphics pipeline" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-attachmentCount-06815", + "text": " If the bound graphics pipeline state was created with the <code>VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT</code> dynamic state enabled then <a href=\"#vkCmdSetColorWriteEnableEXT\">vkCmdSetColorWriteEnableEXT</a> <strong class=\"purple\">must</strong> have been called in the current command buffer prior to this drawing command, and the <code>attachmentCount</code> parameter of <code>vkCmdSetColorWriteEnableEXT</code> <strong class=\"purple\">must</strong> be less than or equal to the <code>maxColorAttachments</code> member of <code>VkPhysicalDeviceLimits</code>" } ], "(VK_NV_device_generated_commands)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ @@ -45915,8 +45969,8 @@ "vkGetPhysicalDeviceVideoFormatPropertiesKHR": { "(VK_KHR_video_queue)": [ { - "vuid": "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-imageUsage-04844", - "text": " The <code>imageUsage</code> enum of <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <strong class=\"purple\">must</strong> contain at least one of the following video image usage bit(s): <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>" + "vuid": "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-pNext-06812", + "text": " The <code>pNext</code> chain of <code>pVideoFormatInfo</code> <strong class=\"purple\">must</strong> include a valid <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure with <code>profileCount</code> greater than <code>0</code>" }, { "vuid": "VUID-vkGetPhysicalDeviceVideoFormatPropertiesKHR-physicalDevice-parameter", @@ -45944,23 +45998,35 @@ }, { "vuid": "VUID-VkPhysicalDeviceVideoFormatInfoKHR-pNext-pNext", - "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>" + "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>" + }, + { + "vuid": "VUID-VkPhysicalDeviceVideoFormatInfoKHR-sType-unique", + "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique" + }, + { + "vuid": "VUID-VkPhysicalDeviceVideoFormatInfoKHR-imageUsage-parameter", + "text": " <code>imageUsage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkImageUsageFlagBits\">VkImageUsageFlagBits</a> values" + }, + { + "vuid": "VUID-VkPhysicalDeviceVideoFormatInfoKHR-imageUsage-requiredbitmask", + "text": " <code>imageUsage</code> <strong class=\"purple\">must</strong> not be <code>0</code>" } ] }, "VkVideoProfilesKHR": { "(VK_KHR_video_queue)": [ { + "vuid": "VUID-VkVideoProfilesKHR-pProfiles-06813", + "text": " If the <code>pProfiles</code> list contains more than one <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> entry, then it <strong class=\"purple\">must</strong> not contain more than one entry whose <code>videoCodecOperation</code> member specifies a decode operation" + }, + { "vuid": "VUID-VkVideoProfilesKHR-sType-sType", "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR</code>" }, { "vuid": "VUID-VkVideoProfilesKHR-pProfiles-parameter", - "text": " <code>pProfiles</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>profileCount</code> valid <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> structures" - }, - { - "vuid": "VUID-VkVideoProfilesKHR-profileCount-arraylength", - "text": " <code>profileCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>" + "text": " If <code>profileCount</code> is not <code>0</code>, <code>pProfiles</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>profileCount</code> valid <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a> structures" } ] }, @@ -46028,15 +46094,19 @@ }, { "vuid": "VUID-VkVideoSessionCreateInfoKHR-referencePicturesFormat-04852", - "text": " <code>referencePicturesFormat</code> <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code> or <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code> depending on the session codec operation" + "text": " If the <code>videoCodecOperation</code> member of <code>pVideoProfile</code> specifies a decode operation then <code>referencePicturesFormat</code> <strong class=\"purple\">must</strong> be one of the supported decode DPB formats as reported by <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> in the <code>format</code> member of <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> when called with the <code>imageUsage</code> member of its <code>pVideoFormatInfo</code> parameter containing <code>VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR</code>, and with a <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure chained to its <code>pVideoFormatInfo</code> parameter whose <code>pProfiles</code> member contains an entry matching <code>pVideoProfile</code>" + }, + { + "vuid": "VUID-VkVideoSessionCreateInfoKHR-videoCodecOperation-06814", + "text": " If the <code>videoCodecOperation</code> member of <code>pVideoProfile</code> specifies an encode operation then <code>referencePicturesFormat</code> <strong class=\"purple\">must</strong> be one of the supported encode DPB formats as reported by <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> in the <code>format</code> member of <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> when called with the <code>imageUsage</code> member of its <code>pVideoFormatInfo</code> parameter containing <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, and with a <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure chained to its <code>pVideoFormatInfo</code> parameter whose <code>pProfiles</code> member contains an entry matching <code>pVideoProfile</code>" }, { "vuid": "VUID-VkVideoSessionCreateInfoKHR-pictureFormat-04853", - "text": " <code>pictureFormat</code> for decode output <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>" + "text": " If the <code>videoCodecOperation</code> member of <code>pVideoProfile</code> specifies a decode operation then <code>pictureFormat</code> <strong class=\"purple\">must</strong> be one of the supported decode output formats as reported by <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> in the <code>format</code> member of <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> when called with the <code>imageUsage</code> member of its <code>pVideoFormatInfo</code> parameter containing <code>VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR</code>, and with a <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure chained to its <code>pVideoFormatInfo</code> parameter whose <code>pProfiles</code> member contains an entry matching <code>pVideoProfile</code>" }, { "vuid": "VUID-VkVideoSessionCreateInfoKHR-pictureFormat-04854", - "text": " <code>pictureFormat</code> targeting encode operations <strong class=\"purple\">must</strong> be one of the supported formats in <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> <code>format</code> returned by the <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> when the <a href=\"#VkPhysicalDeviceVideoFormatInfoKHR\">VkPhysicalDeviceVideoFormatInfoKHR</a> <code>imageUsage</code> contains <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>" + "text": " If the <code>videoCodecOperation</code> member of <code>pVideoProfile</code> specifies an encode operation then <code>pictureFormat</code> <strong class=\"purple\">must</strong> be one of the supported encode input formats as reported by <a href=\"#vkGetPhysicalDeviceVideoFormatPropertiesKHR\">vkGetPhysicalDeviceVideoFormatPropertiesKHR</a> in the <code>format</code> member of <a href=\"#VkVideoFormatPropertiesKHR\">VkVideoFormatPropertiesKHR</a> when called with the <code>imageUsage</code> member of its <code>pVideoFormatInfo</code> parameter containing <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, and with a <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a> structure chained to its <code>pVideoFormatInfo</code> parameter whose <code>pProfiles</code> member contains an entry matching <code>pVideoProfile</code>" }, { "vuid": "VUID-VkVideoSessionCreateInfoKHR-sType-sType", @@ -48912,7 +48982,7 @@ }, { "vuid": "VUID-VkFormatProperties2-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=\"#VkDrmFormatModifierPropertiesList2EXT\">VkDrmFormatModifierPropertiesList2EXT</a>, <a href=\"#VkDrmFormatModifierPropertiesListEXT\">VkDrmFormatModifierPropertiesListEXT</a>, <a href=\"#VkFormatProperties3\">VkFormatProperties3</a>, <a href=\"#VkVideoDecodeH264ProfileEXT\">VkVideoDecodeH264ProfileEXT</a>, <a href=\"#VkVideoDecodeH265ProfileEXT\">VkVideoDecodeH265ProfileEXT</a>, <a href=\"#VkVideoEncodeH264ProfileEXT\">VkVideoEncodeH264ProfileEXT</a>, <a href=\"#VkVideoEncodeH265ProfileEXT\">VkVideoEncodeH265ProfileEXT</a>, <a href=\"#VkVideoProfileKHR\">VkVideoProfileKHR</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</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=\"#VkDrmFormatModifierPropertiesList2EXT\">VkDrmFormatModifierPropertiesList2EXT</a>, <a href=\"#VkDrmFormatModifierPropertiesListEXT\">VkDrmFormatModifierPropertiesListEXT</a>, or <a href=\"#VkFormatProperties3\">VkFormatProperties3</a>" }, { "vuid": "VUID-VkFormatProperties2-sType-unique", @@ -49066,7 +49136,7 @@ }, { "vuid": "VUID-VkPhysicalDeviceImageFormatInfo2-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=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkPhysicalDeviceExternalImageFormatInfo\">VkPhysicalDeviceExternalImageFormatInfo</a>, <a href=\"#VkPhysicalDeviceImageDrmFormatModifierInfoEXT\">VkPhysicalDeviceImageDrmFormatModifierInfoEXT</a>, or <a href=\"#VkPhysicalDeviceImageViewImageFormatInfoEXT\">VkPhysicalDeviceImageViewImageFormatInfoEXT</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=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkPhysicalDeviceExternalImageFormatInfo\">VkPhysicalDeviceExternalImageFormatInfo</a>, <a href=\"#VkPhysicalDeviceImageDrmFormatModifierInfoEXT\">VkPhysicalDeviceImageDrmFormatModifierInfoEXT</a>, <a href=\"#VkPhysicalDeviceImageViewImageFormatInfoEXT\">VkPhysicalDeviceImageViewImageFormatInfoEXT</a>, or <a href=\"#VkVideoProfilesKHR\">VkVideoProfilesKHR</a>" }, { "vuid": "VUID-VkPhysicalDeviceImageFormatInfo2-sType-unique", @@ -51071,12 +51141,20 @@ { "vuid": "VUID-RuntimeSpirv-LocalSizeId-06433", "text": " The execution mode <code>LocalSizeId</code> <strong class=\"purple\">must</strong> not be used" + }, + { + "vuid": "VUID-RuntimeSpirv-OpTypeVector-06816", + "text": " Any <code>OpTypeVector</code> output interface variables <strong class=\"purple\">must</strong> not have a higher <code>Component</code> <code>Count</code> than a matching <code>OpTypeVector</code> input interface variable" } ], "(VK_VERSION_1_3,VK_KHR_maintenance4)": [ { "vuid": "VUID-RuntimeSpirv-LocalSizeId-06434", - "text": " if execution mode <code>LocalSizeId</code> is used, <a href=\"#features-maintenance4\"><code>maintenance4</code></a> <strong class=\"purple\">must</strong> be enabled" + "text": " If execution mode <code>LocalSizeId</code> is used, <a href=\"#features-maintenance4\"><code>maintenance4</code></a> <strong class=\"purple\">must</strong> be enabled" + }, + { + "vuid": "VUID-RuntimeSpirv-maintenance4-06817", + "text": " If <a href=\"#features-maintenance4\"><code>maintenance4</code></a> is not enabled, any <code>OpTypeVector</code> output interface variables <strong class=\"purple\">must</strong> not have a higher <code>Component</code> <code>Count</code> than a matching <code>OpTypeVector</code> input interface variable" } ], "(VK_VERSION_1_3,VK_KHR_zero_initialize_workgroup_memory)": [ diff --git a/registry/vk.xml b/registry/vk.xml index c7fa048..e0b50a5 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> 217</type> +#define <name>VK_HEADER_VERSION</name> 218</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> @@ -5842,28 +5842,32 @@ typedef void* <name>MTLSharedEvent_id</name>; <type category="struct" name="VkQueueFamilyQueryResultStatusProperties2KHR" structextends="VkQueueFamilyProperties2"> <member values="VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_2_KHR"><type>VkStructureType</type><name>sType</name></member> <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkBool32</type> <name>supported</name></member> + <member><type>VkBool32</type> <name>queryResultStatusSupport</name></member> </type> - <type category="struct" name="VkVideoProfilesKHR" structextends="VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> - <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR"><type>VkStructureType</type><name>sType</name></member> - <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>uint32_t</type> <name>profileCount</name></member> - <member len="profileCount">const <type>VkVideoProfileKHR</type>* <name>pProfiles</name></member> + <type category="struct" name="VkVideoProfilesKHR" structextends="VkPhysicalDeviceImageFormatInfo2,VkPhysicalDeviceVideoFormatInfoKHR,VkImageCreateInfo,VkBufferCreateInfo"> + <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>uint32_t</type> <name>profileCount</name></member> + <member len="profileCount">const <type>VkVideoProfileKHR</type>* <name>pProfiles</name></member> </type> - <type category="struct" name="VkPhysicalDeviceVideoFormatInfoKHR" returnedonly="true"> - <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR"><type>VkStructureType</type><name>sType</name></member> - <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkImageUsageFlags</type> <name>imageUsage</name></member> - <member>const <type>VkVideoProfilesKHR</type>* <name>pVideoProfiles</name></member> + <type category="struct" name="VkPhysicalDeviceVideoFormatInfoKHR"> + <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR"> <type>VkStructureType</type><name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkImageUsageFlags</type> <name>imageUsage</name></member> </type> <type category="struct" name="VkVideoFormatPropertiesKHR" returnedonly="true"> - <member values="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"><type>VkStructureType</type><name>sType</name></member> - <member optional="true"><type>void</type>* <name>pNext</name></member> - <member><type>VkFormat</type> <name>format</name></member> - </type> - <type category="struct" name="VkVideoProfileKHR" structextends="VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <member values="VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> + <member><type>VkFormat</type> <name>format</name></member> + <member><type>VkComponentMapping</type> <name>componentMapping</name></member> + <member><type>VkImageCreateFlags</type> <name>imageCreateFlags</name></member> + <member><type>VkImageType</type> <name>imageType</name></member> + <member><type>VkImageTiling</type> <name>imageTiling</name></member> + <member><type>VkImageUsageFlags</type> <name>imageUsageFlags</name></member> + </type> + <type category="struct" name="VkVideoProfileKHR" structextends="VkQueryPoolCreateInfo"> <member values="VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR"><type>VkStructureType</type><name>sType</name></member> - <member optional="true"><type>void</type>* <name>pNext</name></member> + <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkVideoCodecOperationFlagBitsKHR</type> <name>videoCodecOperation</name></member> <member><type>VkVideoChromaSubsamplingFlagsKHR</type> <name>chromaSubsampling</name></member> <member><type>VkVideoComponentBitDepthFlagsKHR</type> <name>lumaBitDepth</name></member> @@ -5955,7 +5959,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264ReferenceInfoFlags"/> <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264MvcElement"/> <type requires="vk_video/vulkan_video_codec_h264std_decode.h" name="StdVideoDecodeH264MvcElementFlags"/> - <type category="struct" name="VkVideoDecodeH264ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <type category="struct" name="VkVideoDecodeH264ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo"> <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>StdVideoH264ProfileIdc</type> <name>stdProfileIdc</name></member> @@ -6025,7 +6029,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfo"/> <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265PictureInfoFlags"/> <type requires="vk_video/vulkan_video_codec_h265std_decode.h" name="StdVideoDecodeH265ReferenceInfoFlags"/> - <type category="struct" name="VkVideoDecodeH265ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <type category="struct" name="VkVideoDecodeH265ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo"> <member values="VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>StdVideoH265ProfileIdc</type> <name>stdProfileIdc</name></member> @@ -6222,7 +6226,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>uint32_t</type> <name>ppsIdEntryCount</name></member> <member len="ppsIdEntryCount">const <type>uint8_t</type>* <name>ppsIdEntries</name></member> </type> - <type category="struct" name="VkVideoEncodeH264ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <type category="struct" name="VkVideoEncodeH264ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>StdVideoH264ProfileIdc</type> <name>stdProfileIdc</name></member> @@ -6374,7 +6378,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <member><type>VkBool32</type> <name>useMaxFrameSize</name></member> <member><type>VkVideoEncodeH265FrameSizeEXT</type> <name>maxFrameSize</name></member> </type> - <type category="struct" name="VkVideoEncodeH265ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo,VkFormatProperties2,VkImageCreateInfo,VkImageViewCreateInfo,VkBufferCreateInfo"> + <type category="struct" name="VkVideoEncodeH265ProfileEXT" structextends="VkVideoProfileKHR,VkQueryPoolCreateInfo"> <member values="VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_EXT"><type>VkStructureType</type><name>sType</name></member> <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>StdVideoH265ProfileIdc</type> <name>stdProfileIdc</name></member> @@ -10212,7 +10216,7 @@ typedef void* <name>MTLSharedEvent_id</name>; <param><type>VkFormatProperties2</type>* <name>pFormatProperties</name></param> </command> <command name="vkGetPhysicalDeviceFormatProperties2KHR" alias="vkGetPhysicalDeviceFormatProperties2"/> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_FORMAT_NOT_SUPPORTED"> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_FORMAT_NOT_SUPPORTED,VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR"> <proto><type>VkResult</type> <name>vkGetPhysicalDeviceImageFormatProperties2</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> <param>const <type>VkPhysicalDeviceImageFormatInfo2</type>* <name>pImageFormatInfo</name></param> @@ -11831,20 +11835,20 @@ typedef void* <name>MTLSharedEvent_id</name>; <param optional="false,true"><type>uint32_t</type>* <name>pCheckpointDataCount</name></param> <param optional="true" len="pCheckpointDataCount"><type>VkCheckpointData2NV</type>* <name>pCheckpointData</name></param> </command> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_FEATURE_NOT_PRESENT,VK_ERROR_FORMAT_NOT_SUPPORTED"> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR"> <proto><type>VkResult</type> <name>vkGetPhysicalDeviceVideoCapabilitiesKHR</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> <param>const <type>VkVideoProfileKHR</type>* <name>pVideoProfile</name></param> <param><type>VkVideoCapabilitiesKHR</type>* <name>pCapabilities</name></param> </command> - <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_EXTENSION_NOT_PRESENT,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_FORMAT_NOT_SUPPORTED"> + <command successcodes="VK_SUCCESS,VK_INCOMPLETE" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR,VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR"> <proto><type>VkResult</type> <name>vkGetPhysicalDeviceVideoFormatPropertiesKHR</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> <param>const <type>VkPhysicalDeviceVideoFormatInfoKHR</type>* <name>pVideoFormatInfo</name></param> <param optional="false,true"><type>uint32_t</type>* <name>pVideoFormatPropertyCount</name></param> <param optional="true" len="pVideoFormatPropertyCount"><type>VkVideoFormatPropertiesKHR</type>* <name>pVideoFormatProperties</name></param> </command> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_INCOMPATIBLE_DRIVER,VK_ERROR_FEATURE_NOT_PRESENT"> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR"> <proto><type>VkResult</type> <name>vkCreateVideoSessionKHR</name></proto> <param><type>VkDevice</type> <name>device</name></param> <param>const <type>VkVideoSessionCreateInfoKHR</type>* <name>pCreateInfo</name></param> @@ -13655,9 +13659,9 @@ typedef void* <name>MTLSharedEvent_id</name>; <command name="vkCmdDebugMarkerInsertEXT"/> </require> </extension> - <extension name="VK_KHR_video_queue" number="24" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_sampler_ycbcr_conversion" author="KHR" contact="Tony Zlatinski @tzlatinski" provisional="true" platform="provisional" supported="vulkan"> + <extension name="VK_KHR_video_queue" number="24" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_synchronization2" author="KHR" contact="Tony Zlatinski @tzlatinski" provisional="true" platform="provisional" supported="vulkan" requiresCore="1.1"> <require> - <enum value="3" name="VK_KHR_VIDEO_QUEUE_SPEC_VERSION"/> + <enum value="4" name="VK_KHR_VIDEO_QUEUE_SPEC_VERSION"/> <enum value=""VK_KHR_video_queue"" name="VK_KHR_VIDEO_QUEUE_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_PROFILE_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> @@ -13683,6 +13687,13 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum offset="0" extends="VkQueryType" name="VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> <enum bitpos="4" extends="VkQueryResultFlagBits" name="VK_QUERY_RESULT_WITH_STATUS_BIT_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="0" extends="VkResult" dir="-" name="VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="1" extends="VkResult" dir="-" name="VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="2" extends="VkResult" dir="-" name="VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="3" extends="VkResult" dir="-" name="VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="4" extends="VkResult" dir="-" name="VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <enum offset="5" extends="VkResult" dir="-" name="VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR" protect="VK_ENABLE_BETA_EXTENSIONS"/> + <type name="VkVideoSessionKHR"/> <type name="VkVideoSessionParametersKHR"/> @@ -19069,6 +19080,15 @@ typedef void* <name>MTLSharedEvent_id</name>; <enum value=""VK_EXT_extension_482"" name="VK_EXT_EXTENSION_482_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_EXT_extension_483" number="483" author="EXT" contact="Piers Daniell" supported="disabled"> + <require> + <enum value="0" name="VK_EXT_EXTENSION_483_SPEC_VERSION"/> + <enum value=""VK_EXT_extension_483"" name="VK_EXT_EXTENSION_483_EXTENSION_NAME"/> + <enum bitpos="15" extends="VkShaderStageFlagBits" name="VK_SHADER_STAGE_EXT_483_RESERVE_15"/> + <enum bitpos="16" extends="VkShaderStageFlagBits" name="VK_SHADER_STAGE_EXT_483_RESERVE_16"/> + <enum bitpos="17" extends="VkShaderStageFlagBits" name="VK_SHADER_STAGE_EXT_483_RESERVE_17"/> + </require> + </extension> </extensions> <formats> <format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8"> |