diff options
author | Jon Leech <[email protected]> | 2021-06-28 01:25:53 -0700 |
---|---|---|
committer | Jon Leech <[email protected]> | 2021-06-28 01:27:21 -0700 |
commit | a8964617af6b104d0341874e9b4776d82f80f9af (patch) | |
tree | b138d2ad60fb539f876346a0041b6d99b7fc1388 | |
parent | 37164a5726f7e6113810f9557903a117498421cf (diff) | |
download | Vulkan-Headers-a8964617af6b104d0341874e9b4776d82f80f9af.tar.gz Vulkan-Headers-a8964617af6b104d0341874e9b4776d82f80f9af.zip |
Update for Vulkan-Docs 1.2.183v1.2.183
-rw-r--r-- | include/vulkan/vulkan.hpp | 12 | ||||
-rw-r--r-- | include/vulkan/vulkan_beta.h | 2 | ||||
-rw-r--r-- | include/vulkan/vulkan_core.h | 16 | ||||
-rw-r--r-- | include/vulkan/vulkan_enums.hpp | 4 | ||||
-rw-r--r-- | include/vulkan/vulkan_raii.hpp | 1531 | ||||
-rw-r--r-- | include/vulkan/vulkan_structs.hpp | 68 | ||||
-rw-r--r-- | registry/validusage.json | 82 | ||||
-rw-r--r-- | registry/vk.xml | 46 |
8 files changed, 1366 insertions, 395 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index d3bc127..4c225b3 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -93,7 +93,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include <compare> #endif -static_assert( VK_HEADER_VERSION == 182, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 183, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -7786,6 +7786,14 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> + struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesEXT, DeviceCreateInfo> + { + enum + { + value = true + }; + }; + template <> struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2> { enum @@ -8254,7 +8262,7 @@ namespace VULKAN_HPP_NAMESPACE }; }; template <> - struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceProperties2> + struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2> { enum { diff --git a/include/vulkan/vulkan_beta.h b/include/vulkan/vulkan_beta.h index 9aebb1a..c615bb3 100644 --- a/include/vulkan/vulkan_beta.h +++ b/include/vulkan/vulkan_beta.h @@ -134,7 +134,7 @@ typedef struct VkVideoCapabilitiesKHR { typedef struct VkPhysicalDeviceVideoFormatInfoKHR { VkStructureType sType; - const void* pNext; + void* pNext; VkImageUsageFlags imageUsage; const VkVideoProfilesKHR* pVideoProfiles; } VkPhysicalDeviceVideoFormatInfoKHR; diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index b2448fb..5354df0 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -20,7 +20,7 @@ extern "C" { #define VK_VERSION_1_0 1 -#include "vk_platform.h" +#include "vulkan/vk_platform.h" #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; @@ -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 182 +#define VK_HEADER_VERSION 183 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) @@ -825,7 +825,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002, VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365000, VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000365001, - VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, + VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000, @@ -6177,7 +6177,7 @@ typedef struct VkAcquireNextImageInfoKHR { typedef struct VkDeviceGroupPresentCapabilitiesKHR { VkStructureType sType; - const void* pNext; + void* pNext; uint32_t presentMask[VK_MAX_DEVICE_GROUP_SIZE]; VkDeviceGroupPresentModeFlagsKHR modes; } VkDeviceGroupPresentCapabilitiesKHR; @@ -7052,7 +7052,7 @@ typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR { typedef struct VkPerformanceCounterKHR { VkStructureType sType; - const void* pNext; + void* pNext; VkPerformanceCounterUnitKHR unit; VkPerformanceCounterScopeKHR scope; VkPerformanceCounterStorageKHR storage; @@ -7061,7 +7061,7 @@ typedef struct VkPerformanceCounterKHR { typedef struct VkPerformanceCounterDescriptionKHR { VkStructureType sType; - const void* pNext; + void* pNext; VkPerformanceCounterDescriptionFlagsKHR flags; char name[VK_MAX_DESCRIPTION_SIZE]; char category[VK_MAX_DESCRIPTION_SIZE]; @@ -11867,7 +11867,7 @@ typedef struct VkPhysicalDeviceDeviceMemoryReportFeaturesEXT { typedef struct VkDeviceMemoryReportCallbackDataEXT { VkStructureType sType; - const void* pNext; + void* pNext; VkDeviceMemoryReportFlagsEXT flags; VkDeviceMemoryReportEventTypeEXT type; uint64_t memoryObjectId; @@ -12202,7 +12202,7 @@ typedef struct VkAccelerationStructureMotionInstanceNV { typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV { VkStructureType sType; - const void* pNext; + void* pNext; VkBool32 rayTracingMotionBlur; VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect; } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV; diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 5aed891..6625eec 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -815,7 +815,7 @@ namespace VULKAN_HPP_NAMESPACE eImportSemaphoreZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA, eSemaphoreGetZirconHandleInfoFUCHSIA = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA, #endif /*VK_USE_PLATFORM_FUCHSIA*/ - eSubpasssShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI, + eSubpassShadingPipelineCreateInfoHUAWEI = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI, ePhysicalDeviceSubpassShadingFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, ePhysicalDeviceSubpassShadingPropertiesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI, ePhysicalDeviceExtendedDynamicState2FeaturesEXT = @@ -1706,7 +1706,7 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::eImportSemaphoreZirconHandleInfoFUCHSIA: return "ImportSemaphoreZirconHandleInfoFUCHSIA"; case StructureType::eSemaphoreGetZirconHandleInfoFUCHSIA: return "SemaphoreGetZirconHandleInfoFUCHSIA"; #endif /*VK_USE_PLATFORM_FUCHSIA*/ - case StructureType::eSubpasssShadingPipelineCreateInfoHUAWEI: return "SubpasssShadingPipelineCreateInfoHUAWEI"; + case StructureType::eSubpassShadingPipelineCreateInfoHUAWEI: return "SubpassShadingPipelineCreateInfoHUAWEI"; case StructureType::ePhysicalDeviceSubpassShadingFeaturesHUAWEI: return "PhysicalDeviceSubpassShadingFeaturesHUAWEI"; case StructureType::ePhysicalDeviceSubpassShadingPropertiesHUAWEI: diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 9b15eba..26b58d3 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -59,6 +59,10 @@ namespace VULKAN_HPP_NAMESPACE public: InstanceDispatcher( PFN_vkGetInstanceProcAddr getProcAddr ) : vkGetInstanceProcAddr( getProcAddr ) {} +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + InstanceDispatcher() = default; +# endif + void init( VkInstance instance ) { vkAcquireDrmDisplayEXT = @@ -497,6 +501,10 @@ namespace VULKAN_HPP_NAMESPACE public: DeviceDispatcher( PFN_vkGetDeviceProcAddr getProcAddr ) : vkGetDeviceProcAddr( getProcAddr ) {} +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DeviceDispatcher() = default; +# endif + void init( VkDevice device ) { # if defined( VK_USE_PLATFORM_WIN32_KHR ) @@ -1770,7 +1778,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Instance() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Instance() = default; +# else + Instance() = delete; +# endif Instance( Instance const & ) = delete; Instance( Instance && rhs ) VULKAN_HPP_NOEXCEPT : m_instance( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ) ) @@ -1782,7 +1794,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyInstance( static_cast<VkInstance>( m_instance ), m_allocator ); + if ( m_instance ) + { + getDispatcher()->vkDestroyInstance( static_cast<VkInstance>( m_instance ), m_allocator ); + } m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ); m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; @@ -1790,6 +1805,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::Instance const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_instance; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const + { + return &m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_instance.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_instance.operator!(); + } +# endif + //=== VK_VERSION_1_0 === VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; @@ -1821,16 +1858,6 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, const DebugUtilsMessengerCallbackDataEXT & callbackData ) const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::Instance const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_instance; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const - { - return &m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::Instance m_instance; const VkAllocationCallbacks * m_allocator; @@ -1858,7 +1885,11 @@ namespace VULKAN_HPP_NAMESPACE : m_physicalDevice( physicalDevice ), m_dispatcher( dispatcher ) {} - PhysicalDevice() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + PhysicalDevice() = default; +# else + PhysicalDevice() = delete; +# endif PhysicalDevice( PhysicalDevice const & ) = delete; PhysicalDevice( PhysicalDevice && rhs ) VULKAN_HPP_NOEXCEPT : m_physicalDevice( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ) ) @@ -1875,6 +1906,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::PhysicalDevice const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_physicalDevice; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_physicalDevice.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_physicalDevice.operator!(); + } +# endif + //=== VK_VERSION_1_0 === VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures getFeatures() const VULKAN_HPP_NOEXCEPT; @@ -2194,16 +2247,6 @@ namespace VULKAN_HPP_NAMESPACE struct _screen_window & window ) const VULKAN_HPP_NOEXCEPT; # endif /*VK_USE_PLATFORM_SCREEN_QNX*/ - VULKAN_HPP_NAMESPACE::PhysicalDevice const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_physicalDevice; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * m_dispatcher; @@ -2245,7 +2288,11 @@ namespace VULKAN_HPP_NAMESPACE } } - PhysicalDevices() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + PhysicalDevices() = default; +# else + PhysicalDevices() = delete; +# endif PhysicalDevices( PhysicalDevices const & ) = delete; PhysicalDevices( PhysicalDevices && rhs ) = default; PhysicalDevices & operator=( PhysicalDevices const & ) = delete; @@ -2301,7 +2348,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Device() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Device() = default; +# else + Device() = delete; +# endif Device( Device const & ) = delete; Device( Device && rhs ) VULKAN_HPP_NOEXCEPT : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ) ) @@ -2313,7 +2364,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDevice( static_cast<VkDevice>( m_device ), m_allocator ); + if ( m_device ) + { + getDispatcher()->vkDestroyDevice( static_cast<VkDevice>( m_device ), m_allocator ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_allocator = rhs.m_allocator; m_dispatcher = rhs.m_dispatcher; @@ -2321,6 +2375,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::Device const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_device; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return &m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_device.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_device.operator!(); + } +# endif + //=== VK_VERSION_1_0 === VULKAN_HPP_NODISCARD PFN_vkVoidFunction getProcAddr( const std::string & name ) const VULKAN_HPP_NOEXCEPT; @@ -2716,16 +2792,6 @@ namespace VULKAN_HPP_NAMESPACE getSemaphoreZirconHandleFUCHSIA( const SemaphoreGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const; # endif /*VK_USE_PLATFORM_FUCHSIA*/ - VULKAN_HPP_NAMESPACE::Device const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_device; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return &m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::Device m_device; const VkAllocationCallbacks * m_allocator; @@ -2784,7 +2850,11 @@ namespace VULKAN_HPP_NAMESPACE } } - AccelerationStructureKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + AccelerationStructureKHR() = default; +# else + AccelerationStructureKHR() = delete; +# endif AccelerationStructureKHR( AccelerationStructureKHR const & ) = delete; AccelerationStructureKHR( AccelerationStructureKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_accelerationStructureKHR( @@ -2798,8 +2868,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyAccelerationStructureKHR( - m_device, static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), m_allocator ); + if ( m_accelerationStructureKHR ) + { + getDispatcher()->vkDestroyAccelerationStructureKHR( + m_device, static_cast<VkAccelerationStructureKHR>( m_accelerationStructureKHR ), m_allocator ); + } m_accelerationStructureKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureKHR, {} ); m_device = rhs.m_device; @@ -2819,6 +2892,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_accelerationStructureKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_accelerationStructureKHR.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::AccelerationStructureKHR m_accelerationStructureKHR; VkDevice m_device; @@ -2878,7 +2963,11 @@ namespace VULKAN_HPP_NAMESPACE } } - AccelerationStructureNV() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + AccelerationStructureNV() = default; +# else + AccelerationStructureNV() = delete; +# endif AccelerationStructureNV( AccelerationStructureNV const & ) = delete; AccelerationStructureNV( AccelerationStructureNV && rhs ) VULKAN_HPP_NOEXCEPT : m_accelerationStructureNV( @@ -2892,8 +2981,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyAccelerationStructureNV( - m_device, static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), m_allocator ); + if ( m_accelerationStructureNV ) + { + getDispatcher()->vkDestroyAccelerationStructureNV( + m_device, static_cast<VkAccelerationStructureNV>( m_accelerationStructureNV ), m_allocator ); + } m_accelerationStructureNV = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructureNV, {} ); m_device = rhs.m_device; @@ -2903,14 +2995,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_NV_ray_tracing === - - template <typename T> - VULKAN_HPP_NODISCARD std::vector<T> getHandle( size_t dataSize ) const; - - template <typename T> - VULKAN_HPP_NODISCARD T getHandle() const; - VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & operator*() const VULKAN_HPP_NOEXCEPT { return m_accelerationStructureNV; @@ -2921,6 +3005,26 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_accelerationStructureNV.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_accelerationStructureNV.operator!(); + } +# endif + + //=== VK_NV_ray_tracing === + + template <typename T> + VULKAN_HPP_NODISCARD std::vector<T> getHandle( size_t dataSize ) const; + + template <typename T> + VULKAN_HPP_NODISCARD T getHandle() const; + private: VULKAN_HPP_NAMESPACE::AccelerationStructureNV m_accelerationStructureNV; VkDevice m_device; @@ -2976,7 +3080,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Buffer() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Buffer() = default; +# else + Buffer() = delete; +# endif Buffer( Buffer const & ) = delete; Buffer( Buffer && rhs ) VULKAN_HPP_NOEXCEPT : m_buffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ) ) @@ -2989,7 +3097,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyBuffer( m_device, static_cast<VkBuffer>( m_buffer ), m_allocator ); + if ( m_buffer ) + { + getDispatcher()->vkDestroyBuffer( m_device, static_cast<VkBuffer>( m_buffer ), m_allocator ); + } m_buffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -2998,12 +3109,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_0 === - - void bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const; - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::Buffer const & operator*() const VULKAN_HPP_NOEXCEPT { return m_buffer; @@ -3014,6 +3119,24 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_buffer.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_buffer.operator!(); + } +# endif + + //=== VK_VERSION_1_0 === + + void bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const; + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryRequirements getMemoryRequirements() const VULKAN_HPP_NOEXCEPT; + private: VULKAN_HPP_NAMESPACE::Buffer m_buffer; VkDevice m_device; @@ -3069,7 +3192,11 @@ namespace VULKAN_HPP_NAMESPACE } } - BufferView() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + BufferView() = default; +# else + BufferView() = delete; +# endif BufferView( BufferView const & ) = delete; BufferView( BufferView && rhs ) VULKAN_HPP_NOEXCEPT : m_bufferView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ) ) @@ -3082,7 +3209,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyBufferView( m_device, static_cast<VkBufferView>( m_bufferView ), m_allocator ); + if ( m_bufferView ) + { + getDispatcher()->vkDestroyBufferView( m_device, static_cast<VkBufferView>( m_bufferView ), m_allocator ); + } m_bufferView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -3101,6 +3231,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_bufferView.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_bufferView.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::BufferView m_bufferView; VkDevice m_device; @@ -3156,7 +3298,11 @@ namespace VULKAN_HPP_NAMESPACE } } - CommandPool() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + CommandPool() = default; +# else + CommandPool() = delete; +# endif CommandPool( CommandPool const & ) = delete; CommandPool( CommandPool && rhs ) VULKAN_HPP_NOEXCEPT : m_commandPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ) ) @@ -3169,7 +3315,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( m_commandPool ), m_allocator ); + if ( m_commandPool ) + { + getDispatcher()->vkDestroyCommandPool( m_device, static_cast<VkCommandPool>( m_commandPool ), m_allocator ); + } m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -3178,6 +3327,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::CommandPool const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_commandPool; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_commandPool.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_commandPool.operator!(); + } +# endif + //=== VK_VERSION_1_0 === void reset( VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const; @@ -3192,16 +3363,6 @@ namespace VULKAN_HPP_NAMESPACE void trimKHR( VULKAN_HPP_NAMESPACE::CommandPoolTrimFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::CommandPool const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_commandPool; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::CommandPool m_commandPool; VkDevice m_device; @@ -3245,7 +3406,11 @@ namespace VULKAN_HPP_NAMESPACE } } - CommandBuffer() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + CommandBuffer() = default; +# else + CommandBuffer() = delete; +# endif CommandBuffer( CommandBuffer const & ) = delete; CommandBuffer( CommandBuffer && rhs ) VULKAN_HPP_NOEXCEPT : m_commandBuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ) ) @@ -3258,8 +3423,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkFreeCommandBuffers( - m_device, m_commandPool, 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); + if ( m_commandBuffer ) + { + getDispatcher()->vkFreeCommandBuffers( + m_device, m_commandPool, 1, reinterpret_cast<VkCommandBuffer const *>( &m_commandBuffer ) ); + } m_commandBuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ); m_device = rhs.m_device; m_commandPool = rhs.m_commandPool; @@ -3268,6 +3436,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::CommandBuffer const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_commandBuffer; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_commandBuffer.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_commandBuffer.operator!(); + } +# endif + //=== VK_VERSION_1_0 === void begin( const CommandBufferBeginInfo & beginInfo ) const; @@ -3958,16 +4148,6 @@ namespace VULKAN_HPP_NAMESPACE Optional<const int32_t> vertexOffset VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::CommandBuffer const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_commandBuffer; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::CommandBuffer m_commandBuffer; VkDevice m_device; @@ -4004,7 +4184,11 @@ namespace VULKAN_HPP_NAMESPACE } } - CommandBuffers() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + CommandBuffers() = default; +# else + CommandBuffers() = delete; +# endif CommandBuffers( CommandBuffers const & ) = delete; CommandBuffers( CommandBuffers && rhs ) = default; CommandBuffers & operator=( CommandBuffers const & ) = delete; @@ -4062,7 +4246,11 @@ namespace VULKAN_HPP_NAMESPACE } } - CuFunctionNVX() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + CuFunctionNVX() = default; +# else + CuFunctionNVX() = delete; +# endif CuFunctionNVX( CuFunctionNVX const & ) = delete; CuFunctionNVX( CuFunctionNVX && rhs ) VULKAN_HPP_NOEXCEPT : m_cuFunctionNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ) ) @@ -4075,8 +4263,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyCuFunctionNVX( - m_device, static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); + if ( m_cuFunctionNVX ) + { + getDispatcher()->vkDestroyCuFunctionNVX( + m_device, static_cast<VkCuFunctionNVX>( m_cuFunctionNVX ), m_allocator ); + } m_cuFunctionNVX = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuFunctionNVX, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -4095,6 +4286,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_cuFunctionNVX.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_cuFunctionNVX.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::CuFunctionNVX m_cuFunctionNVX; VkDevice m_device; @@ -4150,7 +4353,11 @@ namespace VULKAN_HPP_NAMESPACE } } - CuModuleNVX() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + CuModuleNVX() = default; +# else + CuModuleNVX() = delete; +# endif CuModuleNVX( CuModuleNVX const & ) = delete; CuModuleNVX( CuModuleNVX && rhs ) VULKAN_HPP_NOEXCEPT : m_cuModuleNVX( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ) ) @@ -4163,7 +4370,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyCuModuleNVX( m_device, static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); + if ( m_cuModuleNVX ) + { + getDispatcher()->vkDestroyCuModuleNVX( m_device, static_cast<VkCuModuleNVX>( m_cuModuleNVX ), m_allocator ); + } m_cuModuleNVX = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_cuModuleNVX, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -4182,6 +4392,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_cuModuleNVX.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_cuModuleNVX.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::CuModuleNVX m_cuModuleNVX; VkDevice m_device; @@ -4241,7 +4463,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DebugReportCallbackEXT() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DebugReportCallbackEXT() = default; +# else + DebugReportCallbackEXT() = delete; +# endif DebugReportCallbackEXT( DebugReportCallbackEXT const & ) = delete; DebugReportCallbackEXT( DebugReportCallbackEXT && rhs ) VULKAN_HPP_NOEXCEPT : m_debugReportCallbackEXT( @@ -4255,8 +4481,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDebugReportCallbackEXT( - m_instance, static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), m_allocator ); + if ( m_debugReportCallbackEXT ) + { + getDispatcher()->vkDestroyDebugReportCallbackEXT( + m_instance, static_cast<VkDebugReportCallbackEXT>( m_debugReportCallbackEXT ), m_allocator ); + } m_debugReportCallbackEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugReportCallbackEXT, {} ); m_instance = rhs.m_instance; @@ -4276,6 +4505,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_debugReportCallbackEXT.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_debugReportCallbackEXT.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT m_debugReportCallbackEXT; VkInstance m_instance; @@ -4335,7 +4576,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DebugUtilsMessengerEXT() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DebugUtilsMessengerEXT() = default; +# else + DebugUtilsMessengerEXT() = delete; +# endif DebugUtilsMessengerEXT( DebugUtilsMessengerEXT const & ) = delete; DebugUtilsMessengerEXT( DebugUtilsMessengerEXT && rhs ) VULKAN_HPP_NOEXCEPT : m_debugUtilsMessengerEXT( @@ -4349,8 +4594,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDebugUtilsMessengerEXT( - m_instance, static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), m_allocator ); + if ( m_debugUtilsMessengerEXT ) + { + getDispatcher()->vkDestroyDebugUtilsMessengerEXT( + m_instance, static_cast<VkDebugUtilsMessengerEXT>( m_debugUtilsMessengerEXT ), m_allocator ); + } m_debugUtilsMessengerEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_debugUtilsMessengerEXT, {} ); m_instance = rhs.m_instance; @@ -4370,6 +4618,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_debugUtilsMessengerEXT.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_debugUtilsMessengerEXT.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT m_debugUtilsMessengerEXT; VkInstance m_instance; @@ -4427,7 +4687,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DeferredOperationKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DeferredOperationKHR() = default; +# else + DeferredOperationKHR() = delete; +# endif DeferredOperationKHR( DeferredOperationKHR const & ) = delete; DeferredOperationKHR( DeferredOperationKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_deferredOperationKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, @@ -4441,8 +4705,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDeferredOperationKHR( - m_device, static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), m_allocator ); + if ( m_deferredOperationKHR ) + { + getDispatcher()->vkDestroyDeferredOperationKHR( + m_device, static_cast<VkDeferredOperationKHR>( m_deferredOperationKHR ), m_allocator ); + } m_deferredOperationKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deferredOperationKHR, {} ); m_device = rhs.m_device; @@ -4452,14 +4719,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_KHR_deferred_host_operations === - - VULKAN_HPP_NODISCARD uint32_t getMaxConcurrency() const VULKAN_HPP_NOEXCEPT; - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getResult() const VULKAN_HPP_NOEXCEPT; - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result join() const; - VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & operator*() const VULKAN_HPP_NOEXCEPT { return m_deferredOperationKHR; @@ -4470,6 +4729,26 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_deferredOperationKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_deferredOperationKHR.operator!(); + } +# endif + + //=== VK_KHR_deferred_host_operations === + + VULKAN_HPP_NODISCARD uint32_t getMaxConcurrency() const VULKAN_HPP_NOEXCEPT; + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getResult() const VULKAN_HPP_NOEXCEPT; + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result join() const; + private: VULKAN_HPP_NAMESPACE::DeferredOperationKHR m_deferredOperationKHR; VkDevice m_device; @@ -4528,7 +4807,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DescriptorPool() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DescriptorPool() = default; +# else + DescriptorPool() = delete; +# endif DescriptorPool( DescriptorPool const & ) = delete; DescriptorPool( DescriptorPool && rhs ) VULKAN_HPP_NOEXCEPT : m_descriptorPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ) ) @@ -4541,8 +4824,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDescriptorPool( - m_device, static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); + if ( m_descriptorPool ) + { + getDispatcher()->vkDestroyDescriptorPool( + m_device, static_cast<VkDescriptorPool>( m_descriptorPool ), m_allocator ); + } m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -4551,11 +4837,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_0 === - - void reset( VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const - VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::DescriptorPool const & operator*() const VULKAN_HPP_NOEXCEPT { return m_descriptorPool; @@ -4566,6 +4847,23 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorPool.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorPool.operator!(); + } +# endif + + //=== VK_VERSION_1_0 === + + void reset( VULKAN_HPP_NAMESPACE::DescriptorPoolResetFlags flags VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT ) const + VULKAN_HPP_NOEXCEPT; + private: VULKAN_HPP_NAMESPACE::DescriptorPool m_descriptorPool; VkDevice m_device; @@ -4612,7 +4910,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DescriptorSet() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DescriptorSet() = default; +# else + DescriptorSet() = delete; +# endif DescriptorSet( DescriptorSet const & ) = delete; DescriptorSet( DescriptorSet && rhs ) VULKAN_HPP_NOEXCEPT : m_descriptorSet( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ) ) @@ -4625,8 +4927,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkFreeDescriptorSets( - m_device, m_descriptorPool, 1, reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); + if ( m_descriptorSet ) + { + getDispatcher()->vkFreeDescriptorSets( + m_device, m_descriptorPool, 1, reinterpret_cast<VkDescriptorSet const *>( &m_descriptorSet ) ); + } m_descriptorSet = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ); m_device = rhs.m_device; m_descriptorPool = rhs.m_descriptorPool; @@ -4635,16 +4940,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_1 === - - void updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, - const void * pData ) const VULKAN_HPP_NOEXCEPT; - - //=== VK_KHR_descriptor_update_template === - - void updateWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, - const void * pData ) const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::DescriptorSet const & operator*() const VULKAN_HPP_NOEXCEPT { return m_descriptorSet; @@ -4655,6 +4950,28 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorSet.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorSet.operator!(); + } +# endif + + //=== VK_VERSION_1_1 === + + void updateWithTemplate( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, + const void * pData ) const VULKAN_HPP_NOEXCEPT; + + //=== VK_KHR_descriptor_update_template === + + void updateWithTemplateKHR( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate descriptorUpdateTemplate, + const void * pData ) const VULKAN_HPP_NOEXCEPT; + private: VULKAN_HPP_NAMESPACE::DescriptorSet m_descriptorSet; VkDevice m_device; @@ -4691,7 +5008,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DescriptorSets() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DescriptorSets() = default; +# else + DescriptorSets() = delete; +# endif DescriptorSets( DescriptorSets const & ) = delete; DescriptorSets( DescriptorSets && rhs ) = default; DescriptorSets & operator=( DescriptorSets const & ) = delete; @@ -4750,7 +5071,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DescriptorSetLayout() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DescriptorSetLayout() = default; +# else + DescriptorSetLayout() = delete; +# endif DescriptorSetLayout( DescriptorSetLayout const & ) = delete; DescriptorSetLayout( DescriptorSetLayout && rhs ) VULKAN_HPP_NOEXCEPT : m_descriptorSetLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, @@ -4764,8 +5089,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDescriptorSetLayout( - m_device, static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), m_allocator ); + if ( m_descriptorSetLayout ) + { + getDispatcher()->vkDestroyDescriptorSetLayout( + m_device, static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), m_allocator ); + } m_descriptorSetLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, {} ); m_device = rhs.m_device; @@ -4785,6 +5113,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorSetLayout.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorSetLayout.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::DescriptorSetLayout m_descriptorSetLayout; VkDevice m_device; @@ -4844,7 +5184,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DescriptorUpdateTemplate() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DescriptorUpdateTemplate() = default; +# else + DescriptorUpdateTemplate() = delete; +# endif DescriptorUpdateTemplate( DescriptorUpdateTemplate const & ) = delete; DescriptorUpdateTemplate( DescriptorUpdateTemplate && rhs ) VULKAN_HPP_NOEXCEPT : m_descriptorUpdateTemplate( @@ -4858,8 +5202,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyDescriptorUpdateTemplate( - m_device, static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), m_allocator ); + if ( m_descriptorUpdateTemplate ) + { + getDispatcher()->vkDestroyDescriptorUpdateTemplate( + m_device, static_cast<VkDescriptorUpdateTemplate>( m_descriptorUpdateTemplate ), m_allocator ); + } m_descriptorUpdateTemplate = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorUpdateTemplate, {} ); m_device = rhs.m_device; @@ -4879,6 +5226,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorUpdateTemplate.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_descriptorUpdateTemplate.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate m_descriptorUpdateTemplate; VkDevice m_device; @@ -4936,7 +5295,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DeviceMemory() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DeviceMemory() = default; +# else + DeviceMemory() = delete; +# endif DeviceMemory( DeviceMemory const & ) = delete; DeviceMemory( DeviceMemory && rhs ) VULKAN_HPP_NOEXCEPT : m_deviceMemory( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ) ) @@ -4949,7 +5312,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkFreeMemory( m_device, static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); + if ( m_deviceMemory ) + { + getDispatcher()->vkFreeMemory( m_device, static_cast<VkDeviceMemory>( m_deviceMemory ), m_allocator ); + } m_deviceMemory = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_deviceMemory, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -4958,6 +5324,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::DeviceMemory const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_deviceMemory; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_deviceMemory.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_deviceMemory.operator!(); + } +# endif + //=== VK_VERSION_1_0 === VULKAN_HPP_NODISCARD void * @@ -4976,16 +5364,6 @@ namespace VULKAN_HPP_NAMESPACE getMemoryWin32HandleNV( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagsNV handleType ) const; # endif /*VK_USE_PLATFORM_WIN32_KHR*/ - VULKAN_HPP_NAMESPACE::DeviceMemory const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_deviceMemory; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::DeviceMemory m_deviceMemory; VkDevice m_device; @@ -5075,7 +5453,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DisplayKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DisplayKHR() = default; +# else + DisplayKHR() = delete; +# endif DisplayKHR( DisplayKHR const & ) = delete; DisplayKHR( DisplayKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_displayKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ) ) @@ -5087,7 +5469,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( m_displayKHR ) ); + if ( m_displayKHR ) + { + getDispatcher()->vkReleaseDisplayEXT( m_physicalDevice, static_cast<VkDisplayKHR>( m_displayKHR ) ); + } m_displayKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayKHR, {} ); m_physicalDevice = rhs.m_physicalDevice; m_dispatcher = rhs.m_dispatcher; @@ -5095,6 +5480,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::DisplayKHR const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_displayKHR; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_displayKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_displayKHR.operator!(); + } +# endif + //=== VK_KHR_display === VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::DisplayModePropertiesKHR> getModeProperties() const; @@ -5109,16 +5516,6 @@ namespace VULKAN_HPP_NAMESPACE void acquireWinrtNV() const; # endif /*VK_USE_PLATFORM_WIN32_KHR*/ - VULKAN_HPP_NAMESPACE::DisplayKHR const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_displayKHR; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::InstanceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::DisplayKHR m_displayKHR; VkPhysicalDevice m_physicalDevice; @@ -5162,7 +5559,11 @@ namespace VULKAN_HPP_NAMESPACE } } - DisplayKHRs() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DisplayKHRs() = default; +# else + DisplayKHRs() = delete; +# endif DisplayKHRs( DisplayKHRs const & ) = delete; DisplayKHRs( DisplayKHRs && rhs ) = default; DisplayKHRs & operator=( DisplayKHRs const & ) = delete; @@ -5208,7 +5609,11 @@ namespace VULKAN_HPP_NAMESPACE , m_dispatcher( physicalDevice.getDispatcher() ) {} - DisplayModeKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + DisplayModeKHR() = default; +# else + DisplayModeKHR() = delete; +# endif DisplayModeKHR( DisplayModeKHR const & ) = delete; DisplayModeKHR( DisplayModeKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_displayModeKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_displayModeKHR, {} ) ) @@ -5225,11 +5630,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_KHR_display === - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR - getDisplayPlaneCapabilities( uint32_t planeIndex ) const; - VULKAN_HPP_NAMESPACE::DisplayModeKHR const & operator*() const VULKAN_HPP_NOEXCEPT { return m_displayModeKHR; @@ -5240,6 +5640,23 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_displayModeKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_displayModeKHR.operator!(); + } +# endif + + //=== VK_KHR_display === + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilitiesKHR + getDisplayPlaneCapabilities( uint32_t planeIndex ) const; + private: VULKAN_HPP_NAMESPACE::DisplayModeKHR m_displayModeKHR; VULKAN_HPP_NAMESPACE::PhysicalDevice m_physicalDevice; @@ -5294,7 +5711,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Event() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Event() = default; +# else + Event() = delete; +# endif Event( Event const & ) = delete; Event( Event && rhs ) VULKAN_HPP_NOEXCEPT : m_event( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ) ) @@ -5307,7 +5728,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyEvent( m_device, static_cast<VkEvent>( m_event ), m_allocator ); + if ( m_event ) + { + getDispatcher()->vkDestroyEvent( m_device, static_cast<VkEvent>( m_event ), m_allocator ); + } m_event = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -5316,14 +5740,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_0 === - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; - - void set() const; - - void reset() const; - VULKAN_HPP_NAMESPACE::Event const & operator*() const VULKAN_HPP_NOEXCEPT { return m_event; @@ -5334,6 +5750,26 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_event.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_event.operator!(); + } +# endif + + //=== VK_VERSION_1_0 === + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; + + void set() const; + + void reset() const; + private: VULKAN_HPP_NAMESPACE::Event m_event; VkDevice m_device; @@ -5430,7 +5866,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Fence() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Fence() = default; +# else + Fence() = delete; +# endif Fence( Fence const & ) = delete; Fence( Fence && rhs ) VULKAN_HPP_NOEXCEPT : m_fence( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ) ) @@ -5443,7 +5883,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyFence( m_device, static_cast<VkFence>( m_fence ), m_allocator ); + if ( m_fence ) + { + getDispatcher()->vkDestroyFence( m_device, static_cast<VkFence>( m_fence ), m_allocator ); + } m_fence = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -5452,10 +5895,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_0 === - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; - VULKAN_HPP_NAMESPACE::Fence const & operator*() const VULKAN_HPP_NOEXCEPT { return m_fence; @@ -5466,6 +5905,22 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_fence.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_fence.operator!(); + } +# endif + + //=== VK_VERSION_1_0 === + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result getStatus() const; + private: VULKAN_HPP_NAMESPACE::Fence m_fence; VkDevice m_device; @@ -5521,7 +5976,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Framebuffer() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Framebuffer() = default; +# else + Framebuffer() = delete; +# endif Framebuffer( Framebuffer const & ) = delete; Framebuffer( Framebuffer && rhs ) VULKAN_HPP_NOEXCEPT : m_framebuffer( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ) ) @@ -5534,7 +5993,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); + if ( m_framebuffer ) + { + getDispatcher()->vkDestroyFramebuffer( m_device, static_cast<VkFramebuffer>( m_framebuffer ), m_allocator ); + } m_framebuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -5553,6 +6015,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_framebuffer.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_framebuffer.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::Framebuffer m_framebuffer; VkDevice m_device; @@ -5608,7 +6082,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Image() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Image() = default; +# else + Image() = delete; +# endif Image( Image const & ) = delete; Image( Image && rhs ) VULKAN_HPP_NOEXCEPT : m_image( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ) ) @@ -5621,7 +6099,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyImage( m_device, static_cast<VkImage>( m_image ), m_allocator ); + if ( m_image ) + { + getDispatcher()->vkDestroyImage( m_device, static_cast<VkImage>( m_image ), m_allocator ); + } m_image = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -5630,6 +6111,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::Image const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_image; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_image.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_image.operator!(); + } +# endif + //=== VK_VERSION_1_0 === void bindMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory, VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset ) const; @@ -5647,16 +6150,6 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT getDrmFormatModifierPropertiesEXT() const; - VULKAN_HPP_NAMESPACE::Image const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_image; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::Image m_image; VkDevice m_device; @@ -5712,7 +6205,11 @@ namespace VULKAN_HPP_NAMESPACE } } - ImageView() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + ImageView() = default; +# else + ImageView() = delete; +# endif ImageView( ImageView const & ) = delete; ImageView( ImageView && rhs ) VULKAN_HPP_NOEXCEPT : m_imageView( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ) ) @@ -5725,7 +6222,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyImageView( m_device, static_cast<VkImageView>( m_imageView ), m_allocator ); + if ( m_imageView ) + { + getDispatcher()->vkDestroyImageView( m_device, static_cast<VkImageView>( m_imageView ), m_allocator ); + } m_imageView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -5734,10 +6234,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_NVX_image_view_handle === - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX getAddressNVX() const; - VULKAN_HPP_NAMESPACE::ImageView const & operator*() const VULKAN_HPP_NOEXCEPT { return m_imageView; @@ -5748,6 +6244,22 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_imageView.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_imageView.operator!(); + } +# endif + + //=== VK_NVX_image_view_handle === + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageViewAddressPropertiesNVX getAddressNVX() const; + private: VULKAN_HPP_NAMESPACE::ImageView m_imageView; VkDevice m_device; @@ -5807,7 +6319,11 @@ namespace VULKAN_HPP_NAMESPACE } } - IndirectCommandsLayoutNV() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + IndirectCommandsLayoutNV() = default; +# else + IndirectCommandsLayoutNV() = delete; +# endif IndirectCommandsLayoutNV( IndirectCommandsLayoutNV const & ) = delete; IndirectCommandsLayoutNV( IndirectCommandsLayoutNV && rhs ) VULKAN_HPP_NOEXCEPT : m_indirectCommandsLayoutNV( @@ -5821,8 +6337,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyIndirectCommandsLayoutNV( - m_device, static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), m_allocator ); + if ( m_indirectCommandsLayoutNV ) + { + getDispatcher()->vkDestroyIndirectCommandsLayoutNV( + m_device, static_cast<VkIndirectCommandsLayoutNV>( m_indirectCommandsLayoutNV ), m_allocator ); + } m_indirectCommandsLayoutNV = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_indirectCommandsLayoutNV, {} ); m_device = rhs.m_device; @@ -5842,6 +6361,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_indirectCommandsLayoutNV.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_indirectCommandsLayoutNV.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV m_indirectCommandsLayoutNV; VkDevice m_device; @@ -5892,7 +6423,11 @@ namespace VULKAN_HPP_NAMESPACE } } - PerformanceConfigurationINTEL() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + PerformanceConfigurationINTEL() = default; +# else + PerformanceConfigurationINTEL() = delete; +# endif PerformanceConfigurationINTEL( PerformanceConfigurationINTEL const & ) = delete; PerformanceConfigurationINTEL( PerformanceConfigurationINTEL && rhs ) VULKAN_HPP_NOEXCEPT : m_performanceConfigurationINTEL( @@ -5905,8 +6440,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkReleasePerformanceConfigurationINTEL( - m_device, static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); + if ( m_performanceConfigurationINTEL ) + { + getDispatcher()->vkReleasePerformanceConfigurationINTEL( + m_device, static_cast<VkPerformanceConfigurationINTEL>( m_performanceConfigurationINTEL ) ); + } m_performanceConfigurationINTEL = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_performanceConfigurationINTEL, {} ); m_device = rhs.m_device; @@ -5925,6 +6463,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_performanceConfigurationINTEL.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_performanceConfigurationINTEL.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL m_performanceConfigurationINTEL; VkDevice m_device; @@ -5982,7 +6532,11 @@ namespace VULKAN_HPP_NAMESPACE } } - PipelineCache() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + PipelineCache() = default; +# else + PipelineCache() = delete; +# endif PipelineCache( PipelineCache const & ) = delete; PipelineCache( PipelineCache && rhs ) VULKAN_HPP_NOEXCEPT : m_pipelineCache( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ) ) @@ -5995,8 +6549,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyPipelineCache( - m_device, static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); + if ( m_pipelineCache ) + { + getDispatcher()->vkDestroyPipelineCache( + m_device, static_cast<VkPipelineCache>( m_pipelineCache ), m_allocator ); + } m_pipelineCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -6005,12 +6562,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_0 === - - VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; - - void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const; - VULKAN_HPP_NAMESPACE::PipelineCache const & operator*() const VULKAN_HPP_NOEXCEPT { return m_pipelineCache; @@ -6021,6 +6572,24 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_pipelineCache.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_pipelineCache.operator!(); + } +# endif + + //=== VK_VERSION_1_0 === + + VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; + + void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::PipelineCache> const & srcCaches ) const; + private: VULKAN_HPP_NAMESPACE::PipelineCache m_pipelineCache; VkDevice m_device; @@ -6177,7 +6746,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Pipeline() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Pipeline() = default; +# else + Pipeline() = delete; +# endif Pipeline( Pipeline const & ) = delete; Pipeline( Pipeline && rhs ) VULKAN_HPP_NOEXCEPT : m_pipeline( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ) ) @@ -6190,7 +6763,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyPipeline( m_device, static_cast<VkPipeline>( m_pipeline ), m_allocator ); + if ( m_pipeline ) + { + getDispatcher()->vkDestroyPipeline( m_device, static_cast<VkPipeline>( m_pipeline ), m_allocator ); + } m_pipeline = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -6199,6 +6775,33 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::Pipeline const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_pipeline; + } + + VULKAN_HPP_NAMESPACE::Result getConstructorSuccessCode() const + { + return m_constructorSuccessCode; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_pipeline.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_pipeline.operator!(); + } +# endif + //=== VK_AMD_shader_info === VULKAN_HPP_NODISCARD std::vector<uint8_t> @@ -6237,21 +6840,6 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize getRayTracingShaderGroupStackSizeKHR( uint32_t group, VULKAN_HPP_NAMESPACE::ShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::Pipeline const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_pipeline; - } - - VULKAN_HPP_NAMESPACE::Result getConstructorSuccessCode() const - { - return m_constructorSuccessCode; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::Pipeline m_pipeline; VkDevice m_device; @@ -6420,7 +7008,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Pipelines() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Pipelines() = default; +# else + Pipelines() = delete; +# endif Pipelines( Pipelines const & ) = delete; Pipelines( Pipelines && rhs ) = default; Pipelines & operator=( Pipelines const & ) = delete; @@ -6478,7 +7070,11 @@ namespace VULKAN_HPP_NAMESPACE } } - PipelineLayout() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + PipelineLayout() = default; +# else + PipelineLayout() = delete; +# endif PipelineLayout( PipelineLayout const & ) = delete; PipelineLayout( PipelineLayout && rhs ) VULKAN_HPP_NOEXCEPT : m_pipelineLayout( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ) ) @@ -6491,8 +7087,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyPipelineLayout( - m_device, static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); + if ( m_pipelineLayout ) + { + getDispatcher()->vkDestroyPipelineLayout( + m_device, static_cast<VkPipelineLayout>( m_pipelineLayout ), m_allocator ); + } m_pipelineLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -6511,6 +7110,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_pipelineLayout.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_pipelineLayout.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::PipelineLayout m_pipelineLayout; VkDevice m_device; @@ -6570,7 +7181,11 @@ namespace VULKAN_HPP_NAMESPACE } } - PrivateDataSlotEXT() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + PrivateDataSlotEXT() = default; +# else + PrivateDataSlotEXT() = delete; +# endif PrivateDataSlotEXT( PrivateDataSlotEXT const & ) = delete; PrivateDataSlotEXT( PrivateDataSlotEXT && rhs ) VULKAN_HPP_NOEXCEPT : m_privateDataSlotEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, @@ -6584,8 +7199,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyPrivateDataSlotEXT( - m_device, static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), m_allocator ); + if ( m_privateDataSlotEXT ) + { + getDispatcher()->vkDestroyPrivateDataSlotEXT( + m_device, static_cast<VkPrivateDataSlotEXT>( m_privateDataSlotEXT ), m_allocator ); + } m_privateDataSlotEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlotEXT, {} ); m_device = rhs.m_device; @@ -6605,6 +7223,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_privateDataSlotEXT.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_privateDataSlotEXT.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT m_privateDataSlotEXT; VkDevice m_device; @@ -6660,7 +7290,11 @@ namespace VULKAN_HPP_NAMESPACE } } - QueryPool() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + QueryPool() = default; +# else + QueryPool() = delete; +# endif QueryPool( QueryPool const & ) = delete; QueryPool( QueryPool && rhs ) VULKAN_HPP_NOEXCEPT : m_queryPool( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ) ) @@ -6673,7 +7307,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( m_queryPool ), m_allocator ); + if ( m_queryPool ) + { + getDispatcher()->vkDestroyQueryPool( m_device, static_cast<VkQueryPool>( m_queryPool ), m_allocator ); + } m_queryPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -6682,6 +7319,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::QueryPool const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_queryPool; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_queryPool.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_queryPool.operator!(); + } +# endif + //=== VK_VERSION_1_0 === template <typename T> @@ -6707,16 +7366,6 @@ namespace VULKAN_HPP_NAMESPACE void resetEXT( uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::QueryPool const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_queryPool; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::QueryPool m_queryPool; VkDevice m_device; @@ -6757,7 +7406,11 @@ namespace VULKAN_HPP_NAMESPACE : m_queue( queue ), m_dispatcher( device.getDispatcher() ) {} - Queue() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Queue() = default; +# else + Queue() = delete; +# endif Queue( Queue const & ) = delete; Queue( Queue && rhs ) VULKAN_HPP_NOEXCEPT : m_queue( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queue, {} ) ) @@ -6774,6 +7427,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::Queue const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_queue; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_queue.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_queue.operator!(); + } +# endif + //=== VK_VERSION_1_0 === void submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits, @@ -6813,16 +7488,6 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::CheckpointData2NV> getCheckpointData2NV() const VULKAN_HPP_NOEXCEPT; - VULKAN_HPP_NAMESPACE::Queue const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_queue; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::Queue m_queue; VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher; @@ -6895,7 +7560,11 @@ namespace VULKAN_HPP_NAMESPACE } } - RenderPass() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + RenderPass() = default; +# else + RenderPass() = delete; +# endif RenderPass( RenderPass const & ) = delete; RenderPass( RenderPass && rhs ) VULKAN_HPP_NOEXCEPT : m_renderPass( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ) ) @@ -6908,7 +7577,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( m_renderPass ), m_allocator ); + if ( m_renderPass ) + { + getDispatcher()->vkDestroyRenderPass( m_device, static_cast<VkRenderPass>( m_renderPass ), m_allocator ); + } m_renderPass = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -6917,15 +7589,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_0 === - - VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Extent2D getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT; - - //=== VK_HUAWEI_subpass_shading === - - VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D> - getSubpassShadingMaxWorkgroupSizeHUAWEI() const; - VULKAN_HPP_NAMESPACE::RenderPass const & operator*() const VULKAN_HPP_NOEXCEPT { return m_renderPass; @@ -6936,6 +7599,27 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_renderPass.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_renderPass.operator!(); + } +# endif + + //=== VK_VERSION_1_0 === + + VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Extent2D getRenderAreaGranularity() const VULKAN_HPP_NOEXCEPT; + + //=== VK_HUAWEI_subpass_shading === + + VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D> + getSubpassShadingMaxWorkgroupSizeHUAWEI() const; + private: VULKAN_HPP_NAMESPACE::RenderPass m_renderPass; VkDevice m_device; @@ -6991,7 +7675,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Sampler() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Sampler() = default; +# else + Sampler() = delete; +# endif Sampler( Sampler const & ) = delete; Sampler( Sampler && rhs ) VULKAN_HPP_NOEXCEPT : m_sampler( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ) ) @@ -7004,7 +7692,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroySampler( m_device, static_cast<VkSampler>( m_sampler ), m_allocator ); + if ( m_sampler ) + { + getDispatcher()->vkDestroySampler( m_device, static_cast<VkSampler>( m_sampler ), m_allocator ); + } m_sampler = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -7023,6 +7714,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_sampler.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_sampler.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::Sampler m_sampler; VkDevice m_device; @@ -7082,7 +7785,11 @@ namespace VULKAN_HPP_NAMESPACE } } - SamplerYcbcrConversion() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + SamplerYcbcrConversion() = default; +# else + SamplerYcbcrConversion() = delete; +# endif SamplerYcbcrConversion( SamplerYcbcrConversion const & ) = delete; SamplerYcbcrConversion( SamplerYcbcrConversion && rhs ) VULKAN_HPP_NOEXCEPT : m_samplerYcbcrConversion( @@ -7096,8 +7803,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroySamplerYcbcrConversion( - m_device, static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), m_allocator ); + if ( m_samplerYcbcrConversion ) + { + getDispatcher()->vkDestroySamplerYcbcrConversion( + m_device, static_cast<VkSamplerYcbcrConversion>( m_samplerYcbcrConversion ), m_allocator ); + } m_samplerYcbcrConversion = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_samplerYcbcrConversion, {} ); m_device = rhs.m_device; @@ -7117,6 +7827,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_samplerYcbcrConversion.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_samplerYcbcrConversion.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion m_samplerYcbcrConversion; VkDevice m_device; @@ -7172,7 +7894,11 @@ namespace VULKAN_HPP_NAMESPACE } } - Semaphore() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + Semaphore() = default; +# else + Semaphore() = delete; +# endif Semaphore( Semaphore const & ) = delete; Semaphore( Semaphore && rhs ) VULKAN_HPP_NOEXCEPT : m_semaphore( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ) ) @@ -7185,7 +7911,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroySemaphore( m_device, static_cast<VkSemaphore>( m_semaphore ), m_allocator ); + if ( m_semaphore ) + { + getDispatcher()->vkDestroySemaphore( m_device, static_cast<VkSemaphore>( m_semaphore ), m_allocator ); + } m_semaphore = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -7194,14 +7923,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_VERSION_1_2 === - - VULKAN_HPP_NODISCARD uint64_t getCounterValue() const; - - //=== VK_KHR_timeline_semaphore === - - VULKAN_HPP_NODISCARD uint64_t getCounterValueKHR() const; - VULKAN_HPP_NAMESPACE::Semaphore const & operator*() const VULKAN_HPP_NOEXCEPT { return m_semaphore; @@ -7212,6 +7933,26 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_semaphore.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_semaphore.operator!(); + } +# endif + + //=== VK_VERSION_1_2 === + + VULKAN_HPP_NODISCARD uint64_t getCounterValue() const; + + //=== VK_KHR_timeline_semaphore === + + VULKAN_HPP_NODISCARD uint64_t getCounterValueKHR() const; + private: VULKAN_HPP_NAMESPACE::Semaphore m_semaphore; VkDevice m_device; @@ -7270,7 +8011,11 @@ namespace VULKAN_HPP_NAMESPACE } } - ShaderModule() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + ShaderModule() = default; +# else + ShaderModule() = delete; +# endif ShaderModule( ShaderModule const & ) = delete; ShaderModule( ShaderModule && rhs ) VULKAN_HPP_NOEXCEPT : m_shaderModule( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ) ) @@ -7283,8 +8028,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyShaderModule( - m_device, static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); + if ( m_shaderModule ) + { + getDispatcher()->vkDestroyShaderModule( + m_device, static_cast<VkShaderModule>( m_shaderModule ), m_allocator ); + } m_shaderModule = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -7303,6 +8051,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_shaderModule.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_shaderModule.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::ShaderModule m_shaderModule; VkDevice m_device; @@ -7661,7 +8421,11 @@ namespace VULKAN_HPP_NAMESPACE } } - SurfaceKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + SurfaceKHR() = default; +# else + SurfaceKHR() = delete; +# endif SurfaceKHR( SurfaceKHR const & ) = delete; SurfaceKHR( SurfaceKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_surfaceKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ) ) @@ -7674,7 +8438,10 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); + if ( m_surfaceKHR ) + { + getDispatcher()->vkDestroySurfaceKHR( m_instance, static_cast<VkSurfaceKHR>( m_surfaceKHR ), m_allocator ); + } m_surfaceKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surfaceKHR, {} ); m_instance = rhs.m_instance; m_allocator = rhs.m_allocator; @@ -7693,6 +8460,18 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_surfaceKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_surfaceKHR.operator!(); + } +# endif + private: VULKAN_HPP_NAMESPACE::SurfaceKHR m_surfaceKHR; VkInstance m_instance; @@ -7758,7 +8537,11 @@ namespace VULKAN_HPP_NAMESPACE } } - SwapchainKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + SwapchainKHR() = default; +# else + SwapchainKHR() = delete; +# endif SwapchainKHR( SwapchainKHR const & ) = delete; SwapchainKHR( SwapchainKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_swapchainKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ) ) @@ -7771,8 +8554,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroySwapchainKHR( - m_device, static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); + if ( m_swapchainKHR ) + { + getDispatcher()->vkDestroySwapchainKHR( + m_device, static_cast<VkSwapchainKHR>( m_swapchainKHR ), m_allocator ); + } m_swapchainKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchainKHR, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -7781,6 +8567,28 @@ namespace VULKAN_HPP_NAMESPACE return *this; } + VULKAN_HPP_NAMESPACE::SwapchainKHR const & operator*() const VULKAN_HPP_NOEXCEPT + { + return m_swapchainKHR; + } + + VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const + { + return m_dispatcher; + } + +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_swapchainKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_swapchainKHR.operator!(); + } +# endif + //=== VK_KHR_swapchain === VULKAN_HPP_NODISCARD std::vector<VkImage> getImages() const; @@ -7817,16 +8625,6 @@ namespace VULKAN_HPP_NAMESPACE void releaseFullScreenExclusiveModeEXT() const; # endif /*VK_USE_PLATFORM_WIN32_KHR*/ - VULKAN_HPP_NAMESPACE::SwapchainKHR const & operator*() const VULKAN_HPP_NOEXCEPT - { - return m_swapchainKHR; - } - - VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const - { - return m_dispatcher; - } - private: VULKAN_HPP_NAMESPACE::SwapchainKHR m_swapchainKHR; VkDevice m_device; @@ -7870,7 +8668,11 @@ namespace VULKAN_HPP_NAMESPACE } } - SwapchainKHRs() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + SwapchainKHRs() = default; +# else + SwapchainKHRs() = delete; +# endif SwapchainKHRs( SwapchainKHRs const & ) = delete; SwapchainKHRs( SwapchainKHRs && rhs ) = default; SwapchainKHRs & operator=( SwapchainKHRs const & ) = delete; @@ -7929,7 +8731,11 @@ namespace VULKAN_HPP_NAMESPACE } } - ValidationCacheEXT() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + ValidationCacheEXT() = default; +# else + ValidationCacheEXT() = delete; +# endif ValidationCacheEXT( ValidationCacheEXT const & ) = delete; ValidationCacheEXT( ValidationCacheEXT && rhs ) VULKAN_HPP_NOEXCEPT : m_validationCacheEXT( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, @@ -7943,8 +8749,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyValidationCacheEXT( - m_device, static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), m_allocator ); + if ( m_validationCacheEXT ) + { + getDispatcher()->vkDestroyValidationCacheEXT( + m_device, static_cast<VkValidationCacheEXT>( m_validationCacheEXT ), m_allocator ); + } m_validationCacheEXT = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCacheEXT, {} ); m_device = rhs.m_device; @@ -7954,12 +8763,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_EXT_validation_cache === - - void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const; - - VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; - VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & operator*() const VULKAN_HPP_NOEXCEPT { return m_validationCacheEXT; @@ -7970,6 +8773,24 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_validationCacheEXT.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_validationCacheEXT.operator!(); + } +# endif + + //=== VK_EXT_validation_cache === + + void merge( ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches ) const; + + VULKAN_HPP_NODISCARD std::vector<uint8_t> getData() const; + private: VULKAN_HPP_NAMESPACE::ValidationCacheEXT m_validationCacheEXT; VkDevice m_device; @@ -8030,7 +8851,11 @@ namespace VULKAN_HPP_NAMESPACE } } - VideoSessionKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + VideoSessionKHR() = default; +# else + VideoSessionKHR() = delete; +# endif VideoSessionKHR( VideoSessionKHR const & ) = delete; VideoSessionKHR( VideoSessionKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_videoSessionKHR( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ) ) @@ -8043,8 +8868,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyVideoSessionKHR( - m_device, static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); + if ( m_videoSessionKHR ) + { + getDispatcher()->vkDestroyVideoSessionKHR( + m_device, static_cast<VkVideoSessionKHR>( m_videoSessionKHR ), m_allocator ); + } m_videoSessionKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionKHR, {} ); m_device = rhs.m_device; m_allocator = rhs.m_allocator; @@ -8053,13 +8881,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_KHR_video_queue === - - VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> getMemoryRequirements() const; - - void - bindMemory( ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const & videoSessionBindMemories ) const; - VULKAN_HPP_NAMESPACE::VideoSessionKHR const & operator*() const VULKAN_HPP_NOEXCEPT { return m_videoSessionKHR; @@ -8070,6 +8891,25 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_videoSessionKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_videoSessionKHR.operator!(); + } +# endif + + //=== VK_KHR_video_queue === + + VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::VideoGetMemoryPropertiesKHR> getMemoryRequirements() const; + + void + bindMemory( ArrayProxy<const VULKAN_HPP_NAMESPACE::VideoBindMemoryKHR> const & videoSessionBindMemories ) const; + private: VULKAN_HPP_NAMESPACE::VideoSessionKHR m_videoSessionKHR; VkDevice m_device; @@ -8131,7 +8971,11 @@ namespace VULKAN_HPP_NAMESPACE } } - VideoSessionParametersKHR() = delete; +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + VideoSessionParametersKHR() = default; +# else + VideoSessionParametersKHR() = delete; +# endif VideoSessionParametersKHR( VideoSessionParametersKHR const & ) = delete; VideoSessionParametersKHR( VideoSessionParametersKHR && rhs ) VULKAN_HPP_NOEXCEPT : m_videoSessionParametersKHR( @@ -8145,8 +8989,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { - getDispatcher()->vkDestroyVideoSessionParametersKHR( - m_device, static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), m_allocator ); + if ( m_videoSessionParametersKHR ) + { + getDispatcher()->vkDestroyVideoSessionParametersKHR( + m_device, static_cast<VkVideoSessionParametersKHR>( m_videoSessionParametersKHR ), m_allocator ); + } m_videoSessionParametersKHR = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionParametersKHR, {} ); m_device = rhs.m_device; @@ -8156,10 +9003,6 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - //=== VK_KHR_video_queue === - - void update( const VideoSessionParametersUpdateInfoKHR & updateInfo ) const; - VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & operator*() const VULKAN_HPP_NOEXCEPT { return m_videoSessionParametersKHR; @@ -8170,6 +9013,22 @@ namespace VULKAN_HPP_NAMESPACE return m_dispatcher; } +# if defined( VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS ) + explicit operator bool() const VULKAN_HPP_NOEXCEPT + { + return m_videoSessionParametersKHR.operator bool(); + } + + bool operator!() const VULKAN_HPP_NOEXCEPT + { + return m_videoSessionParametersKHR.operator!(); + } +# endif + + //=== VK_KHR_video_queue === + + void update( const VideoSessionParametersUpdateInfoKHR & updateInfo ) const; + private: VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR m_videoSessionParametersKHR; VkDevice m_device; diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 257c78d..8c4e3da 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -12502,7 +12502,33 @@ namespace VULKAN_HPP_NAMESPACE CuLaunchInfoNVX( VkCuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT : CuLaunchInfoNVX( *reinterpret_cast<CuLaunchInfoNVX const *>( &rhs ) ) {} -#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + +# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + CuLaunchInfoNVX( VULKAN_HPP_NAMESPACE::CuFunctionNVX function_, + uint32_t gridDimX_, + uint32_t gridDimY_, + uint32_t gridDimZ_, + uint32_t blockDimX_, + uint32_t blockDimY_, + uint32_t blockDimZ_, + uint32_t sharedMemBytes_, + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const void * const> const & params_, + VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const void * const> const & extras_ = {} ) + : function( function_ ) + , gridDimX( gridDimX_ ) + , gridDimY( gridDimY_ ) + , gridDimZ( gridDimZ_ ) + , blockDimX( blockDimX_ ) + , blockDimY( blockDimY_ ) + , blockDimZ( blockDimZ_ ) + , sharedMemBytes( sharedMemBytes_ ) + , paramCount( params_.size() ) + , pParams( params_.data() ) + , extraCount( extras_.size() ) + , pExtras( extras_.data() ) + {} +# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ VULKAN_HPP_CONSTEXPR_14 CuLaunchInfoNVX & operator=( CuLaunchInfoNVX const & rhs ) VULKAN_HPP_NOEXCEPT = default; @@ -12578,6 +12604,16 @@ namespace VULKAN_HPP_NAMESPACE return *this; } +#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + CuLaunchInfoNVX & + setParams( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const void * const> const & params_ ) VULKAN_HPP_NOEXCEPT + { + paramCount = params_.size(); + pParams = params_.data(); + return *this; + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + CuLaunchInfoNVX & setExtraCount( size_t extraCount_ ) VULKAN_HPP_NOEXCEPT { extraCount = extraCount_; @@ -12590,6 +12626,16 @@ namespace VULKAN_HPP_NAMESPACE return *this; } +#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) + CuLaunchInfoNVX & + setExtras( VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const void * const> const & extras_ ) VULKAN_HPP_NOEXCEPT + { + extraCount = extras_.size(); + pExtras = extras_.data(); + return *this; + } +#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ + operator VkCuLaunchInfoNVX const &() const VULKAN_HPP_NOEXCEPT { return *reinterpret_cast<const VkCuLaunchInfoNVX *>( this ); @@ -17855,7 +17901,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceGroupPresentCapabilitiesKHR; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<uint32_t, VK_MAX_DEVICE_GROUP_SIZE> presentMask = {}; VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR modes = {}; }; @@ -18615,7 +18661,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryReportCallbackDataEXT; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {}; VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type = VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate; @@ -33271,7 +33317,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceCounterDescriptionKHR; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionFlagsKHR flags = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> name = {}; VULKAN_HPP_NAMESPACE::ArrayWrapper1D<char, VK_MAX_DESCRIPTION_SIZE> category = {}; @@ -33350,7 +33396,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePerformanceCounterKHR; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR unit = VULKAN_HPP_NAMESPACE::PerformanceCounterUnitKHR::eGeneric; VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR scope = VULKAN_HPP_NAMESPACE::PerformanceCounterScopeKHR::eCommandBuffer; @@ -43926,7 +43972,7 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - PhysicalDeviceRayTracingMotionBlurFeaturesNV & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + PhysicalDeviceRayTracingMotionBlurFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT { pNext = pNext_; return *this; @@ -43973,7 +44019,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceRayTracingMotionBlurFeaturesNV; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlur = {}; VULKAN_HPP_NAMESPACE::Bool32 rayTracingMotionBlurPipelineTraceRaysIndirect = {}; }; @@ -48884,7 +48930,7 @@ namespace VULKAN_HPP_NAMESPACE public: VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceVideoFormatInfoKHR; - const void * pNext = {}; + void * pNext = {}; VULKAN_HPP_NAMESPACE::ImageUsageFlags imageUsage = {}; const VULKAN_HPP_NAMESPACE::VideoProfilesKHR * pVideoProfiles = {}; }; @@ -62640,7 +62686,7 @@ namespace VULKAN_HPP_NAMESPACE { static const bool allowDuplicate = false; static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = - StructureType::eSubpasssShadingPipelineCreateInfoHUAWEI; + StructureType::eSubpassShadingPipelineCreateInfoHUAWEI; #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR SubpassShadingPipelineCreateInfoHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderPass_ = {}, @@ -62694,7 +62740,7 @@ namespace VULKAN_HPP_NAMESPACE #endif public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpasssShadingPipelineCreateInfoHUAWEI; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSubpassShadingPipelineCreateInfoHUAWEI; void * pNext = {}; VULKAN_HPP_NAMESPACE::RenderPass renderPass = {}; uint32_t subpass = {}; @@ -62705,7 +62751,7 @@ namespace VULKAN_HPP_NAMESPACE "struct wrapper is not a standard layout!" ); template <> - struct CppType<StructureType, StructureType::eSubpasssShadingPipelineCreateInfoHUAWEI> + struct CppType<StructureType, StructureType::eSubpassShadingPipelineCreateInfoHUAWEI> { using Type = SubpassShadingPipelineCreateInfoHUAWEI; }; diff --git a/registry/validusage.json b/registry/validusage.json index 7ec6195..313a280 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.2.182", - "comment": "from git branch: github-main commit: 1b32e9d5beeee44d81520cbf35193047e60dbf6b", - "date": "2021-06-20 01:24:30Z" + "api version": "1.2.183", + "comment": "from git branch: github-main commit: 1934d6f0eee2ca4a2794fed548521b11a33343a6", + "date": "2021-06-27 14:09:04Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -238,7 +238,7 @@ }, { "vuid": "VUID-VkPhysicalDeviceProperties2-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=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockPropertiesEXT\">VkPhysicalDeviceInlineUniformBlockPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlPropertiesEXT\">VkPhysicalDeviceSubgroupSizeControlPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT\">VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</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=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockPropertiesEXT\">VkPhysicalDeviceInlineUniformBlockPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlPropertiesEXT\">VkPhysicalDeviceSubgroupSizeControlPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT\">VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>" }, { "vuid": "VUID-VkPhysicalDeviceProperties2-sType-unique", @@ -612,7 +612,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT\">VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrivateDataFeaturesEXT\">VkPhysicalDevicePrivateDataFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR</a>" + "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfoEXT\">VkDevicePrivateDataCreateInfoEXT</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT\">VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeaturesEXT\">VkPhysicalDeviceImageRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeaturesEXT\">VkPhysicalDeviceInlineUniformBlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE\">VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT\">VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrivateDataFeaturesEXT\">VkPhysicalDevicePrivateDataFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR\">VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeaturesEXT\">VkPhysicalDeviceSubgroupSizeControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2FeaturesKHR\">VkPhysicalDeviceSynchronization2FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT\">VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR</a>" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -3294,7 +3294,7 @@ "core": [ { "vuid": "VUID-vkResetEvent-event-03821", - "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents\">vkCmdWaitEvents</a> that includes <code>event</code> in its <code>pEvents</code> parameter" + "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents\">vkCmdWaitEvents</a> that includes <code>event</code> in its <code>pEvents</code> parameter" }, { "vuid": "VUID-vkResetEvent-device-parameter", @@ -3312,7 +3312,7 @@ "(VK_KHR_synchronization2)": [ { "vuid": "VUID-vkResetEvent-event-03822", - "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkCmdResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents2KHR\">vkCmdWaitEvents2KHR</a> that includes <code>event</code> in its <code>pEvents</code> parameter" + "text": " There <strong class=\"purple\">must</strong> be an execution dependency between <code>vkResetEvent</code> and the execution of any <a href=\"#vkCmdWaitEvents2KHR\">vkCmdWaitEvents2KHR</a> that includes <code>event</code> in its <code>pEvents</code> parameter" }, { "vuid": "VUID-vkResetEvent-event-03823", @@ -4246,7 +4246,7 @@ }, { "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03903", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>," + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>" }, { "vuid": "VUID-VkMemoryBarrier2KHR-srcAccessMask-03904", @@ -4326,7 +4326,7 @@ }, { "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03903", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>," + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>" }, { "vuid": "VUID-VkMemoryBarrier2KHR-dstAccessMask-03904", @@ -4648,7 +4648,7 @@ }, { "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03903", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>," + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>" }, { "vuid": "VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03904", @@ -4728,7 +4728,7 @@ }, { "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03903", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>," + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>" }, { "vuid": "VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03904", @@ -5138,7 +5138,7 @@ }, { "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03903", - "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>," + "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>" }, { "vuid": "VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03904", @@ -5218,7 +5218,7 @@ }, { "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03903", - "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>," + "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR</code>, <code>VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI</code>, <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR</code>, or <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR</code>" }, { "vuid": "VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03904", @@ -7827,6 +7827,10 @@ "text": " <code>clearValueCount</code> <strong class=\"purple\">must</strong> be greater than the largest attachment index in <code>renderPass</code> that specifies a <code>loadOp</code> (or <code>stencilLoadOp</code>, if the attachment has a depth/stencil format) of <code>VK_ATTACHMENT_LOAD_OP_CLEAR</code>" }, { + "vuid": "VUID-VkRenderPassBeginInfo-clearValueCount-04962", + "text": " If <code>clearValueCount</code> is not <code>0</code>, <code>pClearValues</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>clearValueCount</code> <a href=\"#VkClearValue\">VkClearValue</a> unions" + }, + { "vuid": "VUID-VkRenderPassBeginInfo-renderPass-00904", "text": " <code>renderPass</code> <strong class=\"purple\">must</strong> be <a href=\"#renderpass-compatibility\">compatible</a> with the <code>renderPass</code> member of the <a href=\"#VkFramebufferCreateInfo\">VkFramebufferCreateInfo</a> structure specified when creating <code>framebuffer</code>" }, @@ -8836,11 +8840,11 @@ }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-02596", - "text": " If <code>stage</code> is a vertex processing stage, and the identified entry point writes to <code>Layer</code> for any primitive, it <strong class=\"purple\">must</strong> write the same value to <code>Layer</code> for all vertices of a given primitive" + "text": " If <code>stage</code> is a <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a>, and the identified entry point writes to <code>Layer</code> for any primitive, it <strong class=\"purple\">must</strong> write the same value to <code>Layer</code> for all vertices of a given primitive" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-02597", - "text": " If <code>stage</code> is a vertex processing stage, and the identified entry point writes to <code>ViewportIndex</code> for any primitive, it <strong class=\"purple\">must</strong> write the same value to <code>ViewportIndex</code> for all vertices of a given primitive" + "text": " If <code>stage</code> is a <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a>, and the identified entry point writes to <code>ViewportIndex</code> for any primitive, it <strong class=\"purple\">must</strong> write the same value to <code>ViewportIndex</code> for all vertices of a given primitive" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-00718", @@ -8974,7 +8978,7 @@ }, { "vuid": "VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-sType-sType", - "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI</code>" + "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI</code>" } ] }, @@ -9120,7 +9124,7 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-04889", - "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, the fragment shader and last vertex processing shader stage and any relevant state <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter" + "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, the fragment shader and last <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a> and any relevant state <strong class=\"purple\">must</strong> adhere to the pipeline linking rules described in the <a href=\"#interfaces\">Shader Interfaces</a> chapter" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-04890", @@ -9436,7 +9440,7 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-02318", - "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and any shader stage in <code>pStages</code> specifies <code>Xfb</code> execution mode it <strong class=\"purple\">must</strong> be the last vertex processing stage" + "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and any shader stage in <code>pStages</code> specifies <code>Xfb</code> execution mode it <strong class=\"purple\">must</strong> be the last <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a>" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02319", @@ -9448,7 +9452,7 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-geometryStreams-02321", - "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the last vertex processing stage is a geometry shader, and that geometry shader uses the <code>GeometryStreams</code> capability, then <code>VkPhysicalDeviceTransformFeedbackFeaturesEXT</code>::<code>geometryStreams</code> feature <strong class=\"purple\">must</strong> be enabled" + "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, and the last <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a> is a geometry shader, and that geometry shader uses the <code>GeometryStreams</code> capability, then <code>VkPhysicalDeviceTransformFeedbackFeaturesEXT</code>::<code>geometryStreams</code> feature <strong class=\"purple\">must</strong> be enabled" } ], "(VK_EXT_transform_feedback)+(VK_NV_mesh_shader)": [ @@ -20985,6 +20989,10 @@ "text": " <code>image</code> <strong class=\"purple\">must</strong> not have a compressed or depth/stencil format" }, { + "vuid": "VUID-vkCmdClearColorImage-pColor-04961", + "text": " <code>pColor</code> <strong class=\"purple\">must</strong> be a valid pointer to a <a href=\"#VkClearColorValue\">VkClearColorValue</a> union" + }, + { "vuid": "VUID-vkCmdClearColorImage-commandBuffer-parameter", "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle" }, @@ -29452,7 +29460,7 @@ }, { "vuid": "VUID-vkCmdBeginTransformFeedbackEXT-None-04128", - "text": " The last vertex processing stage of the bound graphics pipeline <strong class=\"purple\">must</strong> have been declared with the <code>Xfb</code> execution mode" + "text": " The last <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stage</a> of the bound graphics pipeline <strong class=\"purple\">must</strong> have been declared with the <code>Xfb</code> execution mode" }, { "vuid": "VUID-vkCmdBeginTransformFeedbackEXT-commandBuffer-parameter", @@ -37321,6 +37329,10 @@ "text": " The sum of <code>query</code> plus <code>accelerationStructureCount</code> <strong class=\"purple\">must</strong> be less than or equal to the number of queries in <code>queryPool</code>" }, { + "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-04964", + "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command" + }, + { "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-accelerationStructures-03431", "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>" }, @@ -37381,6 +37393,10 @@ "text": " <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object via <a href=\"#vkBindAccelerationStructureMemoryNV\">vkBindAccelerationStructureMemoryNV</a>" }, { + "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-04958", + "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command" + }, + { "vuid": "VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructures-03431", "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV</code>" }, @@ -37433,6 +37449,10 @@ "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code> or <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR</code>" }, { + "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-04963", + "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command" + }, + { "vuid": "VUID-vkCmdCopyAccelerationStructureNV-src-03411", "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code>" }, @@ -37517,6 +37537,10 @@ "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code> or <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR</code>" }, { + "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-04963", + "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command" + }, + { "vuid": "VUID-VkCopyAccelerationStructureInfoKHR-src-03411", "text": " If <code>mode</code> is <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR</code>, <code>src</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code>" }, @@ -37597,6 +37621,10 @@ "VkCopyAccelerationStructureToMemoryInfoKHR": { "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [ { + "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-src-04959", + "text": " The source acceleration structure <code>src</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command" + }, + { "vuid": "VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561", "text": " The memory pointed to by <code>dst</code> <strong class=\"purple\">must</strong> be at least as large as the serialization size of <code>src</code>, as reported by <a href=\"#vkWriteAccelerationStructuresPropertiesKHR\">vkWriteAccelerationStructuresPropertiesKHR</a> or <a href=\"#vkCmdWriteAccelerationStructuresPropertiesKHR\">vkCmdWriteAccelerationStructuresPropertiesKHR</a> with a query type of <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR</code>" }, @@ -37665,6 +37693,10 @@ "VkCopyMemoryToAccelerationStructureInfoKHR": { "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [ { + "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-src-04960", + "text": " The source memory pointed to by <code>src</code> <strong class=\"purple\">must</strong> contain data previously serialized using <a href=\"#vkCmdCopyAccelerationStructureToMemoryKHR\">vkCmdCopyAccelerationStructureToMemoryKHR</a>, potentially modified to relocate acceleration structure references as described in that command" + }, + { "vuid": "VUID-VkCopyMemoryToAccelerationStructureInfoKHR-mode-03413", "text": " <code>mode</code> <strong class=\"purple\">must</strong> be <code>VK_COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR</code>" }, @@ -38127,6 +38159,10 @@ "vkWriteAccelerationStructuresPropertiesKHR": { "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [ { + "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-04964", + "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built prior to the execution of this command" + }, + { "vuid": "VUID-vkWriteAccelerationStructuresPropertiesKHR-accelerationStructures-03431", "text": " All acceleration structures in <code>pAccelerationStructures</code> <strong class=\"purple\">must</strong> have been built with <code>VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR</code> if <code>queryType</code> is <code>VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR</code>" }, @@ -42969,6 +43005,10 @@ "text": " <code>OpTypeImage</code> <strong class=\"purple\">must</strong> have a “Sampled” operand of 1 (sampled image) or 2 (storage image)" }, { + "vuid": "VUID-StandaloneSpirv-Image-04965", + "text": " The converted bit width, signedness, and numeric type of the <code>Image</code> <code>Format</code> operand of an <code>OpTypeImage</code> <strong class=\"purple\">must</strong> match the <code>Sampled</code> <code>Type</code>, as defined in <a href=\"#spirvenv-format-type-matching\">Image Format and Type Matching</a>." + }, + { "vuid": "VUID-StandaloneSpirv-OpImageTexelPointer-04658", "text": " If an <code>OpImageTexelPointer</code> is used in an atomic operation, the image type of the <code>image</code> parameter to <code>OpImageTexelPointer</code> <strong class=\"purple\">must</strong> have an image format of <code>R64i</code>, <code>R64ui</code>, <code>R32f</code>, <code>R32i</code>, or <code>R32ui</code>" }, @@ -43082,7 +43122,7 @@ }, { "vuid": "VUID-StandaloneSpirv-ViewportMaskNV-04674", - "text": " The <code>ViewportMaskNV</code> and <code>ViewportIndex</code> decorations <strong class=\"purple\">must</strong> not both be statically used by one or more <code>OpEntryPoint</code>’s that form the vertex processing stages of a graphics pipeline" + "text": " The <code>ViewportMaskNV</code> and <code>ViewportIndex</code> decorations <strong class=\"purple\">must</strong> not both be statically used by one or more <code>OpEntryPoint</code>’s that form the <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader stages</a> of a graphics pipeline" }, { "vuid": "VUID-StandaloneSpirv-FPRoundingMode-04675", diff --git a/registry/vk.xml b/registry/vk.xml index ddfcd62..e4b82ea 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -75,7 +75,7 @@ branch of the member gitlab server. </tags> <types comment="Vulkan type definitions"> - <type name="vk_platform" category="include">#include "vk_platform.h"</type> + <type name="vk_platform" category="include">#include "vulkan/vk_platform.h"</type> <comment>WSI extensions</comment> @@ -155,7 +155,7 @@ branch of the member gitlab server. <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.2 version number #define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, 0)// Patch version should always be set to 0</type> <type category="define">// Version of this file -#define <name>VK_HEADER_VERSION</name> 182</type> +#define <name>VK_HEADER_VERSION</name> 183</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, 2, VK_HEADER_VERSION)</type> @@ -2682,7 +2682,7 @@ typedef void <name>CAMetalLayer</name>; <type category="struct" name="VkDeviceGroupBindSparseInfoKHR" alias="VkDeviceGroupBindSparseInfo"/> <type category="struct" name="VkDeviceGroupPresentCapabilitiesKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>uint32_t</type> <name>presentMask</name>[<enum>VK_MAX_DEVICE_GROUP_SIZE</enum>]</member> <member><type>VkDeviceGroupPresentModeFlagsKHR</type> <name>modes</name></member> </type> @@ -3325,7 +3325,7 @@ typedef void <name>CAMetalLayer</name>; <member optional="true">const <type>void</type>* <name>pNext</name></member> <member><type>VkQueueGlobalPriorityEXT</type> <name>globalPriority</name></member> </type> - <type category="struct" name="VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT" structextends="VkPhysicalDeviceFeatures2"> + <type category="struct" name="VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member> <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>globalPriorityQuery</name></member> @@ -3395,7 +3395,7 @@ typedef void <name>CAMetalLayer</name>; </type> <type category="struct" name="VkDeviceMemoryReportCallbackDataEXT" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkDeviceMemoryReportFlagsEXT</type> <name>flags</name></member> <member><type>VkDeviceMemoryReportEventTypeEXT</type> <name>type</name></member> <member><type>uint64_t</type> <name>memoryObjectId</name></member> @@ -4443,7 +4443,7 @@ typedef void <name>CAMetalLayer</name>; </type> <type category="struct" name="VkPerformanceCounterKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member><type>VkPerformanceCounterUnitKHR</type> <name>unit</name></member> <member><type>VkPerformanceCounterScopeKHR</type> <name>scope</name></member> <member><type>VkPerformanceCounterStorageKHR</type> <name>storage</name></member> @@ -4451,7 +4451,7 @@ typedef void <name>CAMetalLayer</name>; </type> <type category="struct" name="VkPerformanceCounterDescriptionKHR" returnedonly="true"> <member values="VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member optional="true"><type>void</type>* <name>pNext</name></member> <member optional="true"><type>VkPerformanceCounterDescriptionFlagsKHR</type> <name>flags</name></member> <member><type>char</type> <name>name</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member> <member><type>char</type> <name>category</name>[<enum>VK_MAX_DESCRIPTION_SIZE</enum>]</member> @@ -4689,7 +4689,7 @@ typedef void <name>CAMetalLayer</name>; <member><type>uint32_t</type> <name>requiredSubgroupSize</name></member> </type> <type category="struct" name="VkSubpassShadingPipelineCreateInfoHUAWEI" returnedonly="true" structextends="VkComputePipelineCreateInfo"> - <member values="VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"><type>VkStructureType</type> <name>sType</name></member> + <member values="VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"><type>VkStructureType</type> <name>sType</name></member> <member><type>void</type>* <name>pNext</name></member> <member><type>VkRenderPass</type> <name>renderPass</name></member> <member><type>uint32_t</type> <name>subpass</name></member> @@ -5494,7 +5494,7 @@ typedef void <name>CAMetalLayer</name>; </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>const <type>void</type>* <name>pNext</name></member> + <member><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> @@ -5927,9 +5927,9 @@ typedef void <name>CAMetalLayer</name>; <member><type>uint32_t</type> <name>blockDimZ</name></member> <member><type>uint32_t</type> <name>sharedMemBytes</name></member> <member><type>size_t</type> <name>paramCount</name></member> - <member>const <type>void</type>* const * <name>pParams</name></member> + <member len="paramCount">const <type>void</type>* const * <name>pParams</name></member> <member><type>size_t</type> <name>extraCount</name></member> - <member>const <type>void</type>* const * <name>pExtras</name></member> + <member len="extraCount">const <type>void</type>* const * <name>pExtras</name></member> </type> <type category="struct" name="VkPhysicalDeviceDrmPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member> @@ -5941,9 +5941,9 @@ typedef void <name>CAMetalLayer</name>; <member><type>int64_t</type> <name>renderMajor</name></member> <member><type>int64_t</type> <name>renderMinor</name></member> </type> - <type category="struct" name="VkPhysicalDeviceRayTracingMotionBlurFeaturesNV" structextends="VkPhysicalDeviceProperties2,VkDeviceCreateInfo"> + <type category="struct" name="VkPhysicalDeviceRayTracingMotionBlurFeaturesNV" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV"><type>VkStructureType</type> <name>sType</name></member> - <member optional="true">const <type>void</type>* <name>pNext</name></member> + <member noautovalidity="true"><type>void</type>* <name>pNext</name></member> <member><type>VkBool32</type> <name>rayTracingMotionBlur</name></member> <member><type>VkBool32</type> <name>rayTracingMotionBlurPipelineTraceRaysIndirect</name></member> </type> @@ -8210,6 +8210,9 @@ typedef void <name>CAMetalLayer</name>; <proto><type>VkResult</type> <name>vkResetCommandBuffer</name></proto> <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param> <param optional="true"><type>VkCommandBufferResetFlags</type> <name>flags</name></param> + <implicitexternsyncparams> + <param>the sname:VkCommandPool that pname:commandBuffer was allocated from</param> + </implicitexternsyncparams> </command> <command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary"> <proto><type>void</type> <name>vkCmdBindPipeline</name></proto> @@ -16213,7 +16216,7 @@ typedef void <name>CAMetalLayer</name>; <require> <enum value="0" name="VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION"/> <enum value=""VK_HUAWEI_subpass_shading"" name="VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME"/> - <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"/> + <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"/> <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI"/> <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI"/> <enum offset="3" extends="VkPipelineBindPoint" extnumber="370" name="VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI"/> @@ -16548,6 +16551,18 @@ typedef void <name>CAMetalLayer</name>; <enum value=""VK_ARM_extension_416"" name="VK_ARM_EXTENSION_416_EXTENSION_NAME"/> </require> </extension> + <extension name="VK_KHR_extension_417" number="417" author="KHR" contact="Kevin Petit @kevinpetit" supported="disabled"> + <require> + <enum value="0" name="VK_ARM_EXTENSION_417_SPEC_VERSION"/> + <enum value=""VK_ARM_extension_417"" name="VK_ARM_EXTENSION_417_EXTENSION_NAME"/> + </require> + </extension> + <extension name="VK_ARM_extension_418" number="418" author="ARM" contact="Kevin Petit @kevinpetit" supported="disabled"> + <require> + <enum value="0" name="VK_ARM_EXTENSION_418_SPEC_VERSION"/> + <enum value=""VK_ARM_extension_418"" name="VK_ARM_EXTENSION_418_EXTENSION_NAME"/> + </require> + </extension> </extensions> <spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it"> <spirvextension name="SPV_KHR_variable_pointers"> @@ -16720,6 +16735,9 @@ typedef void <name>CAMetalLayer</name>; <spirvextension name="SPV_EXT_shader_atomic_float_add"> <enable extension="VK_EXT_shader_atomic_float"/> </spirvextension> + <spirvextension name="SPV_KHR_subgroup_uniform_control_flow"> + <enable extension="VK_KHR_shader_subgroup_uniform_control_flow"/> + </spirvextension> </spirvextensions> <spirvcapabilities comment="SPIR-V Capabilities allowed in Vulkan and what is required to use it"> <spirvcapability name="Matrix"> |