From a15237165443ba1ef430ed332745f9a99ec509ad Mon Sep 17 00:00:00 2001 From: Jon Leech <4693344+oddhack@users.noreply.github.com> Date: Tue, 23 Nov 2021 08:05:57 -0800 Subject: Update for Vulkan-Docs 1.2.200 --- include/vulkan/vulkan.hpp | 243 ++++++++------------------------- include/vulkan/vulkan_core.h | 57 +++++++- include/vulkan/vulkan_enums.hpp | 267 +++++++++++++++++++++++++++--------- include/vulkan/vulkan_funcs.hpp | 91 ------------- include/vulkan/vulkan_handles.hpp | 25 +--- include/vulkan/vulkan_raii.hpp | 268 +++++++++++++++++++++++++++++++++++- include/vulkan/vulkan_structs.hpp | 280 ++++++++++++++++++++++++++++++++++++++ registry/generator.py | 3 + registry/reg.py | 1 - registry/validusage.json | 186 +++++++++++++++---------- registry/vk.xml | 97 +++++++++---- 11 files changed, 1057 insertions(+), 461 deletions(-) diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 080985b..0eec337 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -119,7 +119,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 199, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 200, "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 @@ -308,88 +308,26 @@ namespace VULKAN_HPP_NAMESPACE # pragma GCC diagnostic pop # endif - template - ArrayProxy( std::array const & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) + // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly + // convertible to size_t. The const version can capture temporaries, with lifetime ending at end of statement. + template ().data() ), T *>::value && + std::is_convertible().size() ), std::size_t>::value>::type * = nullptr> + ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT + : m_count( static_cast( v.size() ) ) + , m_ptr( v.data() ) {} - template ::value, int>::type = 0> - ArrayProxy( std::array::type, N> const & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) + template ().data() ), T *>::value && + std::is_convertible().size() ), std::size_t>::value>::type * = nullptr> + ArrayProxy( V & v ) VULKAN_HPP_NOEXCEPT + : m_count( static_cast( v.size() ) ) + , m_ptr( v.data() ) {} - template - ArrayProxy( std::array & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) - {} - - template ::value, int>::type = 0> - ArrayProxy( std::array::type, N> & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) - {} - - template ::type>> - ArrayProxy( std::vector const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>, - typename B = T, - typename std::enable_if::value, int>::type = 0> - ArrayProxy( std::vector::type, Allocator> const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>> - ArrayProxy( std::vector & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>, - typename B = T, - typename std::enable_if::value, int>::type = 0> - ArrayProxy( std::vector::type, Allocator> & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - -# if defined( VULKAN_HPP_SUPPORT_SPAN ) - template - ArrayProxy( std::span const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::value, int>::type = 0> - ArrayProxy( std::span::type, N> const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template - ArrayProxy( std::span & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::value, int>::type = 0> - ArrayProxy( std::span::type, N> & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} -# endif - const T * begin() const VULKAN_HPP_NOEXCEPT { return m_ptr; @@ -451,7 +389,8 @@ namespace VULKAN_HPP_NAMESPACE , m_ptr( &value ) {} - ArrayProxyNoTemporaries( T && value ) = delete; + template + ArrayProxyNoTemporaries( V && value ) = delete; template ::value, int>::type = 0> ArrayProxyNoTemporaries( typename std::remove_const::type & value ) VULKAN_HPP_NOEXCEPT @@ -506,117 +445,17 @@ namespace VULKAN_HPP_NAMESPACE template ::value, int>::type = 0> ArrayProxyNoTemporaries( std::initializer_list::type> && list ) = delete; - template - ArrayProxyNoTemporaries( std::array const & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) - {} - - template - ArrayProxyNoTemporaries( std::array const && data ) = delete; - - template ::value, int>::type = 0> - ArrayProxyNoTemporaries( std::array::type, N> const & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) + // Any type with a .data() return type implicitly convertible to T*, and a // .size() return type implicitly + // convertible to size_t. + template ().data() ), T *>::value && + std::is_convertible().size() ), std::size_t>::value>::type * = nullptr> + ArrayProxyNoTemporaries( V & v ) VULKAN_HPP_NOEXCEPT + : m_count( static_cast( v.size() ) ) + , m_ptr( v.data() ) {} - template ::value, int>::type = 0> - ArrayProxyNoTemporaries( std::array::type, N> const && data ) = delete; - - template - ArrayProxyNoTemporaries( std::array & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) - {} - - template - ArrayProxyNoTemporaries( std::array && data ) = delete; - - template ::value, int>::type = 0> - ArrayProxyNoTemporaries( std::array::type, N> & data ) VULKAN_HPP_NOEXCEPT - : m_count( N ) - , m_ptr( data.data() ) - {} - - template ::value, int>::type = 0> - ArrayProxyNoTemporaries( std::array::type, N> && data ) = delete; - - template ::type>> - ArrayProxyNoTemporaries( std::vector const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>> - ArrayProxyNoTemporaries( std::vector const && data ) = delete; - - template ::type>, - typename B = T, - typename std::enable_if::value, int>::type = 0> - ArrayProxyNoTemporaries( std::vector::type, Allocator> const & data ) - VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>, - typename B = T, - typename std::enable_if::value, int>::type = 0> - ArrayProxyNoTemporaries( std::vector::type, Allocator> const && data ) = delete; - - template ::type>> - ArrayProxyNoTemporaries( std::vector & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>> - ArrayProxyNoTemporaries( std::vector && data ) = delete; - - template ::type>, - typename B = T, - typename std::enable_if::value, int>::type = 0> - ArrayProxyNoTemporaries( std::vector::type, Allocator> & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::type>, - typename B = T, - typename std::enable_if::value, int>::type = 0> - ArrayProxyNoTemporaries( std::vector::type, Allocator> && data ) = delete; - -# if defined( VULKAN_HPP_SUPPORT_SPAN ) - template - ArrayProxyNoTemporaries( std::span const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::value, int>::type = 0> - ArrayProxyNoTemporaries( std::span::type, N> const & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template - ArrayProxyNoTemporaries( std::span & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} - - template ::value, int>::type = 0> - ArrayProxyNoTemporaries( std::span::type, N> & data ) VULKAN_HPP_NOEXCEPT - : m_count( static_cast( data.size() ) ) - , m_ptr( data.data() ) - {} -# endif - const T * begin() const VULKAN_HPP_NOEXCEPT { return m_ptr; @@ -10759,6 +10598,32 @@ namespace VULKAN_HPP_NAMESPACE }; }; + //=== VK_EXT_depth_clip_control === + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + template <> + struct StructExtends + { + enum + { + value = true + }; + }; + //=== VK_EXT_primitive_topology_list_restart === template <> struct StructExtends diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 6f7b871..c97eba0 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -72,7 +72,7 @@ extern "C" { #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 199 +#define VK_HEADER_VERSION 200 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) @@ -860,6 +860,7 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = 1000337009, VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = 1000337010, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = 1000342000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, @@ -868,6 +869,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = 1000360000, VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000, @@ -2216,8 +2219,8 @@ typedef enum VkPipelineCreateFlagBits { VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004, VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = 0x00000008, VK_PIPELINE_CREATE_DISPATCH_BASE_BIT = 0x00000010, - VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, - VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000, + VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000, VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000, VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000, VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000, @@ -2234,6 +2237,8 @@ typedef enum VkPipelineCreateFlagBits { VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT = 0x00000200, VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, VK_PIPELINE_CREATE_DISPATCH_BASE_KHR = VK_PIPELINE_CREATE_DISPATCH_BASE, VK_PIPELINE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF @@ -2288,7 +2293,18 @@ typedef VkFlags VkPipelineTessellationStateCreateFlags; typedef VkFlags VkPipelineViewportStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineMultisampleStateCreateFlags; + +typedef enum VkPipelineDepthStencilStateCreateFlagBits { + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000001, + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000002, + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineDepthStencilStateCreateFlagBits; typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + +typedef enum VkPipelineColorBlendStateCreateFlagBits { + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM = 0x00000001, + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF +} VkPipelineColorBlendStateCreateFlagBits; typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; @@ -2354,6 +2370,9 @@ typedef enum VkSubpassDescriptionFlagBits { VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = 0x00000002, VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM = 0x00000004, VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM = 0x00000008, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = 0x00000010, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = 0x00000020, + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM = 0x00000040, VK_SUBPASS_DESCRIPTION_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF } VkSubpassDescriptionFlagBits; typedef VkFlags VkSubpassDescriptionFlags; @@ -8646,7 +8665,7 @@ typedef struct VkFormatProperties3KHR { #define VK_KHR_maintenance4 1 -#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 1 +#define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" typedef struct VkPhysicalDeviceMaintenance4FeaturesKHR { VkStructureType sType; @@ -12719,6 +12738,19 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT { +#define VK_ARM_rasterization_order_attachment_access 1 +#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 +#define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" +typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM { + VkStructureType sType; + const void* pNext; + VkBool32 rasterizationOrderColorAttachmentAccess; + VkBool32 rasterizationOrderDepthAttachmentAccess; + VkBool32 rasterizationOrderStencilAttachmentAccess; +} VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + + + #define VK_EXT_rgba10x6_formats 1 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" @@ -12826,6 +12858,23 @@ typedef struct VkPhysicalDeviceDrmPropertiesEXT { +#define VK_EXT_depth_clip_control 1 +#define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 +#define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" +typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { + VkStructureType sType; + void* pNext; + VkBool32 depthClipControl; +} VkPhysicalDeviceDepthClipControlFeaturesEXT; + +typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT { + VkStructureType sType; + const void* pNext; + VkBool32 negativeOneToOne; +} VkPipelineViewportDepthClipControlCreateInfoEXT; + + + #define VK_EXT_primitive_topology_list_restart 1 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 3f42e40..fd03f6a 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -818,18 +818,20 @@ namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceImageRobustnessFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT, ePhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR, - eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR, - eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR, - eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR, - eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR, - eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR, - eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR, - eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR, - eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR, - eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR, - eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR, - eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR, - ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, + eCopyBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR, + eCopyImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR, + eCopyBufferToImageInfo2KHR = VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR, + eCopyImageToBufferInfo2KHR = VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR, + eBlitImageInfo2KHR = VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR, + eResolveImageInfo2KHR = VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR, + eBufferCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_COPY_2_KHR, + eImageCopy2KHR = VK_STRUCTURE_TYPE_IMAGE_COPY_2_KHR, + eImageBlit2KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR, + eBufferImageCopy2KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR, + eImageResolve2KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR, + ePhysicalDevice4444FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, + ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM, ePhysicalDeviceRgba10X6FormatsFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) eDirectfbSurfaceCreateInfoEXT = VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT, @@ -839,9 +841,12 @@ namespace VULKAN_HPP_NAMESPACE eMutableDescriptorTypeCreateInfoVALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE, ePhysicalDeviceVertexInputDynamicStateFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT, - eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT, - eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT, - ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, + eVertexInputBindingDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT, + eVertexInputAttributeDescription2EXT = VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT, + ePhysicalDeviceDrmPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, + ePhysicalDeviceDepthClipControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, + ePipelineViewportDepthClipControlCreateInfoEXT = + VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT, ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT, eFormatProperties3KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR, @@ -1786,6 +1791,8 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::eBufferImageCopy2KHR: return "BufferImageCopy2KHR"; case StructureType::eImageResolve2KHR: return "ImageResolve2KHR"; case StructureType::ePhysicalDevice4444FormatsFeaturesEXT: return "PhysicalDevice4444FormatsFeaturesEXT"; + case StructureType::ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM: + return "PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM"; case StructureType::ePhysicalDeviceRgba10X6FormatsFeaturesEXT: return "PhysicalDeviceRgba10X6FormatsFeaturesEXT"; #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) case StructureType::eDirectfbSurfaceCreateInfoEXT: return "DirectfbSurfaceCreateInfoEXT"; @@ -1798,6 +1805,10 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::eVertexInputBindingDescription2EXT: return "VertexInputBindingDescription2EXT"; case StructureType::eVertexInputAttributeDescription2EXT: return "VertexInputAttributeDescription2EXT"; case StructureType::ePhysicalDeviceDrmPropertiesEXT: return "PhysicalDeviceDrmPropertiesEXT"; + case StructureType::ePhysicalDeviceDepthClipControlFeaturesEXT: + return "PhysicalDeviceDepthClipControlFeaturesEXT"; + case StructureType::ePipelineViewportDepthClipControlCreateInfoEXT: + return "PipelineViewportDepthClipControlCreateInfoEXT"; case StructureType::ePhysicalDevicePrimitiveTopologyListRestartFeaturesEXT: return "PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT"; case StructureType::eFormatProperties3KHR: return "FormatProperties3KHR"; @@ -3919,21 +3930,19 @@ namespace VULKAN_HPP_NAMESPACE enum class PipelineCreateFlagBits : VkPipelineCreateFlags { - eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, - eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, - eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT, - eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, - eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, - eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = - VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, - eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = - VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, - eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, - eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, - eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, - eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, - eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, - eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, + eDisableOptimization = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT, + eAllowDerivatives = VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT, + eDerivative = VK_PIPELINE_CREATE_DERIVATIVE_BIT, + eViewIndexFromDeviceIndex = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, + eDispatchBase = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, + eRenderingFragmentShadingRateAttachmentKHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, + eRenderingFragmentDensityMapAttachmentEXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, + eRayTracingNoNullAnyHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, + eRayTracingNoNullClosestHitShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, + eRayTracingNoNullMissShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, + eRayTracingNoNullIntersectionShadersKHR = VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR, + eRayTracingSkipTrianglesKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, + eRayTracingSkipAabbsKHR = VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR, eRayTracingShaderGroupHandleCaptureReplayKHR = VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR, eDeferCompileNV = VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV, @@ -3945,7 +3954,11 @@ namespace VULKAN_HPP_NAMESPACE eEarlyReturnOnFailureEXT = VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT, eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV, eDispatchBaseKHR = VK_PIPELINE_CREATE_DISPATCH_BASE_KHR, - eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR + eViewIndexFromDeviceIndexKHR = VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR, + eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT = + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, + eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR = + VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR }; VULKAN_HPP_INLINE std::string to_string( PipelineCreateFlagBits value ) @@ -3957,10 +3970,10 @@ namespace VULKAN_HPP_NAMESPACE case PipelineCreateFlagBits::eDerivative: return "Derivative"; case PipelineCreateFlagBits::eViewIndexFromDeviceIndex: return "ViewIndexFromDeviceIndex"; case PipelineCreateFlagBits::eDispatchBase: return "DispatchBase"; - case PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR: - return "VkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR"; - case PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT: - return "VkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT"; + case PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR: + return "RenderingFragmentShadingRateAttachmentKHR"; + case PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT: + return "RenderingFragmentDensityMapAttachmentEXT"; case PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR: return "RayTracingNoNullAnyHitShadersKHR"; case PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR: return "RayTracingNoNullClosestHitShadersKHR"; case PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR: return "RayTracingNoNullMissShadersKHR"; @@ -4148,24 +4161,6 @@ namespace VULKAN_HPP_NAMESPACE } } - enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags - { - }; - - VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlagBits ) - { - return "(void)"; - } - - enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags - { - }; - - VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlagBits ) - { - return "(void)"; - } - enum class PipelineDynamicStateCreateFlagBits : VkPipelineDynamicStateCreateFlags { }; @@ -4631,7 +4626,13 @@ namespace VULKAN_HPP_NAMESPACE ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX, ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM, - eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM + eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM, + eRasterizationOrderAttachmentColorAccessARM = + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM, + eRasterizationOrderAttachmentDepthAccessARM = + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, + eRasterizationOrderAttachmentStencilAccessARM = + VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM }; VULKAN_HPP_INLINE std::string to_string( SubpassDescriptionFlagBits value ) @@ -4642,6 +4643,12 @@ namespace VULKAN_HPP_NAMESPACE case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX: return "PerViewPositionXOnlyNVX"; case SubpassDescriptionFlagBits::eFragmentRegionQCOM: return "FragmentRegionQCOM"; case SubpassDescriptionFlagBits::eShaderResolveQCOM: return "ShaderResolveQCOM"; + case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessARM: + return "RasterizationOrderAttachmentColorAccessARM"; + case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessARM: + return "RasterizationOrderAttachmentDepthAccessARM"; + case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessARM: + return "RasterizationOrderAttachmentStencilAccessARM"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast( value ) ) + " )"; } } @@ -8038,6 +8045,44 @@ namespace VULKAN_HPP_NAMESPACE return "(void)"; } + //=== VK_ARM_rasterization_order_attachment_access === + + enum class PipelineColorBlendStateCreateFlagBits : VkPipelineColorBlendStateCreateFlags + { + eRasterizationOrderAttachmentAccessARM = + VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM + }; + + VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlagBits value ) + { + switch ( value ) + { + case PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessARM: + return "RasterizationOrderAttachmentAccessARM"; + default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast( value ) ) + " )"; + } + } + + enum class PipelineDepthStencilStateCreateFlagBits : VkPipelineDepthStencilStateCreateFlags + { + eRasterizationOrderAttachmentDepthAccessARM = + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, + eRasterizationOrderAttachmentStencilAccessARM = + VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM + }; + + VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlagBits value ) + { + switch ( value ) + { + case PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessARM: + return "RasterizationOrderAttachmentDepthAccessARM"; + case PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessARM: + return "RasterizationOrderAttachmentStencilAccessARM"; + default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast( value ) ) + " )"; + } + } + #if defined( VK_USE_PLATFORM_DIRECTFB_EXT ) //=== VK_EXT_directfb_surface === @@ -9815,9 +9860,49 @@ namespace VULKAN_HPP_NAMESPACE using PipelineColorBlendStateCreateFlags = Flags; - VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlags ) + template <> + struct FlagTraits { - return "{}"; + enum : VkFlags + { + allFlags = VkFlags( PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessARM ) + }; + }; + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator|( + PipelineColorBlendStateCreateFlagBits bit0, PipelineColorBlendStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + { + return PipelineColorBlendStateCreateFlags( bit0 ) | bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator&( + PipelineColorBlendStateCreateFlagBits bit0, PipelineColorBlendStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + { + return PipelineColorBlendStateCreateFlags( bit0 ) & bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags operator^( + PipelineColorBlendStateCreateFlagBits bit0, PipelineColorBlendStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + { + return PipelineColorBlendStateCreateFlags( bit0 ) ^ bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineColorBlendStateCreateFlags + operator~( PipelineColorBlendStateCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT + { + return ~( PipelineColorBlendStateCreateFlags( bits ) ); + } + + VULKAN_HPP_INLINE std::string to_string( PipelineColorBlendStateCreateFlags value ) + { + if ( !value ) + return "{}"; + + std::string result; + if ( value & PipelineColorBlendStateCreateFlagBits::eRasterizationOrderAttachmentAccessARM ) + result += "RasterizationOrderAttachmentAccessARM | "; + + return "{ " + result.substr( 0, result.size() - 3 ) + " }"; } using PipelineCreateFlags = Flags; @@ -9831,8 +9916,8 @@ namespace VULKAN_HPP_NAMESPACE VkFlags( PipelineCreateFlagBits::eDisableOptimization ) | VkFlags( PipelineCreateFlagBits::eAllowDerivatives ) | VkFlags( PipelineCreateFlagBits::eDerivative ) | VkFlags( PipelineCreateFlagBits::eViewIndexFromDeviceIndex ) | VkFlags( PipelineCreateFlagBits::eDispatchBase ) | - VkFlags( PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR ) | - VkFlags( PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT ) | + VkFlags( PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR ) | + VkFlags( PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT ) | VkFlags( PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) | VkFlags( PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) | VkFlags( PipelineCreateFlagBits::eRayTracingNoNullMissShadersKHR ) | @@ -9889,10 +9974,10 @@ namespace VULKAN_HPP_NAMESPACE result += "ViewIndexFromDeviceIndex | "; if ( value & PipelineCreateFlagBits::eDispatchBase ) result += "DispatchBase | "; - if ( value & PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR ) - result += "VkPipelineRasterizationStateCreateFragmentShadingRateAttachmentKHR | "; - if ( value & PipelineCreateFlagBits::eVkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT ) - result += "VkPipelineRasterizationStateCreateFragmentDensityMapAttachmentEXT | "; + if ( value & PipelineCreateFlagBits::eRenderingFragmentShadingRateAttachmentKHR ) + result += "RenderingFragmentShadingRateAttachmentKHR | "; + if ( value & PipelineCreateFlagBits::eRenderingFragmentDensityMapAttachmentEXT ) + result += "RenderingFragmentDensityMapAttachmentEXT | "; if ( value & PipelineCreateFlagBits::eRayTracingNoNullAnyHitShadersKHR ) result += "RayTracingNoNullAnyHitShadersKHR | "; if ( value & PipelineCreateFlagBits::eRayTracingNoNullClosestHitShadersKHR ) @@ -9929,9 +10014,52 @@ namespace VULKAN_HPP_NAMESPACE using PipelineDepthStencilStateCreateFlags = Flags; - VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlags ) + template <> + struct FlagTraits { - return "{}"; + enum : VkFlags + { + allFlags = VkFlags( PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessARM ) | + VkFlags( PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessARM ) + }; + }; + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator|( + PipelineDepthStencilStateCreateFlagBits bit0, PipelineDepthStencilStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + { + return PipelineDepthStencilStateCreateFlags( bit0 ) | bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator&( + PipelineDepthStencilStateCreateFlagBits bit0, PipelineDepthStencilStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + { + return PipelineDepthStencilStateCreateFlags( bit0 ) & bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags operator^( + PipelineDepthStencilStateCreateFlagBits bit0, PipelineDepthStencilStateCreateFlagBits bit1 ) VULKAN_HPP_NOEXCEPT + { + return PipelineDepthStencilStateCreateFlags( bit0 ) ^ bit1; + } + + VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR PipelineDepthStencilStateCreateFlags + operator~( PipelineDepthStencilStateCreateFlagBits bits ) VULKAN_HPP_NOEXCEPT + { + return ~( PipelineDepthStencilStateCreateFlags( bits ) ); + } + + VULKAN_HPP_INLINE std::string to_string( PipelineDepthStencilStateCreateFlags value ) + { + if ( !value ) + return "{}"; + + std::string result; + if ( value & PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentDepthAccessARM ) + result += "RasterizationOrderAttachmentDepthAccessARM | "; + if ( value & PipelineDepthStencilStateCreateFlagBits::eRasterizationOrderAttachmentStencilAccessARM ) + result += "RasterizationOrderAttachmentStencilAccessARM | "; + + return "{ " + result.substr( 0, result.size() - 3 ) + " }"; } using PipelineDynamicStateCreateFlags = Flags; @@ -10605,7 +10733,10 @@ namespace VULKAN_HPP_NAMESPACE allFlags = VkFlags( SubpassDescriptionFlagBits::ePerViewAttributesNVX ) | VkFlags( SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX ) | VkFlags( SubpassDescriptionFlagBits::eFragmentRegionQCOM ) | - VkFlags( SubpassDescriptionFlagBits::eShaderResolveQCOM ) + VkFlags( SubpassDescriptionFlagBits::eShaderResolveQCOM ) | + VkFlags( SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessARM ) | + VkFlags( SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessARM ) | + VkFlags( SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessARM ) }; }; @@ -10647,6 +10778,12 @@ namespace VULKAN_HPP_NAMESPACE result += "FragmentRegionQCOM | "; if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM ) result += "ShaderResolveQCOM | "; + if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessARM ) + result += "RasterizationOrderAttachmentColorAccessARM | "; + if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessARM ) + result += "RasterizationOrderAttachmentDepthAccessARM | "; + if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessARM ) + result += "RasterizationOrderAttachmentStencilAccessARM | "; return "{ " + result.substr( 0, result.size() - 3 ) + " }"; } diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp index 7606580..a3d1293 100644 --- a/include/vulkan/vulkan_funcs.hpp +++ b/include/vulkan/vulkan_funcs.hpp @@ -12309,97 +12309,6 @@ namespace VULKAN_HPP_NAMESPACE } #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template - VULKAN_HPP_DEPRECATED( "This function is deprecated. Use one of the other flavours of it." ) - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE - typename ResultValueType>::type - PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( - uint32_t queueFamilyIndex, - ArrayProxy const & counters, - Dispatch const & d ) const - { - VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); - std::vector counterDescriptions; - uint32_t counterCount; - Result result; - do - { - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( - m_physicalDevice, - queueFamilyIndex, - counters.size(), - reinterpret_cast( counters.data() ), - nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) - { - counterDescriptions.resize( counterCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( - m_physicalDevice, - queueFamilyIndex, - counters.size(), - reinterpret_cast( counters.data() ), - reinterpret_cast( counterDescriptions.data() ) ) ); - } - } while ( result == Result::eIncomplete ); - if ( result == Result::eSuccess ) - { - VULKAN_HPP_ASSERT( counterCount <= counterDescriptions.size() ); - counterDescriptions.resize( counterCount ); - } - return createResultValue( result, - counterDescriptions, - VULKAN_HPP_NAMESPACE_STRING - "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); - } - - template < - typename Allocator, - typename Dispatch, - typename B, - typename std::enable_if::value, int>::type> - VULKAN_HPP_DEPRECATED( "This function is deprecated. Use one of the other flavours of it." ) - VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE - typename ResultValueType>::type - PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( - uint32_t queueFamilyIndex, - ArrayProxy const & counters, - Allocator const & vectorAllocator, - Dispatch const & d ) const - { - VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); - std::vector counterDescriptions( vectorAllocator ); - uint32_t counterCount; - Result result; - do - { - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( - m_physicalDevice, - queueFamilyIndex, - counters.size(), - reinterpret_cast( counters.data() ), - nullptr ) ); - if ( ( result == Result::eSuccess ) && counterCount ) - { - counterDescriptions.resize( counterCount ); - result = static_cast( d.vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( - m_physicalDevice, - queueFamilyIndex, - counters.size(), - reinterpret_cast( counters.data() ), - reinterpret_cast( counterDescriptions.data() ) ) ); - } - } while ( result == Result::eIncomplete ); - if ( result == Result::eSuccess ) - { - VULKAN_HPP_ASSERT( counterCount <= counterDescriptions.size() ); - counterDescriptions.resize( counterCount ); - } - return createResultValue( result, - counterDescriptions, - VULKAN_HPP_NAMESPACE_STRING - "::PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR" ); - } - template diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index d922a3f..636f7ad 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -1179,6 +1179,9 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_4444_formats === struct PhysicalDevice4444FormatsFeaturesEXT; + //=== VK_ARM_rasterization_order_attachment_access === + struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + //=== VK_EXT_rgba10x6_formats === struct PhysicalDeviceRGBA10X6FormatsFeaturesEXT; @@ -1212,6 +1215,10 @@ namespace VULKAN_HPP_NAMESPACE //=== VK_EXT_physical_device_drm === struct PhysicalDeviceDrmPropertiesEXT; + //=== VK_EXT_depth_clip_control === + struct PhysicalDeviceDepthClipControlFeaturesEXT; + struct PipelineViewportDepthClipControlCreateInfoEXT; + //=== VK_EXT_primitive_topology_list_restart === struct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT; @@ -13149,24 +13156,6 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::PerformanceCounterDescriptionKHR * pCounterDescriptions, Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE - template , - typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> - VULKAN_HPP_NODISCARD typename ResultValueType>::type - enumerateQueueFamilyPerformanceQueryCountersKHR( - uint32_t queueFamilyIndex, - ArrayProxy const & counters, - Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; - template , - typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, - typename B = Allocator, - typename std::enable_if::value, - int>::type = 0> - VULKAN_HPP_NODISCARD typename ResultValueType>::type - enumerateQueueFamilyPerformanceQueryCountersKHR( - uint32_t queueFamilyIndex, - ArrayProxy const & counters, - Allocator const & vectorAllocator, - Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; template , typename PerformanceCounterDescriptionKHRAllocator = std::allocator, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE> diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 0ccab4f..8fff2b7 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -2309,24 +2309,35 @@ namespace VULKAN_HPP_NAMESPACE class Context { public: +# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL Context() : m_dispatcher( new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher( m_dynamicLoader.getProcAddress( "vkGetInstanceProcAddr" ) ) ) +# else + Context( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) + : m_dispatcher( new VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::ContextDispatcher( getInstanceProcAddr ) ) +# endif {} ~Context() = default; Context( Context const & ) = delete; Context( Context && rhs ) VULKAN_HPP_NOEXCEPT +# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL : m_dynamicLoader( std::move( rhs.m_dynamicLoader ) ) , m_dispatcher( rhs.m_dispatcher.release() ) +# else + : m_dispatcher( rhs.m_dispatcher.release() ) +# endif {} Context & operator=( Context const & ) = delete; Context & operator =( Context && rhs ) VULKAN_HPP_NOEXCEPT { if ( this != &rhs ) { +# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL m_dynamicLoader = std::move( rhs.m_dynamicLoader ); +# endif m_dispatcher.reset( rhs.m_dispatcher.release() ); } return *this; @@ -2354,7 +2365,9 @@ namespace VULKAN_HPP_NAMESPACE } private: - VULKAN_HPP_NAMESPACE::DynamicLoader m_dynamicLoader; +# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL + VULKAN_HPP_NAMESPACE::DynamicLoader m_dynamicLoader; +# endif std::unique_ptr m_dispatcher; }; @@ -3876,6 +3889,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_accelerationStructure ) + { + getDispatcher()->vkDestroyAccelerationStructureKHR( + static_cast( m_device ), + static_cast( m_accelerationStructure ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_accelerationStructure = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructure, {} ); @@ -3976,6 +3996,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_accelerationStructure ) + { + getDispatcher()->vkDestroyAccelerationStructureNV( + static_cast( m_device ), + static_cast( m_accelerationStructure ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_accelerationStructure = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_accelerationStructure, {} ); @@ -4079,6 +4106,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_buffer ) + { + getDispatcher()->vkDestroyBuffer( static_cast( m_device ), + static_cast( m_buffer ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_buffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_buffer, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -4184,6 +4217,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_collection ) + { + getDispatcher()->vkDestroyBufferCollectionFUCHSIA( + static_cast( m_device ), + static_cast( m_collection ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_collection = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_collection, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -4288,6 +4328,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_bufferView ) + { + getDispatcher()->vkDestroyBufferView( static_cast( m_device ), + static_cast( m_bufferView ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_bufferView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_bufferView, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -4382,6 +4428,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_commandPool ) + { + getDispatcher()->vkDestroyCommandPool( static_cast( m_device ), + static_cast( m_commandPool ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -4473,6 +4525,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_commandBuffer ) + { + getDispatcher()->vkFreeCommandBuffers( static_cast( m_device ), + static_cast( m_commandPool ), + 1, + reinterpret_cast( &m_commandBuffer ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_commandPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandPool, {} ); m_commandBuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_commandBuffer, {} ); @@ -5322,6 +5381,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_function ) + { + getDispatcher()->vkDestroyCuFunctionNVX( static_cast( m_device ), + static_cast( m_function ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_function = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_function, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -5416,6 +5481,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_module ) + { + getDispatcher()->vkDestroyCuModuleNVX( static_cast( m_device ), + static_cast( m_module ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_module = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_module, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -5514,6 +5585,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_callback ) + { + getDispatcher()->vkDestroyDebugReportCallbackEXT( + static_cast( m_instance ), + static_cast( m_callback ), + reinterpret_cast( m_allocator ) ); + } m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ); m_callback = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_callback, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -5612,6 +5690,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_messenger ) + { + getDispatcher()->vkDestroyDebugUtilsMessengerEXT( + static_cast( m_instance ), + static_cast( m_messenger ), + reinterpret_cast( m_allocator ) ); + } m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ); m_messenger = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_messenger, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -5708,6 +5793,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_operation ) + { + getDispatcher()->vkDestroyDeferredOperationKHR( + static_cast( m_device ), + static_cast( m_operation ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_operation = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_operation, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -5813,6 +5905,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_descriptorPool ) + { + getDispatcher()->vkDestroyDescriptorPool( static_cast( m_device ), + static_cast( m_descriptorPool ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -5895,6 +5993,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_descriptorSet ) + { + getDispatcher()->vkFreeDescriptorSets( static_cast( m_device ), + static_cast( m_descriptorPool ), + 1, + reinterpret_cast( &m_descriptorSet ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_descriptorPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorPool, {} ); m_descriptorSet = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSet, {} ); @@ -6037,6 +6142,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_descriptorSetLayout ) + { + getDispatcher()->vkDestroyDescriptorSetLayout( + static_cast( m_device ), + static_cast( m_descriptorSetLayout ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_descriptorSetLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorSetLayout, {} ); @@ -6137,6 +6249,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_descriptorUpdateTemplate ) + { + getDispatcher()->vkDestroyDescriptorUpdateTemplate( + static_cast( m_device ), + static_cast( m_descriptorUpdateTemplate ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_descriptorUpdateTemplate = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_descriptorUpdateTemplate, {} ); @@ -6234,6 +6353,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_memory ) + { + getDispatcher()->vkFreeMemory( static_cast( m_device ), + static_cast( m_memory ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_memory = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_memory, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -6377,6 +6502,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_display ) + { + getDispatcher()->vkReleaseDisplayEXT( static_cast( m_physicalDevice ), + static_cast( m_display ) ); + } m_physicalDevice = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_physicalDevice, {} ); m_display = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_display, {} ); m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_dispatcher, nullptr ); @@ -6612,6 +6742,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_event ) + { + getDispatcher()->vkDestroyEvent( static_cast( m_device ), + static_cast( m_event ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_event = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_event, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -6754,6 +6890,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_fence ) + { + getDispatcher()->vkDestroyFence( static_cast( m_device ), + static_cast( m_fence ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_fence = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_fence, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -6852,6 +6994,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_framebuffer ) + { + getDispatcher()->vkDestroyFramebuffer( static_cast( m_device ), + static_cast( m_framebuffer ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_framebuffer = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_framebuffer, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -6946,6 +7094,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_image ) + { + getDispatcher()->vkDestroyImage( static_cast( m_device ), + static_cast( m_image ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_image = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_image, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -7057,6 +7211,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_imageView ) + { + getDispatcher()->vkDestroyImageView( static_cast( m_device ), + static_cast( m_imageView ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_imageView = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_imageView, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -7160,6 +7320,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_indirectCommandsLayout ) + { + getDispatcher()->vkDestroyIndirectCommandsLayoutNV( + static_cast( m_device ), + static_cast( m_indirectCommandsLayout ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_indirectCommandsLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_indirectCommandsLayout, {} ); @@ -7247,6 +7414,11 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_configuration ) + { + getDispatcher()->vkReleasePerformanceConfigurationINTEL( + static_cast( m_device ), static_cast( m_configuration ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_configuration = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_configuration, {} ); m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_dispatcher, nullptr ); @@ -7342,6 +7514,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_pipelineCache ) + { + getDispatcher()->vkDestroyPipelineCache( static_cast( m_device ), + static_cast( m_pipelineCache ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_pipelineCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineCache, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -7530,6 +7708,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_pipeline ) + { + getDispatcher()->vkDestroyPipeline( static_cast( m_device ), + static_cast( m_pipeline ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_pipeline = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipeline, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -7818,6 +8002,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_pipelineLayout ) + { + getDispatcher()->vkDestroyPipelineLayout( static_cast( m_device ), + static_cast( m_pipelineLayout ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_pipelineLayout = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_pipelineLayout, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -7916,6 +8106,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_privateDataSlot ) + { + getDispatcher()->vkDestroyPrivateDataSlotEXT( + static_cast( m_device ), + static_cast( m_privateDataSlot ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_privateDataSlot = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_privateDataSlot, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -8010,6 +8207,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_queryPool ) + { + getDispatcher()->vkDestroyQueryPool( static_cast( m_device ), + static_cast( m_queryPool ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_queryPool = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_queryPool, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -8257,6 +8460,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_renderPass ) + { + getDispatcher()->vkDestroyRenderPass( static_cast( m_device ), + static_cast( m_renderPass ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_renderPass = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_renderPass, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -8360,6 +8569,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_sampler ) + { + getDispatcher()->vkDestroySampler( static_cast( m_device ), + static_cast( m_sampler ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_sampler = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_sampler, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -8458,6 +8673,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_ycbcrConversion ) + { + getDispatcher()->vkDestroySamplerYcbcrConversion( + static_cast( m_device ), + static_cast( m_ycbcrConversion ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_ycbcrConversion = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_ycbcrConversion, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -8552,6 +8774,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_semaphore ) + { + getDispatcher()->vkDestroySemaphore( static_cast( m_device ), + static_cast( m_semaphore ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_semaphore = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_semaphore, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -8657,6 +8885,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_shaderModule ) + { + getDispatcher()->vkDestroyShaderModule( static_cast( m_device ), + static_cast( m_shaderModule ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_shaderModule = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_shaderModule, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -9044,6 +9278,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_surface ) + { + getDispatcher()->vkDestroySurfaceKHR( static_cast( m_instance ), + static_cast( m_surface ), + reinterpret_cast( m_allocator ) ); + } m_instance = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_instance, {} ); m_surface = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_surface, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -9141,6 +9381,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_swapchain ) + { + getDispatcher()->vkDestroySwapchainKHR( static_cast( m_device ), + static_cast( m_swapchain ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_swapchain = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_swapchain, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -9318,6 +9564,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_validationCache ) + { + getDispatcher()->vkDestroyValidationCacheEXT( + static_cast( m_device ), + static_cast( m_validationCache ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_validationCache = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_validationCache, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -9422,6 +9675,12 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_videoSession ) + { + getDispatcher()->vkDestroyVideoSessionKHR( static_cast( m_device ), + static_cast( m_videoSession ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_videoSession = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSession, {} ); m_allocator = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ); @@ -9530,6 +9789,13 @@ namespace VULKAN_HPP_NAMESPACE { if ( this != &rhs ) { + if ( m_videoSessionParameters ) + { + getDispatcher()->vkDestroyVideoSessionParametersKHR( + static_cast( m_device ), + static_cast( m_videoSessionParameters ), + reinterpret_cast( m_allocator ) ); + } m_device = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ); m_videoSessionParameters = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_videoSessionParameters, {} ); diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index b745b79..1d6681d 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -41388,6 +41388,99 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV; }; + struct PhysicalDeviceDepthClipControlFeaturesEXT + { + using NativeType = VkPhysicalDeviceDepthClipControlFeaturesEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::ePhysicalDeviceDepthClipControlFeaturesEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipControlFeaturesEXT( + VULKAN_HPP_NAMESPACE::Bool32 depthClipControl_ = {} ) VULKAN_HPP_NOEXCEPT : depthClipControl( depthClipControl_ ) + {} + + VULKAN_HPP_CONSTEXPR PhysicalDeviceDepthClipControlFeaturesEXT( + PhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceDepthClipControlFeaturesEXT( VkPhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) + VULKAN_HPP_NOEXCEPT + : PhysicalDeviceDepthClipControlFeaturesEXT( + *reinterpret_cast( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceDepthClipControlFeaturesEXT & + operator=( PhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceDepthClipControlFeaturesEXT & + operator=( VkPhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipControlFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDepthClipControlFeaturesEXT & + setDepthClipControl( VULKAN_HPP_NAMESPACE::Bool32 depthClipControl_ ) VULKAN_HPP_NOEXCEPT + { + depthClipControl = depthClipControl_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPhysicalDeviceDepthClipControlFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceDepthClipControlFeaturesEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceDepthClipControlFeaturesEXT const & ) const = default; +#else + bool operator==( PhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( depthClipControl == rhs.depthClipControl ); + } + + bool operator!=( PhysicalDeviceDepthClipControlFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDepthClipControlFeaturesEXT; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 depthClipControl = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClipControlFeaturesEXT ) == + sizeof( VkPhysicalDeviceDepthClipControlFeaturesEXT ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible::value, + "PhysicalDeviceDepthClipControlFeaturesEXT is not nothrow_move_constructible!" ); + + template <> + struct CppType + { + using Type = PhysicalDeviceDepthClipControlFeaturesEXT; + }; + struct PhysicalDeviceDepthClipEnableFeaturesEXT { using NativeType = VkPhysicalDeviceDepthClipEnableFeaturesEXT; @@ -50778,6 +50871,99 @@ namespace VULKAN_HPP_NAMESPACE using Type = PhysicalDeviceRGBA10X6FormatsFeaturesEXT; }; + struct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM + { + using NativeType = VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM( + VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderColorAttachmentAccess_ = {}, + VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderDepthAttachmentAccess_ = {}, + VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderStencilAttachmentAccess_ = {} ) VULKAN_HPP_NOEXCEPT + : rasterizationOrderColorAttachmentAccess( rasterizationOrderColorAttachmentAccess_ ) + , rasterizationOrderDepthAttachmentAccess( rasterizationOrderDepthAttachmentAccess_ ) + , rasterizationOrderStencilAttachmentAccess( rasterizationOrderStencilAttachmentAccess_ ) + {} + + VULKAN_HPP_CONSTEXPR PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM( + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM( + VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT + : PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM( + *reinterpret_cast( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM & operator =( + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM & + operator=( VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = + *reinterpret_cast( + &rhs ); + return *this; + } + + operator VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & ) const = default; +#else + bool operator==( PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && + ( rasterizationOrderColorAttachmentAccess == rhs.rasterizationOrderColorAttachmentAccess ) && + ( rasterizationOrderDepthAttachmentAccess == rhs.rasterizationOrderDepthAttachmentAccess ) && + ( rasterizationOrderStencilAttachmentAccess == rhs.rasterizationOrderStencilAttachmentAccess ); + } + + bool operator!=( PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = + StructureType::ePhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderColorAttachmentAccess = {}; + VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderDepthAttachmentAccess = {}; + VULKAN_HPP_NAMESPACE::Bool32 rasterizationOrderStencilAttachmentAccess = {}; + }; + VULKAN_HPP_STATIC_ASSERT( + sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM ) == + sizeof( VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible< + VULKAN_HPP_NAMESPACE::PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM>::value, + "PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM is not nothrow_move_constructible!" ); + + template <> + struct CppType + { + using Type = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM; + }; + struct PhysicalDeviceRayQueryFeaturesKHR { using NativeType = VkPhysicalDeviceRayQueryFeaturesKHR; @@ -62853,6 +63039,100 @@ namespace VULKAN_HPP_NAMESPACE using Type = PipelineViewportCoarseSampleOrderStateCreateInfoNV; }; + struct PipelineViewportDepthClipControlCreateInfoEXT + { + using NativeType = VkPipelineViewportDepthClipControlCreateInfoEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = + StructureType::ePipelineViewportDepthClipControlCreateInfoEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR PipelineViewportDepthClipControlCreateInfoEXT( + VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne_ = {} ) VULKAN_HPP_NOEXCEPT : negativeOneToOne( negativeOneToOne_ ) + {} + + VULKAN_HPP_CONSTEXPR PipelineViewportDepthClipControlCreateInfoEXT( + PipelineViewportDepthClipControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PipelineViewportDepthClipControlCreateInfoEXT( VkPipelineViewportDepthClipControlCreateInfoEXT const & rhs ) + VULKAN_HPP_NOEXCEPT + : PipelineViewportDepthClipControlCreateInfoEXT( + *reinterpret_cast( &rhs ) ) + {} +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + PipelineViewportDepthClipControlCreateInfoEXT & + operator=( PipelineViewportDepthClipControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + PipelineViewportDepthClipControlCreateInfoEXT & + operator=( VkPipelineViewportDepthClipControlCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 PipelineViewportDepthClipControlCreateInfoEXT & + setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 PipelineViewportDepthClipControlCreateInfoEXT & + setNegativeOneToOne( VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne_ ) VULKAN_HPP_NOEXCEPT + { + negativeOneToOne = negativeOneToOne_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkPipelineViewportDepthClipControlCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkPipelineViewportDepthClipControlCreateInfoEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( PipelineViewportDepthClipControlCreateInfoEXT const & ) const = default; +#else + bool operator==( PipelineViewportDepthClipControlCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( negativeOneToOne == rhs.negativeOneToOne ); + } + + bool operator!=( PipelineViewportDepthClipControlCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePipelineViewportDepthClipControlCreateInfoEXT; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::Bool32 negativeOneToOne = {}; + }; + VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineViewportDepthClipControlCreateInfoEXT ) == + sizeof( VkPipelineViewportDepthClipControlCreateInfoEXT ), + "struct and wrapper have different size!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_standard_layout::value, + "struct wrapper is not a standard layout!" ); + VULKAN_HPP_STATIC_ASSERT( + std::is_nothrow_move_constructible::value, + "PipelineViewportDepthClipControlCreateInfoEXT is not nothrow_move_constructible!" ); + + template <> + struct CppType + { + using Type = PipelineViewportDepthClipControlCreateInfoEXT; + }; + struct PipelineViewportExclusiveScissorStateCreateInfoNV { using NativeType = VkPipelineViewportExclusiveScissorStateCreateInfoNV; diff --git a/registry/generator.py b/registry/generator.py index cb845a0..4f7f9bf 100644 --- a/registry/generator.py +++ b/registry/generator.py @@ -973,6 +973,9 @@ class OutputGenerator: # Clear prefix for subsequent iterations prefix = '' + + paramdecl = paramdecl + prefix + if aligncol == 0: # Squeeze out multiple spaces other than the indentation paramdecl = indent + ' '.join(paramdecl.split()) diff --git a/registry/reg.py b/registry/reg.py index e8de774..391abdb 100644 --- a/registry/reg.py +++ b/registry/reg.py @@ -1483,7 +1483,6 @@ class Registry: def __validateLimittype(self): """Validate 'limittype' attributes.""" - self.gen.logMsg('diag', 'VALIDATING LIMITTYPE ATTRIBUTES') badFields = self.__validateStructLimittypes(self.typedict['VkPhysicalDeviceProperties2']) for featStructName in self.validextensionstructs['VkPhysicalDeviceProperties2']: featStruct = self.typedict[featStructName] diff --git a/registry/validusage.json b/registry/validusage.json index 4314302..99aea54 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.2.199", - "comment": "from git branch: github-main commit: 83c7507600618d8748bb911dfd8c3d9b4fabaca0", - "date": "2021-11-16 13:35:27Z" + "api version": "1.2.200", + "comment": "from git branch: github-main commit: 9ed8caef1a0b5abe9778adb39feff435b2328f1b", + "date": "2021-11-23 15:34:18Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -626,7 +626,7 @@ }, { "vuid": "VUID-VkDeviceCreateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfoEXT, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDynamicRenderingFeaturesKHR, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImageRobustnessFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeaturesEXT, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceMaintenance4FeaturesKHR, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrivateDataFeaturesEXT, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSynchronization2FeaturesKHR, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkDeviceDeviceMemoryReportCreateInfoEXT, VkDeviceDiagnosticsConfigCreateInfoNV, VkDeviceGroupDeviceCreateInfo, VkDeviceMemoryOverallocationCreateInfoAMD, VkDevicePrivateDataCreateInfoEXT, VkPhysicalDevice16BitStorageFeatures, VkPhysicalDevice4444FormatsFeaturesEXT, VkPhysicalDevice8BitStorageFeatures, VkPhysicalDeviceASTCDecodeFeaturesEXT, VkPhysicalDeviceAccelerationStructureFeaturesKHR, VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT, VkPhysicalDeviceBorderColorSwizzleFeaturesEXT, VkPhysicalDeviceBufferDeviceAddressFeatures, VkPhysicalDeviceBufferDeviceAddressFeaturesEXT, VkPhysicalDeviceCoherentMemoryFeaturesAMD, VkPhysicalDeviceColorWriteEnableFeaturesEXT, VkPhysicalDeviceComputeShaderDerivativesFeaturesNV, VkPhysicalDeviceConditionalRenderingFeaturesEXT, VkPhysicalDeviceCooperativeMatrixFeaturesNV, VkPhysicalDeviceCornerSampledImageFeaturesNV, VkPhysicalDeviceCoverageReductionModeFeaturesNV, VkPhysicalDeviceCustomBorderColorFeaturesEXT, VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, VkPhysicalDeviceDepthClipControlFeaturesEXT, VkPhysicalDeviceDepthClipEnableFeaturesEXT, VkPhysicalDeviceDescriptorIndexingFeatures, VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV, VkPhysicalDeviceDeviceMemoryReportFeaturesEXT, VkPhysicalDeviceDiagnosticsConfigFeaturesNV, VkPhysicalDeviceDynamicRenderingFeaturesKHR, VkPhysicalDeviceExclusiveScissorFeaturesNV, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT, VkPhysicalDeviceExtendedDynamicStateFeaturesEXT, VkPhysicalDeviceExternalMemoryRDMAFeaturesNV, VkPhysicalDeviceFeatures2, VkPhysicalDeviceFragmentDensityMap2FeaturesEXT, VkPhysicalDeviceFragmentDensityMapFeaturesEXT, VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV, VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT, VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV, VkPhysicalDeviceFragmentShadingRateFeaturesKHR, VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT, VkPhysicalDeviceHostQueryResetFeatures, VkPhysicalDeviceImageRobustnessFeaturesEXT, VkPhysicalDeviceImageViewMinLodFeaturesEXT, VkPhysicalDeviceImagelessFramebufferFeatures, VkPhysicalDeviceIndexTypeUint8FeaturesEXT, VkPhysicalDeviceInheritedViewportScissorFeaturesNV, VkPhysicalDeviceInlineUniformBlockFeaturesEXT, VkPhysicalDeviceInvocationMaskFeaturesHUAWEI, VkPhysicalDeviceLineRasterizationFeaturesEXT, VkPhysicalDeviceMaintenance4FeaturesKHR, VkPhysicalDeviceMemoryPriorityFeaturesEXT, VkPhysicalDeviceMeshShaderFeaturesNV, VkPhysicalDeviceMultiDrawFeaturesEXT, VkPhysicalDeviceMultiviewFeatures, VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE, VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, VkPhysicalDevicePerformanceQueryFeaturesKHR, VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT, VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR, VkPhysicalDevicePortabilitySubsetFeaturesKHR, VkPhysicalDevicePresentIdFeaturesKHR, VkPhysicalDevicePresentWaitFeaturesKHR, VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, VkPhysicalDevicePrivateDataFeaturesEXT, VkPhysicalDeviceProtectedMemoryFeatures, VkPhysicalDeviceProvokingVertexFeaturesEXT, VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT, VkPhysicalDeviceRayQueryFeaturesKHR, VkPhysicalDeviceRayTracingMotionBlurFeaturesNV, VkPhysicalDeviceRayTracingPipelineFeaturesKHR, VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV, VkPhysicalDeviceRobustness2FeaturesEXT, VkPhysicalDeviceSamplerYcbcrConversionFeatures, VkPhysicalDeviceScalarBlockLayoutFeatures, VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT, VkPhysicalDeviceShaderAtomicInt64Features, VkPhysicalDeviceShaderClockFeaturesKHR, VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, VkPhysicalDeviceShaderDrawParametersFeatures, VkPhysicalDeviceShaderFloat16Int8Features, VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT, VkPhysicalDeviceShaderImageFootprintFeaturesNV, VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR, VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, VkPhysicalDeviceShaderSMBuiltinsFeaturesNV, VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures, VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR, VkPhysicalDeviceShadingRateImageFeaturesNV, VkPhysicalDeviceSubgroupSizeControlFeaturesEXT, VkPhysicalDeviceSubpassShadingFeaturesHUAWEI, VkPhysicalDeviceSynchronization2FeaturesKHR, VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT, VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, VkPhysicalDeviceTimelineSemaphoreFeatures, VkPhysicalDeviceTransformFeedbackFeaturesEXT, VkPhysicalDeviceUniformBufferStandardLayoutFeatures, VkPhysicalDeviceVariablePointersFeatures, VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT, VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT, VkPhysicalDeviceVulkan11Features, VkPhysicalDeviceVulkan12Features, VkPhysicalDeviceVulkanMemoryModelFeatures, VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, VkPhysicalDeviceYcbcrImageArraysFeaturesEXT, or VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR" }, { "vuid": "VUID-VkDeviceCreateInfo-sType-unique", @@ -1332,7 +1332,7 @@ }, { "vuid": "VUID-VkCommandBufferInheritanceRenderingInfoKHR-pColorAttachmentFormats-parameter", - "text": " pColorAttachmentFormats must be a valid pointer to an array of colorAttachmentCount valid VkFormat values" + "text": " If colorAttachmentCount is not 0, pColorAttachmentFormats must be a valid pointer to an array of colorAttachmentCount valid VkFormat values" }, { "vuid": "VUID-VkCommandBufferInheritanceRenderingInfoKHR-depthAttachmentFormat-parameter", @@ -1345,10 +1345,6 @@ { "vuid": "VUID-VkCommandBufferInheritanceRenderingInfoKHR-rasterizationSamples-parameter", "text": " If rasterizationSamples is not 0, rasterizationSamples must be a valid VkSampleCountFlagBits value" - }, - { - "vuid": "VUID-VkCommandBufferInheritanceRenderingInfoKHR-colorAttachmentCount-arraylength", - "text": " colorAttachmentCount must be greater than 0" } ], "(VK_KHR_dynamic_rendering)+(VK_VERSION_1_1,VK_KHR_multiview)": [ @@ -9070,7 +9066,7 @@ "core": [ { "vuid": "VUID-VkRenderPassBeginInfo-clearValueCount-00902", - "text": " clearValueCount must be greater than the largest attachment index in renderPass that specifies a loadOp (or stencilLoadOp, if the attachment has a depth/stencil format) of VK_ATTACHMENT_LOAD_OP_CLEAR" + "text": " clearValueCount must be greater than the largest attachment index in renderPass specifying a loadOp (or stencilLoadOp, if the attachment has a depth/stencil format) of VK_ATTACHMENT_LOAD_OP_CLEAR" }, { "vuid": "VUID-VkRenderPassBeginInfo-clearValueCount-04962", @@ -10102,15 +10098,15 @@ }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-00713", - "text": " If stage is VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT or VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified entry point has an OpExecutionMode instruction that specifies a patch size with OutputVertices, the patch size must be greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxTessellationPatchSize" + "text": " If stage is VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT or VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT, and the identified entry point has an OpExecutionMode instruction specifying a patch size with OutputVertices, the patch size must be greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxTessellationPatchSize" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-00714", - "text": " If stage is VK_SHADER_STAGE_GEOMETRY_BIT, the identified entry point must have an OpExecutionMode instruction that specifies a maximum output vertex count that is greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxGeometryOutputVertices" + "text": " If stage is VK_SHADER_STAGE_GEOMETRY_BIT, the identified entry point must have an OpExecutionMode instruction specifying a maximum output vertex count that is greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxGeometryOutputVertices" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-00715", - "text": " If stage is VK_SHADER_STAGE_GEOMETRY_BIT, the identified entry point must have an OpExecutionMode instruction that specifies an invocation count that is greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxGeometryShaderInvocations" + "text": " If stage is VK_SHADER_STAGE_GEOMETRY_BIT, the identified entry point must have an OpExecutionMode instruction specifying an invocation count that is greater than 0 and less than or equal to VkPhysicalDeviceLimits::maxGeometryShaderInvocations" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-02596", @@ -10176,11 +10172,11 @@ }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-02093", - "text": " If stage is VK_SHADER_STAGE_MESH_BIT_NV, the identified entry point must have an OpExecutionMode instruction that specifies a maximum output vertex count, OutputVertices, that is greater than 0 and less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputVertices" + "text": " If stage is VK_SHADER_STAGE_MESH_BIT_NV, the identified entry point must have an OpExecutionMode instruction specifying a maximum output vertex count, OutputVertices, that is greater than 0 and less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputVertices" }, { "vuid": "VUID-VkPipelineShaderStageCreateInfo-stage-02094", - "text": " If stage is VK_SHADER_STAGE_MESH_BIT_NV, the identified entry point must have an OpExecutionMode instruction that specifies a maximum output primitive count, OutputPrimitivesNV, that is greater than 0 and less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputPrimitives" + "text": " If stage is VK_SHADER_STAGE_MESH_BIT_NV, the identified entry point must have an OpExecutionMode instruction specifying a maximum output primitive count, OutputPrimitivesNV, that is greater than 0 and less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxMeshOutputPrimitives" } ], "(VK_EXT_shader_stencil_export)": [ @@ -10362,19 +10358,19 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00732", - "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, the shader code of at least one stage must contain an OpExecutionMode instruction that specifies the type of subdivision in the pipeline" + "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, the shader code of at least one stage must contain an OpExecutionMode instruction specifying the type of subdivision in the pipeline" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00733", - "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, and the shader code of both stages contain an OpExecutionMode instruction that specifies the type of subdivision in the pipeline, they must both specify the same subdivision mode" + "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, and the shader code of both stages contain an OpExecutionMode instruction specifying the type of subdivision in the pipeline, they must both specify the same subdivision mode" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00734", - "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, the shader code of at least one stage must contain an OpExecutionMode instruction that specifies the output patch size in the pipeline" + "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, the shader code of at least one stage must contain an OpExecutionMode instruction specifying the output patch size in the pipeline" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00735", - "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, and the shader code of both contain an OpExecutionMode instruction that specifies the out patch size in the pipeline, they must both specify the same patch size" + "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes tessellation shader stages, and the shader code of both contain an OpExecutionMode instruction specifying the out patch size in the pipeline, they must both specify the same patch size" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00736", @@ -10386,11 +10382,11 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00738", - "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes a geometry shader stage, and does not include any tessellation shader stages, its shader code must contain an OpExecutionMode instruction that specifies an input primitive type that is compatible with the primitive topology specified in pInputAssembly" + "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes a geometry shader stage, and does not include any tessellation shader stages, its shader code must contain an OpExecutionMode instruction specifying an input primitive type that is compatible with the primitive topology specified in pInputAssembly" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00739", - "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes a geometry shader stage, and also includes tessellation shader stages, its shader code must contain an OpExecutionMode instruction that specifies an input primitive type that is compatible with the primitive topology that is output by the tessellation stages" + "text": " If the pipeline is being created with pre-rasterization shader state and pStages includes a geometry shader stage, and also includes tessellation shader stages, its shader code must contain an OpExecutionMode instruction specifying an input primitive type that is compatible with the primitive topology that is output by the tessellation stages" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00740", @@ -10998,6 +10994,24 @@ "vuid": "VUID-VkGraphicsPipelineCreateInfo-renderPass-06063", "text": " If the pipeline is being created with fragment output interface state and renderPass is VK_NULL_HANDLE, if the pNext chain includes VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV, the colorAttachmentCount member of that structure must be equal to the value of VkPipelineRenderingCreateInfoKHR::colorAttachmentCount" } + ], + "(VK_ARM_rasterization_order_attachment_access)": [ + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-06466", + "text": " If pStages includes a fragment shader stage, and the fragment shader code enables early fragment tests, the flags member of VkPipelineDepthStencilStateCreateInfo must not include VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM or VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06467", + "text": " If the flags member of VkPipelineColorBlendStateCreateInfo includes VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06468", + "text": " If the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-06469", + "text": " If the flags member of VkPipelineDepthStencilStateCreateInfo includes VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM, subpass must have been created with VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM" + } ] }, "VkPipelineRenderingCreateInfoKHR": { @@ -12728,7 +12742,7 @@ "(VK_KHR_external_memory+VK_KHR_device_group)": [ { "vuid": "VUID-VkMemoryAllocateInfo-None-00643", - "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the device mask specified by VkMemoryAllocateFlagsInfo must match that specified when the payload being imported was allocated" + "text": " If the parameters define an import operation and the external handle specified was created by the Vulkan API, the device mask specified by VkMemoryAllocateFlagsInfo must match the mask specified when the payload being imported was allocated" }, { "vuid": "VUID-VkMemoryAllocateInfo-None-00644", @@ -18182,7 +18196,7 @@ }, { "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrModel-01655", - "text": " If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to components of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a component which contains zero or one as a consequence of conversion to RGBA" + "text": " If ycbcrModel is not VK_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY, then components.r, components.g, and components.b must correspond to components of the format; that is, components.r, components.g, and components.b must not be VK_COMPONENT_SWIZZLE_ZERO or VK_COMPONENT_SWIZZLE_ONE, and must not correspond to a component containing zero or one as a consequence of conversion to RGBA" }, { "vuid": "VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrRange-02748", @@ -27372,13 +27386,13 @@ "(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDraw-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDraw-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -27790,13 +27804,13 @@ "(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawIndexed-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawIndexed-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -28220,13 +28234,13 @@ "(VK_EXT_multi_draw)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_EXT_multi_draw)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawMultiEXT-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_EXT_multi_draw)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -28658,13 +28672,13 @@ "(VK_EXT_multi_draw)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_EXT_multi_draw)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_EXT_multi_draw)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -29108,13 +29122,13 @@ "(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawIndirect-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawIndirect-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -29586,13 +29600,13 @@ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawIndirectCount-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -30042,13 +30056,13 @@ "(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirect-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -30524,13 +30538,13 @@ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -30968,13 +30982,13 @@ "(VK_EXT_transform_feedback)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_EXT_transform_feedback)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_EXT_transform_feedback)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -31450,13 +31464,13 @@ "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawMeshTasksNV-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawMeshTasksNV-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -31884,13 +31898,13 @@ "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -32346,13 +32360,13 @@ "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_NV_mesh_shader)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -33100,6 +33114,18 @@ } ] }, + "VkPipelineViewportDepthClipControlCreateInfoEXT": { + "(VK_EXT_depth_clip_control)": [ + { + "vuid": "VUID-VkPipelineViewportDepthClipControlCreateInfoEXT-negativeOneToOne-06470", + "text": " If depthClipControl is not enabled, negativeOneToOne must be VK_FALSE" + }, + { + "vuid": "VUID-VkPipelineViewportDepthClipControlCreateInfoEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT" + } + ] + }, "VkPipelineViewportWScalingStateCreateInfoNV": { "(VK_NV_clip_space_w_scaling)": [ { @@ -33176,7 +33202,7 @@ }, { "vuid": "VUID-VkPipelineViewportStateCreateInfo-pNext-pNext", - "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineViewportCoarseSampleOrderStateCreateInfoNV, VkPipelineViewportExclusiveScissorStateCreateInfoNV, VkPipelineViewportShadingRateImageStateCreateInfoNV, VkPipelineViewportSwizzleStateCreateInfoNV, or VkPipelineViewportWScalingStateCreateInfoNV" + "text": " Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineViewportCoarseSampleOrderStateCreateInfoNV, VkPipelineViewportDepthClipControlCreateInfoEXT, VkPipelineViewportExclusiveScissorStateCreateInfoNV, VkPipelineViewportShadingRateImageStateCreateInfoNV, VkPipelineViewportSwizzleStateCreateInfoNV, or VkPipelineViewportWScalingStateCreateInfoNV" }, { "vuid": "VUID-VkPipelineViewportStateCreateInfo-sType-unique", @@ -34479,8 +34505,8 @@ "text": " pNext must be NULL" }, { - "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-flags-zerobitmask", - "text": " flags must be 0" + "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-flags-parameter", + "text": " flags must be a valid combination of VkPipelineDepthStencilStateCreateFlagBits values" }, { "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-depthCompareOp-parameter", @@ -34500,6 +34526,16 @@ "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-separateStencilMaskRef-04453", "text": " If the VK_KHR_portability_subset extension is enabled, and VkPhysicalDevicePortabilitySubsetFeaturesKHR::separateStencilMaskRef is VK_FALSE, and the value of VkPipelineDepthStencilStateCreateInfo::stencilTestEnable is VK_TRUE, and the value of VkPipelineRasterizationStateCreateInfo::cullMode is VK_CULL_MODE_NONE, the value of reference in each of the VkStencilOpState structs in front and back must be the same" } + ], + "(VK_ARM_rasterization_order_attachment_access)": [ + { + "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-rasterizationOrderDepthAttachmentAccess-06463", + "text": " If the rasterizationOrderDepthAttachmentAccess feature is not enabled, flags must not include VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM" + }, + { + "vuid": "VUID-VkPipelineDepthStencilStateCreateInfo-rasterizationOrderStencilAttachmentAccess-06464", + "text": " If the rasterizationOrderStencilAttachmentAccess feature is not enabled, flags must not include VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM" + } ] }, "vkCmdSetDepthBoundsTestEnableEXT": { @@ -34893,13 +34929,19 @@ "text": " The sType value of each struct in the pNext chain must be unique" }, { - "vuid": "VUID-VkPipelineColorBlendStateCreateInfo-flags-zerobitmask", - "text": " flags must be 0" + "vuid": "VUID-VkPipelineColorBlendStateCreateInfo-flags-parameter", + "text": " flags must be a valid combination of VkPipelineColorBlendStateCreateFlagBits values" }, { "vuid": "VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-parameter", "text": " If attachmentCount is not 0, pAttachments must be a valid pointer to an array of attachmentCount valid VkPipelineColorBlendAttachmentState structures" } + ], + "(VK_ARM_rasterization_order_attachment_access)": [ + { + "vuid": "VUID-VkPipelineColorBlendStateCreateInfo-rasterizationOrderColorAttachmentAccess-06465", + "text": " If the rasterizationOrderColorAttachmentAccess feature is not enabled, flags must not include VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM" + } ] }, "VkPipelineColorBlendAttachmentState": { @@ -36564,13 +36606,13 @@ "(VK_NV_device_generated_commands)+(VK_KHR_dynamic_rendering)+(VK_KHR_fragment_shading_rate)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06183", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR" } ], "(VK_NV_device_generated_commands)+(VK_KHR_dynamic_rendering)+(VK_EXT_fragment_density_map)": [ { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06184", - "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" + "text": " If the current render pass instance was begun with vkCmdBeginRenderingKHR and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT" } ], "(VK_NV_device_generated_commands)+(VK_KHR_dynamic_rendering)+(VK_AMD_mixed_attachment_samples,VK_NV_framebuffer_mixed_samples)": [ @@ -45348,6 +45390,14 @@ } ] }, + "VkPhysicalDeviceDepthClipControlFeaturesEXT": { + "(VK_EXT_depth_clip_control)": [ + { + "vuid": "VUID-VkPhysicalDeviceDepthClipControlFeaturesEXT-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT" + } + ] + }, "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR": { "(VK_KHR_workgroup_memory_explicit_layout)": [ { @@ -45516,6 +45566,18 @@ } ] }, + "VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM": { + "(VK_ARM_rasterization_order_attachment_access)": [ + { + "vuid": "VUID-VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM" + }, + { + "vuid": "VUID-VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM-pNext-pNext", + "text": " pNext must be NULL" + } + ] + }, "VkPhysicalDevicePushDescriptorPropertiesKHR": { "(VK_KHR_push_descriptor)": [ { @@ -47446,7 +47508,7 @@ }, { "vuid": "VUID-StandaloneSpirv-Offset-04690", - "text": " The first member of an output block that specifies a Offset decoration must specify a Offset value that is aligned to an 8 byte boundary if that block contains any member decorated with Offset and is a 64-bit type" + "text": " The first member of an output block specifying a Offset decoration must specify a Offset value that is aligned to an 8 byte boundary if that block contains any member decorated with Offset and is a 64-bit type" }, { "vuid": "VUID-StandaloneSpirv-Offset-04691", @@ -47584,10 +47646,6 @@ } ], "core": [ - { - "vuid": "VUID-RuntimeSpirv-BuiltIn-06271", - "text": " Any BuiltIn decoration that corresponds only to Vulkan features or extensions that have not been enabled must not be used." - }, { "vuid": "VUID-RuntimeSpirv-Location-06272", "text": " The sum of Location and the number of locations the variable it decorates consumes must be less than or equal to the value for the matching {ExecutionModel} defined in Shader Input and Output Locations" @@ -48075,16 +48133,6 @@ "text": " Any OpVariable with Workgroup as its Storage Class must not have an Initializer operand" } ], - "(VK_KHR_workgroup_memory_explicit_layout)": [ - { - "vuid": "VUID-RuntimeSpirv-workgroupMemoryExplicitLayout8BitAccess-06374", - "text": " If workgroupMemoryExplicitLayout8BitAccess is VK_FALSE, objects in the Workgroup storage class with the Block decoration must not contain 8-bit integer members." - }, - { - "vuid": "VUID-RuntimeSpirv-workgroupMemoryExplicitLayout16BitAccess-06375", - "text": " If workgroupMemoryExplicitLayout16BitAccess is VK_FALSE, objects in the Workgroup storage class with the Block decoration must not contain 16-bit integer or 16-bit floating-point members." - } - ], "(VK_QCOM_render_pass_shader_resolve)": [ { "vuid": "VUID-RuntimeSpirv-SampleRateShading-06378", diff --git a/registry/vk.xml b/registry/vk.xml index c753e0a..17b01d6 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -155,7 +155,7 @@ branch of the member gitlab server. // Vulkan 1.2 version number #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 199 +#define VK_HEADER_VERSION 200 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) @@ -233,9 +233,9 @@ typedef void CAMetalLayer; typedef VkFlags VkSamplerCreateFlags; typedef VkFlags VkPipelineLayoutCreateFlags; typedef VkFlags VkPipelineCacheCreateFlags; - typedef VkFlags VkPipelineDepthStencilStateCreateFlags; + typedef VkFlags VkPipelineDepthStencilStateCreateFlags; typedef VkFlags VkPipelineDynamicStateCreateFlags; - typedef VkFlags VkPipelineColorBlendStateCreateFlags; + typedef VkFlags VkPipelineColorBlendStateCreateFlags; typedef VkFlags VkPipelineMultisampleStateCreateFlags; typedef VkFlags VkPipelineRasterizationStateCreateFlags; typedef VkFlags VkPipelineViewportStateCreateFlags; @@ -638,6 +638,8 @@ typedef void CAMetalLayer; + + WSI extensions @@ -1566,7 +1568,7 @@ typedef void CAMetalLayer; VkBool32 dualSrcBlendblend operations which take two sources VkBool32 logicOplogic operations VkBool32 multiDrawIndirectmulti draw indirect - VkBool32 drawIndirectFirstInstanceindirect draws can use non-zero firstInstance + VkBool32 drawIndirectFirstInstanceindirect drawing can use non-zero firstInstance VkBool32 depthClampdepth clamping VkBool32 depthBiasClampdepth bias clamping VkBool32 fillModeNonSolidpoint and wireframe fill modes @@ -1688,7 +1690,7 @@ typedef void CAMetalLayer; uint32_t subTexelPrecisionBitsnumber bits of precision for selecting texel weights uint32_t mipmapPrecisionBitsnumber bits of precision for selecting mipmap weights uint32_t maxDrawIndexedIndexValuemax index value for indexed draw calls (for 32-bit indices) - uint32_t maxDrawIndirectCountmax draw count for indirect draw calls + uint32_t maxDrawIndirectCountmax draw count for indirect drawing calls float maxSamplerLodBiasmax absolute sampler LOD bias float maxSamplerAnisotropymax degree of sampler anisotropy uint32_t maxViewportsmax number of active viewports @@ -5471,6 +5473,16 @@ typedef void CAMetalLayer; uint32_t mutableDescriptorTypeListCount const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists + + VkStructureType sType + void* pNext + VkBool32 depthClipControl + + + VkStructureType sType + const void* pNext + VkBool32 negativeOneToOne + VkStructureType sType void* pNext @@ -6430,7 +6442,7 @@ typedef void CAMetalLayer; const void* pNext VkRenderingFlagsKHR flags uint32_t viewMask - uint32_t colorAttachmentCount + uint32_t colorAttachmentCount const VkFormat* pColorAttachmentFormats VkFormat depthAttachmentFormat VkFormat stencilAttachmentFormat @@ -6460,6 +6472,13 @@ typedef void CAMetalLayer; const void* pNext float minLod + + VkStructureType sType + const void* pNext + VkBool32 rasterizationOrderColorAttachmentAccess + VkBool32 rasterizationOrderDepthAttachmentAccess + VkBool32 rasterizationOrderStencilAttachmentAccess + Vulkan enumerant (token) definitions @@ -7247,7 +7266,7 @@ typedef void CAMetalLayer; - + @@ -7775,9 +7794,9 @@ typedef void CAMetalLayer; - - - + + + @@ -7953,6 +7972,10 @@ typedef void CAMetalLayer; + + + + @@ -12948,12 +12971,14 @@ typedef void CAMetalLayer; - + + - + + @@ -13724,7 +13749,7 @@ typedef void CAMetalLayer; - + @@ -15264,7 +15289,7 @@ typedef void CAMetalLayer; - + @@ -16753,10 +16778,20 @@ typedef void CAMetalLayer; - + - - + + + + + + + + + + + + @@ -16848,10 +16883,14 @@ typedef void CAMetalLayer; - + - - + + + + + + @@ -17052,13 +17091,13 @@ typedef void CAMetalLayer; - + - + @@ -17334,7 +17373,7 @@ typedef void CAMetalLayer; - + @@ -17477,6 +17516,18 @@ typedef void CAMetalLayer; + + + + + + + + + + + + -- cgit v1.2.3