Update for Vulkan-Docs 1.2.192

This commit is contained in:
Jon Leech 2021-09-14 03:41:01 -07:00 committed by Jon Leech
parent 569280430b
commit c519fd7a3f
6 changed files with 6057 additions and 2796 deletions

View file

@ -79,6 +79,10 @@
# define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT # define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT
#endif #endif
#if !defined( VULKAN_HPP_STATIC_ASSERT )
# define VULKAN_HPP_STATIC_ASSERT static_assert
#endif
#if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL ) #if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL )
# define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1 # define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1
#endif #endif
@ -115,7 +119,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span> # include <span>
#endif #endif
static_assert( VK_HEADER_VERSION == 191, "Wrong VK_HEADER_VERSION!" ); static_assert( VK_HEADER_VERSION == 192, "Wrong VK_HEADER_VERSION!" );
// 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default. // 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 // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
@ -5630,7 +5634,12 @@ namespace VULKAN_HPP_NAMESPACE
} }
extern VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic; extern VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic;
# else # else
# define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic() static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
{
static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
return dls;
}
# define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::getDispatchLoaderStatic()
# define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE # define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
# endif # endif
#endif #endif

View file

@ -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 #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 // Version of this file
#define VK_HEADER_VERSION 191 #define VK_HEADER_VERSION 192
// Complete version of this file // Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION) #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 2, VK_HEADER_VERSION)
@ -6566,8 +6566,10 @@ VKAPI_ATTR void VKAPI_CALL vkCmdDispatchBaseKHR(
#define VK_KHR_maintenance1 1 #define VK_KHR_maintenance1 1
#define VK_KHR_MAINTENANCE1_SPEC_VERSION 2 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
#define VK_KHR_MAINTENANCE1_EXTENSION_NAME "VK_KHR_maintenance1" #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
#define VK_KHR_MAINTENANCE1_SPEC_VERSION VK_KHR_MAINTENANCE_1_SPEC_VERSION
#define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME
typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR; typedef VkCommandPoolTrimFlags VkCommandPoolTrimFlagsKHR;
typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags); typedef void (VKAPI_PTR *PFN_vkTrimCommandPoolKHR)(VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags);
@ -7147,8 +7149,10 @@ VKAPI_ATTR void VKAPI_CALL vkReleaseProfilingLockKHR(
#define VK_KHR_maintenance2 1 #define VK_KHR_maintenance2 1
#define VK_KHR_MAINTENANCE2_SPEC_VERSION 1 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1
#define VK_KHR_MAINTENANCE2_EXTENSION_NAME "VK_KHR_maintenance2" #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2"
#define VK_KHR_MAINTENANCE2_SPEC_VERSION VK_KHR_MAINTENANCE_2_SPEC_VERSION
#define VK_KHR_MAINTENANCE2_EXTENSION_NAME VK_KHR_MAINTENANCE_2_EXTENSION_NAME
typedef VkPointClippingBehavior VkPointClippingBehaviorKHR; typedef VkPointClippingBehavior VkPointClippingBehaviorKHR;
typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR; typedef VkTessellationDomainOrigin VkTessellationDomainOriginKHR;
@ -7401,8 +7405,10 @@ VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory2KHR(
#define VK_KHR_maintenance3 1 #define VK_KHR_maintenance3 1
#define VK_KHR_MAINTENANCE3_SPEC_VERSION 1 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1
#define VK_KHR_MAINTENANCE3_EXTENSION_NAME "VK_KHR_maintenance3" #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3"
#define VK_KHR_MAINTENANCE3_SPEC_VERSION VK_KHR_MAINTENANCE_3_SPEC_VERSION
#define VK_KHR_MAINTENANCE3_EXTENSION_NAME VK_KHR_MAINTENANCE_3_EXTENSION_NAME
typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR; typedef VkPhysicalDeviceMaintenance3Properties VkPhysicalDeviceMaintenance3PropertiesKHR;
typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR; typedef VkDescriptorSetLayoutSupport VkDescriptorSetLayoutSupportKHR;
@ -9302,8 +9308,10 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPastPresentationTimingGOOGLE(
#define VK_NV_viewport_array2 1 #define VK_NV_viewport_array2 1
#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION 1 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1
#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME "VK_NV_viewport_array2" #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2"
#define VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
#define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
#define VK_NVX_multiview_per_view_attributes 1 #define VK_NVX_multiview_per_view_attributes 1
@ -11113,8 +11121,10 @@ typedef VkPhysicalDeviceScalarBlockLayoutFeatures VkPhysicalDeviceScalarBlockLay
#define VK_GOOGLE_hlsl_functionality1 1 #define VK_GOOGLE_hlsl_functionality1 1
#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION 1 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1
#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1"
#define VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
#define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
#define VK_GOOGLE_decorate_string 1 #define VK_GOOGLE_decorate_string 1

View file

@ -1305,8 +1305,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkSurfaceKHR m_surfaceKHR = {}; VkSurfaceKHR m_surfaceKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::SurfaceKHR ) == sizeof( VkSurfaceKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SurfaceKHR ) == sizeof( VkSurfaceKHR ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SurfaceKHR>::value,
"SurfaceKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -1404,8 +1406,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDebugReportCallbackEXT m_debugReportCallbackEXT = {}; VkDebugReportCallbackEXT m_debugReportCallbackEXT = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT ) == sizeof( VkDebugReportCallbackEXT ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT ) ==
"handle and wrapper have different size!" ); sizeof( VkDebugReportCallbackEXT ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>::value,
"DebugReportCallbackEXT is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -1503,8 +1508,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {}; VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT ) == sizeof( VkDebugUtilsMessengerEXT ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT ) ==
"handle and wrapper have different size!" ); sizeof( VkDebugUtilsMessengerEXT ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>::value,
"DebugUtilsMessengerEXT is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -1593,8 +1601,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDisplayKHR m_displayKHR = {}; VkDisplayKHR m_displayKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DisplayKHR ) == sizeof( VkDisplayKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DisplayKHR ) == sizeof( VkDisplayKHR ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DisplayKHR>::value,
"DisplayKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -1691,8 +1701,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkSwapchainKHR m_swapchainKHR = {}; VkSwapchainKHR m_swapchainKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::SwapchainKHR ) == sizeof( VkSwapchainKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SwapchainKHR ) == sizeof( VkSwapchainKHR ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SwapchainKHR>::value,
"SwapchainKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -1787,8 +1799,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkSemaphore m_semaphore = {}; VkSemaphore m_semaphore = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Semaphore ) == sizeof( VkSemaphore ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Semaphore ) == sizeof( VkSemaphore ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Semaphore>::value,
"Semaphore is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -1883,8 +1897,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkFence m_fence = {}; VkFence m_fence = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Fence ) == sizeof( VkFence ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Fence ) == sizeof( VkFence ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Fence>::value,
"Fence is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eFence> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eFence>
@ -1981,9 +1997,12 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {}; VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL ) == VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL ) ==
sizeof( VkPerformanceConfigurationINTEL ), sizeof( VkPerformanceConfigurationINTEL ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT(
std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>::value,
"PerformanceConfigurationINTEL is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2071,8 +2090,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkQueryPool m_queryPool = {}; VkQueryPool m_queryPool = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::QueryPool ) == sizeof( VkQueryPool ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::QueryPool ) == sizeof( VkQueryPool ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::QueryPool>::value,
"QueryPool is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2167,8 +2188,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkBuffer m_buffer = {}; VkBuffer m_buffer = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Buffer ) == sizeof( VkBuffer ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Buffer ) == sizeof( VkBuffer ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Buffer>::value,
"Buffer is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eBuffer> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eBuffer>
@ -2264,8 +2287,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkPipelineLayout m_pipelineLayout = {}; VkPipelineLayout m_pipelineLayout = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::PipelineLayout ) == sizeof( VkPipelineLayout ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineLayout ) == sizeof( VkPipelineLayout ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineLayout>::value,
"PipelineLayout is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2362,8 +2387,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDescriptorSet m_descriptorSet = {}; VkDescriptorSet m_descriptorSet = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DescriptorSet ) == sizeof( VkDescriptorSet ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorSet ) == sizeof( VkDescriptorSet ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorSet>::value,
"DescriptorSet is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2458,8 +2485,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkImageView m_imageView = {}; VkImageView m_imageView = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::ImageView ) == sizeof( VkImageView ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageView ) == sizeof( VkImageView ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageView>::value,
"ImageView is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2554,8 +2583,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkPipeline m_pipeline = {}; VkPipeline m_pipeline = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Pipeline ) == sizeof( VkPipeline ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Pipeline ) == sizeof( VkPipeline ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Pipeline>::value,
"Pipeline is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePipeline> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::ePipeline>
@ -2649,8 +2680,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkImage m_image = {}; VkImage m_image = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Image ) == sizeof( VkImage ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Image ) == sizeof( VkImage ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Image>::value,
"Image is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eImage> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eImage>
@ -2746,8 +2779,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkAccelerationStructureNV m_accelerationStructureNV = {}; VkAccelerationStructureNV m_accelerationStructureNV = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureNV ) == sizeof( VkAccelerationStructureNV ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureNV ) ==
"handle and wrapper have different size!" ); sizeof( VkAccelerationStructureNV ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>::value,
"AccelerationStructureNV is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2845,8 +2881,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {}; VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate ) == sizeof( VkDescriptorUpdateTemplate ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate ) ==
"handle and wrapper have different size!" ); sizeof( VkDescriptorUpdateTemplate ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>::value,
"DescriptorUpdateTemplate is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -2942,8 +2981,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkEvent m_event = {}; VkEvent m_event = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Event ) == sizeof( VkEvent ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Event ) == sizeof( VkEvent ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Event>::value,
"Event is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eEvent> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eEvent>
@ -3039,8 +3080,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkAccelerationStructureKHR m_accelerationStructureKHR = {}; VkAccelerationStructureKHR m_accelerationStructureKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR ) == sizeof( VkAccelerationStructureKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR ) ==
"handle and wrapper have different size!" ); sizeof( VkAccelerationStructureKHR ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>::value,
"AccelerationStructureKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -4743,8 +4787,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkCommandBuffer m_commandBuffer = {}; VkCommandBuffer m_commandBuffer = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::CommandBuffer ) == sizeof( VkCommandBuffer ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CommandBuffer ) == sizeof( VkCommandBuffer ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CommandBuffer>::value,
"CommandBuffer is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -4841,8 +4887,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDeviceMemory m_deviceMemory = {}; VkDeviceMemory m_deviceMemory = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DeviceMemory ) == sizeof( VkDeviceMemory ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DeviceMemory ) == sizeof( VkDeviceMemory ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DeviceMemory>::value,
"DeviceMemory is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -4940,8 +4988,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkVideoSessionKHR m_videoSessionKHR = {}; VkVideoSessionKHR m_videoSessionKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::VideoSessionKHR ) == sizeof( VkVideoSessionKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoSessionKHR ) == sizeof( VkVideoSessionKHR ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoSessionKHR>::value,
"VideoSessionKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5032,8 +5082,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDeferredOperationKHR m_deferredOperationKHR = {}; VkDeferredOperationKHR m_deferredOperationKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DeferredOperationKHR ) == sizeof( VkDeferredOperationKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DeferredOperationKHR ) == sizeof( VkDeferredOperationKHR ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>::value,
"DeferredOperationKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5122,8 +5174,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkBufferView m_bufferView = {}; VkBufferView m_bufferView = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::BufferView ) == sizeof( VkBufferView ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferView ) == sizeof( VkBufferView ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferView>::value,
"BufferView is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5220,8 +5274,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkCommandPool m_commandPool = {}; VkCommandPool m_commandPool = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::CommandPool ) == sizeof( VkCommandPool ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CommandPool ) == sizeof( VkCommandPool ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CommandPool>::value,
"CommandPool is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5318,8 +5374,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkPipelineCache m_pipelineCache = {}; VkPipelineCache m_pipelineCache = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::PipelineCache ) == sizeof( VkPipelineCache ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineCache ) == sizeof( VkPipelineCache ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PipelineCache>::value,
"PipelineCache is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5416,8 +5474,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkCuFunctionNVX m_cuFunctionNVX = {}; VkCuFunctionNVX m_cuFunctionNVX = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::CuFunctionNVX ) == sizeof( VkCuFunctionNVX ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CuFunctionNVX ) == sizeof( VkCuFunctionNVX ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CuFunctionNVX>::value,
"CuFunctionNVX is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5514,8 +5574,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkCuModuleNVX m_cuModuleNVX = {}; VkCuModuleNVX m_cuModuleNVX = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::CuModuleNVX ) == sizeof( VkCuModuleNVX ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CuModuleNVX ) == sizeof( VkCuModuleNVX ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CuModuleNVX>::value,
"CuModuleNVX is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5612,8 +5674,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDescriptorPool m_descriptorPool = {}; VkDescriptorPool m_descriptorPool = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DescriptorPool ) == sizeof( VkDescriptorPool ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorPool ) == sizeof( VkDescriptorPool ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorPool>::value,
"DescriptorPool is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5710,8 +5774,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDescriptorSetLayout m_descriptorSetLayout = {}; VkDescriptorSetLayout m_descriptorSetLayout = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DescriptorSetLayout ) == sizeof( VkDescriptorSetLayout ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorSetLayout ) == sizeof( VkDescriptorSetLayout ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>::value,
"DescriptorSetLayout is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5808,8 +5874,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkFramebuffer m_framebuffer = {}; VkFramebuffer m_framebuffer = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Framebuffer ) == sizeof( VkFramebuffer ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Framebuffer ) == sizeof( VkFramebuffer ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Framebuffer>::value,
"Framebuffer is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5907,8 +5975,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {}; VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV ) == sizeof( VkIndirectCommandsLayoutNV ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV ) ==
"handle and wrapper have different size!" ); sizeof( VkIndirectCommandsLayoutNV ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>::value,
"IndirectCommandsLayoutNV is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -5998,8 +6069,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkPrivateDataSlotEXT m_privateDataSlotEXT = {}; VkPrivateDataSlotEXT m_privateDataSlotEXT = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT ) == sizeof( VkPrivateDataSlotEXT ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT ) == sizeof( VkPrivateDataSlotEXT ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>::value,
"PrivateDataSlotEXT is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -6088,8 +6161,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkRenderPass m_renderPass = {}; VkRenderPass m_renderPass = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::RenderPass ) == sizeof( VkRenderPass ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::RenderPass ) == sizeof( VkRenderPass ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::RenderPass>::value,
"RenderPass is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -6184,8 +6259,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkSampler m_sampler = {}; VkSampler m_sampler = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Sampler ) == sizeof( VkSampler ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Sampler ) == sizeof( VkSampler ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Sampler>::value,
"Sampler is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSampler> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eSampler>
@ -6282,8 +6359,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkSamplerYcbcrConversion m_samplerYcbcrConversion = {}; VkSamplerYcbcrConversion m_samplerYcbcrConversion = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ) == sizeof( VkSamplerYcbcrConversion ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion ) ==
"handle and wrapper have different size!" ); sizeof( VkSamplerYcbcrConversion ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>::value,
"SamplerYcbcrConversion is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -6381,8 +6461,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkShaderModule m_shaderModule = {}; VkShaderModule m_shaderModule = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::ShaderModule ) == sizeof( VkShaderModule ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ShaderModule ) == sizeof( VkShaderModule ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ShaderModule>::value,
"ShaderModule is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -6479,8 +6561,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkValidationCacheEXT m_validationCacheEXT = {}; VkValidationCacheEXT m_validationCacheEXT = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::ValidationCacheEXT ) == sizeof( VkValidationCacheEXT ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ValidationCacheEXT ) == sizeof( VkValidationCacheEXT ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>::value,
"ValidationCacheEXT is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -6579,8 +6663,11 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkVideoSessionParametersKHR m_videoSessionParametersKHR = {}; VkVideoSessionParametersKHR m_videoSessionParametersKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR ) == sizeof( VkVideoSessionParametersKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR ) ==
"handle and wrapper have different size!" ); sizeof( VkVideoSessionParametersKHR ),
"handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>::value,
"VideoSessionParametersKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -6816,8 +6903,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkQueue m_queue = {}; VkQueue m_queue = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Queue ) == sizeof( VkQueue ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Queue ) == sizeof( VkQueue ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Queue>::value,
"Queue is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eQueue> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eQueue>
@ -11457,8 +11546,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDevice m_device = {}; VkDevice m_device = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Device ) == sizeof( VkDevice ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Device ) == sizeof( VkDevice ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Device>::value,
"Device is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDevice> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eDevice>
@ -11554,8 +11645,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkDisplayModeKHR m_displayModeKHR = {}; VkDisplayModeKHR m_displayModeKHR = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::DisplayModeKHR ) == sizeof( VkDisplayModeKHR ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DisplayModeKHR ) == sizeof( VkDisplayModeKHR ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DisplayModeKHR>::value,
"DisplayModeKHR is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -13060,8 +13153,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkPhysicalDevice m_physicalDevice = {}; VkPhysicalDevice m_physicalDevice = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDevice ) == sizeof( VkPhysicalDevice ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDevice ) == sizeof( VkPhysicalDevice ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDevice>::value,
"PhysicalDevice is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( struct VULKAN_HPP_DEPRECATED(
@ -13842,8 +13937,10 @@ namespace VULKAN_HPP_NAMESPACE
private: private:
VkInstance m_instance = {}; VkInstance m_instance = {};
}; };
static_assert( sizeof( VULKAN_HPP_NAMESPACE::Instance ) == sizeof( VkInstance ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::Instance ) == sizeof( VkInstance ),
"handle and wrapper have different size!" ); "handle and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::Instance>::value,
"Instance is not nothrow_move_constructible!" );
template <> template <>
struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eInstance> struct VULKAN_HPP_DEPRECATED( "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eInstance>

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,9 @@
{ {
"version info": { "version info": {
"schema version": 2, "schema version": 2,
"api version": "1.2.191", "api version": "1.2.192",
"comment": "from git branch: github-main commit: ef0df9ab7cfd5081018b21174d10bc1d47cb734c", "comment": "from git branch: github-main commit: a09f9efe488cdd97c0362622fc1187f09302689e",
"date": "2021-09-07 06:52:35Z" "date": "2021-09-14 10:15:00Z"
}, },
"validation": { "validation": {
"vkGetInstanceProcAddr": { "vkGetInstanceProcAddr": {
@ -6480,7 +6480,7 @@
"(VK_VERSION_1_1,VK_KHR_maintenance2)+(VK_EXT_image_drm_format_modifier)": [ "(VK_VERSION_1_1,VK_KHR_maintenance2)+(VK_EXT_image_drm_format_modifier)": [
{ {
"vuid": "VUID-VkInputAttachmentAspectReference-aspectMask-02250", "vuid": "VUID-VkInputAttachmentAspectReference-aspectMask-02250",
"text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> for any index <code>i</code>" "text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> for any index <em>i</em>"
} }
] ]
}, },
@ -7206,7 +7206,7 @@
"(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_EXT_image_drm_format_modifier)": [ "(VK_VERSION_1_2,VK_KHR_create_renderpass2)+(VK_EXT_image_drm_format_modifier)": [
{ {
"vuid": "VUID-VkSubpassDescription2-attachment-04563", "vuid": "VUID-VkSubpassDescription2-attachment-04563",
"text": " If the <code>attachment</code> member of any element of <code>pInputAttachments</code> is not <code>VK_ATTACHMENT_UNUSED</code>, then the <code>aspectMask</code> member <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> for any index <code>i</code>" "text": " If the <code>attachment</code> member of any element of <code>pInputAttachments</code> is not <code>VK_ATTACHMENT_UNUSED</code>, then the <code>aspectMask</code> member <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> for any index <em>i</em>"
} }
] ]
}, },
@ -9380,7 +9380,7 @@
}, },
{ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00740", "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00740",
"text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, it includes both a fragment shader and a geometry shader, and the fragment shader code reads from an input variable that is decorated with <code>PrimitiveID</code>, then the geometry shader code <strong class=\"purple\">must</strong> write to a matching output variable, decorated with <code>PrimitiveID</code>, in all execution paths" "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and <a href=\"#pipeline-graphics-subsets-fragment-shader\">fragment shader state</a>, it includes both a fragment shader and a geometry shader, and the fragment shader code reads from an input variable that is decorated with <code>PrimitiveId</code>, then the geometry shader code <strong class=\"purple\">must</strong> write to a matching output variable, decorated with <code>PrimitiveId</code>, in all execution paths"
}, },
{ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00741", "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00741",
@ -9525,6 +9525,10 @@
{ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-stage-02096", "vuid": "VUID-VkGraphicsPipelineCreateInfo-stage-02096",
"text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> the <code>stage</code> member of one element of <code>pStages</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_STAGE_VERTEX_BIT</code> or <code>VK_SHADER_STAGE_MESH_BIT_NV</code>" "text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> the <code>stage</code> member of one element of <code>pStages</code> <strong class=\"purple\">must</strong> be either <code>VK_SHADER_STAGE_VERTEX_BIT</code> or <code>VK_SHADER_STAGE_MESH_BIT_NV</code>"
},
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-PrimitiveId-06264",
"text": " If the pipeline is being created with <a href=\"#pipeline-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a>, it includes a mesh shader and the fragment shader code reads from an input variable that is decorated with <code>PrimitiveId</code>, then the mesh shader code <strong class=\"purple\">must</strong> write to a matching output variable, decorated with <code>PrimitiveId</code>, in all execution paths"
} }
], ],
"!(VK_EXT_extended_dynamic_state)": [ "!(VK_EXT_extended_dynamic_state)": [
@ -13540,7 +13544,7 @@
"(VK_VERSION_1_1,VK_KHR_maintenance2)": [ "(VK_VERSION_1_1,VK_KHR_maintenance2)": [
{ {
"vuid": "VUID-VkImageCreateInfo-flags-01572", "vuid": "VUID-VkImageCreateInfo-flags-01572",
"text": " If <code>flags</code> contains <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code>, then <code>format</code> <strong class=\"purple\">must</strong> be a <a href=\"#appendix-compressedtex-bc\">block-compressed image format</a>, an <a href=\"#appendix-compressedtex-etc2\">ETC compressed image format</a>, or an <a href=\"#appendix-compressedtex-astc\">ASTC compressed image format</a>" "text": " If <code>flags</code> contains <code>VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT</code>, then <code>format</code> <strong class=\"purple\">must</strong> be a <a href=\"#compressed_image_formats\">compressed image format</a>"
}, },
{ {
"vuid": "VUID-VkImageCreateInfo-flags-01573", "vuid": "VUID-VkImageCreateInfo-flags-01573",
@ -13880,7 +13884,7 @@
}, },
{ {
"vuid": "VUID-vkGetImageSubresourceLayout-tiling-02271", "vuid": "VUID-vkGetImageSubresourceLayout-tiling-02271",
"text": " If the <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT</code>, then the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> and the index <code>i</code> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkDrmFormatModifierPropertiesEXT\">VkDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifierPlaneCount</code> associated with the image&#8217;s <code>format</code> and <a href=\"#VkImageDrmFormatModifierPropertiesEXT\">VkImageDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifier</code>" "text": " If the <code>tiling</code> of the <code>image</code> is <code>VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT</code>, then the <code>aspectMask</code> member of <code>pSubresource</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> and the index <em>i</em> <strong class=\"purple\">must</strong> be less than the <a href=\"#VkDrmFormatModifierPropertiesEXT\">VkDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifierPlaneCount</code> associated with the image&#8217;s <code>format</code> and <a href=\"#VkImageDrmFormatModifierPropertiesEXT\">VkImageDrmFormatModifierPropertiesEXT</a>::<code>drmFormatModifier</code>"
} }
], ],
"core": [ "core": [
@ -14446,7 +14450,7 @@
"(VK_EXT_image_drm_format_modifier)": [ "(VK_EXT_image_drm_format_modifier)": [
{ {
"vuid": "VUID-VkImageSubresourceRange-aspectMask-02278", "vuid": "VUID-VkImageSubresourceRange-aspectMask-02278",
"text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> for any index <code>i</code>" "text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> for any index <em>i</em>"
} }
] ]
}, },
@ -19488,7 +19492,7 @@
}, },
{ {
"vuid": "VUID-PrimitiveId-Fragment-04333", "vuid": "VUID-PrimitiveId-Fragment-04333",
"text": " If <code>Fragment</code> {ExecutionModel} contains a variable decorated with <code>PrimitiveId</code> either the <code>Geometry</code> or <code>Tessellation</code> capability <strong class=\"purple\">must</strong> also be declared" "text": " If <code>Fragment</code> {ExecutionModel} contains a variable decorated with <code>PrimitiveId</code>, then either the <code>MeshShadingNV</code>, <code>Geometry</code> or <code>Tessellation</code> capability <strong class=\"purple\">must</strong> also be declared"
}, },
{ {
"vuid": "VUID-PrimitiveId-PrimitiveId-04334", "vuid": "VUID-PrimitiveId-PrimitiveId-04334",
@ -21702,7 +21706,7 @@
"(VK_EXT_image_drm_format_modifier)": [ "(VK_EXT_image_drm_format_modifier)": [
{ {
"vuid": "VUID-VkClearAttachment-aspectMask-02246", "vuid": "VUID-VkClearAttachment-aspectMask-02246",
"text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> for any index <code>i</code>" "text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> for any index <em>i</em>"
} }
] ]
}, },
@ -22466,7 +22470,7 @@
"(VK_EXT_image_drm_format_modifier)": [ "(VK_EXT_image_drm_format_modifier)": [
{ {
"vuid": "VUID-VkImageSubresourceLayers-aspectMask-02247", "vuid": "VUID-VkImageSubresourceLayers-aspectMask-02247",
"text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT</code> for any index <code>i</code>" "text": " <code>aspectMask</code> <strong class=\"purple\">must</strong> not include <code>VK_IMAGE_ASPECT_MEMORY_PLANE<em>{ibit}</em>BIT_EXT</code> for any index <em>i</em>"
} }
] ]
}, },
@ -43963,6 +43967,520 @@
"text": " The <code>Base</code> operand of any <code>OpBitCount</code>, <code>OpBitReverse</code>, <code>OpBitFieldInsert</code>, <code>OpBitFieldSExtract</code>, or <code>OpBitFieldUExtract</code> instruction <strong class=\"purple\">must</strong> be a 32-bit integer scalar or a vector of 32-bit integers" "text": " The <code>Base</code> operand of any <code>OpBitCount</code>, <code>OpBitReverse</code>, <code>OpBitFieldInsert</code>, <code>OpBitFieldSExtract</code>, or <code>OpBitFieldUExtract</code> instruction <strong class=\"purple\">must</strong> be a 32-bit integer scalar or a vector of 32-bit integers"
} }
] ]
},
"RuntimeSpirv": {
"(VK_VERSION_1_2,VK_KHR_vulkan_memory_model)": [
{
"vuid": "VUID-RuntimeSpirv-vulkanMemoryModel-06265",
"text": " If <a href=\"#features-vulkanMemoryModel\"><code>vulkanMemoryModel</code></a> is enabled and <a href=\"#features-vulkanMemoryModelDeviceScope\"><code>vulkanMemoryModelDeviceScope</code></a> is not enabled, <strong>Device</strong> memory scope <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-vulkanMemoryModel-06266",
"text": " If <a href=\"#features-vulkanMemoryModel\"><code>vulkanMemoryModel</code></a> is not enabled, <strong>QueueFamily</strong> memory scope <strong class=\"purple\">must</strong> not be used."
}
],
"(VK_KHR_shader_clock)": [
{
"vuid": "VUID-RuntimeSpirv-shaderSubgroupClock-06267",
"text": " If <a href=\"#features-shaderSubgroupClock\"><code>shaderSubgroupClock</code></a> is not enabled, the <code>Subgroup</code> scope <strong class=\"purple\">must</strong> not be used for <code>OpReadClockKHR</code>."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDeviceClock-06268",
"text": " If <a href=\"#features-shaderDeviceClock\"><code>shaderDeviceClock</code></a> is not enabled, the <code>Device</code> scope <strong class=\"purple\">must</strong> not be used for <code>OpReadClockKHR</code>."
}
],
"core": [
{
"vuid": "VUID-RuntimeSpirv-OpTypeImage-06269",
"text": " If <a href=\"#features-shaderStorageImageWriteWithoutFormat\">shaderStorageImageWriteWithoutFormat</a> is not enabled, any variable created with a &#8220;Type&#8221; of <code>OpTypeImage</code> that has a &#8220;Sampled&#8221; operand of 2 and an &#8220;Image Format&#8221; operand of <code>Unknown</code> <strong class=\"purple\">must</strong> be decorated with <code>NonWritable</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpTypeImage-06270",
"text": " If <a href=\"#features-shaderStorageImageReadWithoutFormat\">shaderStorageImageReadWithoutFormat</a> is not enabled, any variable created with a &#8220;Type&#8221; of <code>OpTypeImage</code> that has a &#8220;Sampled&#8221; operand of 2 and an &#8220;Image Format&#8221; operand of <code>Unknown</code> <strong class=\"purple\">must</strong> be decorated with <code>NonReadable</code>."
},
{
"vuid": "VUID-RuntimeSpirv-BuiltIn-06271",
"text": " Any <code>BuiltIn</code> decoration that corresponds only to Vulkan features or extensions that have not been enabled <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-Location-06272",
"text": " The sum of <code>Location</code> and the number of locations the variable it decorates consumes <strong class=\"purple\">must</strong> be less than or equal to the value for the matching {ExecutionModel} defined in <a href=\"#interfaces-iointerfaces-limits\">Shader Input and Output Locations</a>"
},
{
"vuid": "VUID-RuntimeSpirv-DescriptorSet-06323",
"text": " <code>DescriptorSet</code> and <code>Binding</code> decorations <strong class=\"purple\">must</strong> obey the constraints on storage class, type, and descriptor type described in <a href=\"#interfaces-resources-setandbinding\">DescriptorSet and Binding Assignment</a>"
},
{
"vuid": "VUID-RuntimeSpirv-NonWritable-06340",
"text": " If <a href=\"#features-fragmentStoresAndAtomics\">fragmentStoresAndAtomics</a> is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the fragment stage <strong class=\"purple\">must</strong> be decorated with the <code>NonWritable</code> decoration."
},
{
"vuid": "VUID-RuntimeSpirv-NonWritable-06341",
"text": " If <a href=\"#features-vertexPipelineStoresAndAtomics\">vertexPipelineStoresAndAtomics</a> is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages <strong class=\"purple\">must</strong> be decorated with the <code>NonWritable</code> decoration."
},
{
"vuid": "VUID-RuntimeSpirv-None-06342",
"text": " If <a href=\"#limits-subgroupQuadOperationsInAllStages\">subgroupQuadOperationsInAllStages</a> is <code>VK_FALSE</code>, then <a href=\"#features-subgroup-quad\">quad subgroup operations</a> <strong class=\"purple\">must</strong> not be used except for in fragment and compute stages."
},
{
"vuid": "VUID-RuntimeSpirv-None-06343",
"text": " <a href=\"#shaders-group-operations\">Group operations</a> with <a href=\"#shaders-scope-subgroup\">subgroup scope</a> <strong class=\"purple\">must</strong> not be used if the shader stage is not in <a href=\"#limits-subgroupSupportedStages\">subgroupSupportedStages</a>."
},
{
"vuid": "VUID-RuntimeSpirv-Offset-06344",
"text": " The first element of the <code>Offset</code> operand of <code>InterpolateAtOffset</code> <strong class=\"purple\">must</strong> be greater than or equal to:"
},
{
"vuid": "VUID-RuntimeSpirv-Offset-06345",
"text": " The first element of the <code>Offset</code> operand of <code>InterpolateAtOffset</code> <strong class=\"purple\">must</strong> be less than or equal to:"
},
{
"vuid": "VUID-RuntimeSpirv-Offset-06346",
"text": " The second element of the <code>Offset</code> operand of <code>InterpolateAtOffset</code> <strong class=\"purple\">must</strong> be greater than or equal to:"
},
{
"vuid": "VUID-RuntimeSpirv-Offset-06347",
"text": " The second element of the <code>Offset</code> operand of <code>InterpolateAtOffset</code> <strong class=\"purple\">must</strong> be less than or equal to:"
},
{
"vuid": "VUID-RuntimeSpirv-x-06368",
"text": " The <code>x</code> size in <code>LocalSize</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[0]"
},
{
"vuid": "VUID-RuntimeSpirv-y-06369",
"text": " The <code>y</code> size in <code>LocalSize</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[1]"
},
{
"vuid": "VUID-RuntimeSpirv-z-06370",
"text": " The <code>z</code> size in <code>LocalSize</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupSize</code>[2]"
},
{
"vuid": "VUID-RuntimeSpirv-x-06371",
"text": " The product of <code>x</code> size, <code>y</code> size, and <code>z</code> size in <code>LocalSize</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceLimits</code>::<code>maxComputeWorkGroupInvocations</code>"
},
{
"vuid": "VUID-RuntimeSpirv-OpImage-06376",
"text": " If an <code>OpImage*Gather</code> operation has an image operand of <code>Offset</code>, <code>ConstOffset</code>, or <code>ConstOffsets</code> the offset value <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#limits-minTexelGatherOffset\">minTexelGatherOffset</a>"
},
{
"vuid": "VUID-RuntimeSpirv-OpImage-06377",
"text": " If an <code>OpImage*Gather</code> operation has an image operand of <code>Offset</code>, <code>ConstOffset</code>, or <code>ConstOffsets</code> the offset value <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#limits-maxTexelGatherOffset\">maxTexelGatherOffset</a>"
}
],
"(VK_VERSION_1_2,VK_EXT_descriptor_indexing)": [
{
"vuid": "VUID-RuntimeSpirv-OpTypeRuntimeArray-06273",
"text": " <code>OpTypeRuntimeArray</code> <strong class=\"purple\">must</strong> only be used for an array of variables with storage class <code>Uniform</code>, <code>StorageBuffer</code>, or <code>UniformConstant</code>, or for the outermost dimension of an array of arrays of such variables if the <a href=\"#features-runtimeDescriptorArray\">runtimeDescriptorArray</a> feature is enabled,"
},
{
"vuid": "VUID-RuntimeSpirv-NonUniform-06274",
"text": " If an instruction loads from or stores to a resource (including atomics and image instructions) and the resource descriptor being accessed is not dynamically uniform, then the operand corresponding to that resource (e.g. the pointer or sampled image operand) <strong class=\"purple\">must</strong> be decorated with <code>NonUniform</code>."
}
],
"(VK_VERSION_1_2,VK_KHR_shader_subgroup_extended_types)": [
{
"vuid": "VUID-RuntimeSpirv-None-06275",
"text": " <a href=\"#features-subgroup-extended-types\">shaderSubgroupExtendedTypes</a> <strong class=\"purple\">must</strong> be enabled for <a href=\"#shaders-group-operations\">group operations</a> to use 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types"
}
],
"(VK_VERSION_1_2)": [
{
"vuid": "VUID-RuntimeSpirv-subgroupBroadcastDynamicId-06276",
"text": " If <a href=\"#features-subgroupBroadcastDynamicId\"><code>subgroupBroadcastDynamicId</code></a> is <code>VK_TRUE</code>, and the shader module version is 1.5 or higher, the &#8220;Index&#8221; for <code>OpGroupNonUniformQuadBroadcast</code> <strong class=\"purple\">must</strong> be dynamically uniform within the derivative group. Otherwise, &#8220;Index&#8221; <strong class=\"purple\">must</strong> be a constant."
},
{
"vuid": "VUID-RuntimeSpirv-subgroupBroadcastDynamicId-06277",
"text": " If <a href=\"#features-subgroupBroadcastDynamicId\"><code>subgroupBroadcastDynamicId</code></a> is <code>VK_TRUE</code>, and the shader module version is 1.5 or higher, the &#8220;Id&#8221; for <code>OpGroupNonUniformBroadcast</code> <strong class=\"purple\">must</strong> be dynamically uniform within the subgroup. Otherwise, &#8220;Id&#8221; <strong class=\"purple\">must</strong> be a constant."
}
],
"(VK_KHR_shader_atomic_int64)": [
{
"vuid": "VUID-RuntimeSpirv-None-06278",
"text": " <a href=\"#features-shaderBufferInt64Atomics\">shaderBufferInt64Atomics</a> <strong class=\"purple\">must</strong> be enabled for 64-bit integer atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>StorageBuffer</strong> or <strong>Uniform</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06279",
"text": " <a href=\"#features-shaderSharedInt64Atomics\">shaderSharedInt64Atomics</a> <strong class=\"purple\">must</strong> be enabled for 64-bit integer atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>Workgroup</strong>."
}
],
"(VK_EXT_shader_atomic_float)+!(VK_EXT_shader_atomic_float2)": [
{
"vuid": "VUID-RuntimeSpirv-None-06280",
"text": " <a href=\"#features-shaderBufferFloat32Atomics\">shaderBufferFloat32Atomics</a>, or <a href=\"#features-shaderBufferFloat32AtomicAdd\">shaderBufferFloat32AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat64Atomics\">shaderBufferFloat64Atomics</a>, or <a href=\"#features-shaderBufferFloat64AtomicAdd\">shaderBufferFloat64AtomicAdd</a> <strong class=\"purple\">must</strong> be enabled for floating-point atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>StorageBuffer</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06281",
"text": " <a href=\"#features-shaderSharedFloat32Atomics\">shaderSharedFloat32Atomics</a>, or <a href=\"#features-shaderSharedFloat32AtomicAdd\">shaderSharedFloat32AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat64Atomics\">shaderSharedFloat64Atomics</a>, or <a href=\"#features-shaderSharedFloat64AtomicAdd\">shaderSharedFloat64AtomicAdd</a> <strong class=\"purple\">must</strong> be enabled for floating-point atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>Workgroup</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06282",
"text": " <a href=\"#features-shaderImageFloat32Atomics\">shaderImageFloat32Atomics</a> or <a href=\"#features-shaderImageFloat32AtomicAdd\">shaderImageFloat32AtomicAdd</a> <strong class=\"purple\">must</strong> be enabled for 32-bit floating-point atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>Image</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06283",
"text": " <a href=\"#features-sparseImageFloat32Atomics\">sparseImageFloat32Atomics</a> or <a href=\"#features-sparseImageFloat32AtomicAdd\">sparseImageFloat32AtomicAdd</a> <strong class=\"purple\">must</strong> be enabled for 32-bit floating-point atomics to be supported on sparse images."
},
{
"vuid": "VUID-RuntimeSpirv-None-06335",
"text": " <a href=\"#features-shaderBufferFloat32Atomics\">shaderBufferFloat32Atomics</a>, or <a href=\"#features-shaderBufferFloat32AtomicAdd\">shaderBufferFloat32AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat32Atomics\">shaderSharedFloat32Atomics</a>, or <a href=\"#features-shaderSharedFloat32AtomicAdd\">shaderSharedFloat32AtomicAdd</a>, or <a href=\"#features-shaderImageFloat32Atomics\">shaderImageFloat32Atomics</a>, or <a href=\"#features-shaderImageFloat32AtomicAdd\">shaderImageFloat32AtomicAdd</a> <strong class=\"purple\">must</strong> be enabled for 32-bit floating point atomic operations"
},
{
"vuid": "VUID-RuntimeSpirv-None-06336",
"text": " <a href=\"#features-shaderBufferFloat64Atomics\">shaderBufferFloat64Atomics</a>, or <a href=\"#features-shaderBufferFloat64AtomicAdd\">shaderBufferFloat64AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat64Atomics\">shaderSharedFloat64Atomics</a>, or <a href=\"#features-shaderSharedFloat64AtomicAdd\">shaderSharedFloat64AtomicAdd</a> <strong class=\"purple\">must</strong> be enabled for 64-bit floating point atomic operations"
}
],
"(VK_EXT_shader_atomic_float2)": [
{
"vuid": "VUID-RuntimeSpirv-None-06284",
"text": " <a href=\"#features-shaderBufferFloat32Atomics\">shaderBufferFloat32Atomics</a>, or <a href=\"#features-shaderBufferFloat32AtomicAdd\">shaderBufferFloat32AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat64Atomics\">shaderBufferFloat64Atomics</a>, or <a href=\"#features-shaderBufferFloat64AtomicAdd\">shaderBufferFloat64AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderBufferFloat16Atomics</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderBufferFloat16AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderBufferFloat16AtomicMinMax</a>, or <a href=\"#features-shaderBufferFloat32AtomicMinMax\">shaderBufferFloat32AtomicMinMax</a>, or <a href=\"#features-shaderBufferFloat64AtomicMinMax\">shaderBufferFloat64AtomicMinMax</a> <strong class=\"purple\">must</strong> be enabled for floating-point atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>StorageBuffer</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06285",
"text": " <a href=\"#features-shaderSharedFloat32Atomics\">shaderSharedFloat32Atomics</a>, or <a href=\"#features-shaderSharedFloat32AtomicAdd\">shaderSharedFloat32AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat64Atomics\">shaderSharedFloat64Atomics</a>, or <a href=\"#features-shaderSharedFloat64AtomicAdd\">shaderSharedFloat64AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderSharedFloat16Atomics</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderSharedFloat16AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderSharedFloat16AtomicMinMax</a>, or <a href=\"#features-shaderSharedFloat32AtomicMinMax\">shaderSharedFloat32AtomicMinMax</a>, or <a href=\"#features-shaderSharedFloat64AtomicMinMax\">shaderSharedFloat64AtomicMinMax</a> <strong class=\"purple\">must</strong> be enabled for floating-point atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>Workgroup</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06286",
"text": " <a href=\"#features-shaderImageFloat32Atomics\">shaderImageFloat32Atomics</a>, or <a href=\"#features-shaderImageFloat32AtomicAdd\">shaderImageFloat32AtomicAdd</a>, or <a href=\"#features-shaderImageFloat32AtomicMinMax\">shaderImageFloat32AtomicMinMax</a> <strong class=\"purple\">must</strong> be enabled for 32-bit floating-point atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>Image</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-None-06287",
"text": " <a href=\"#features-sparseImageFloat32Atomics\">sparseImageFloat32Atomics</a>, or <a href=\"#features-sparseImageFloat32AtomicAdd\">sparseImageFloat32AtomicAdd</a>, or <a href=\"#features-sparseImageFloat32AtomicMinMax\">sparseImageFloat32AtomicMinMax</a> <strong class=\"purple\">must</strong> be enabled for 32-bit floating-point atomics to be supported on sparse images."
},
{
"vuid": "VUID-RuntimeSpirv-None-06337",
"text": " <a href=\"#features-shaderBufferFloat16Atomics\">shaderBufferFloat16Atomics</a>, or <a href=\"#features-shaderBufferFloat16AtomicAdd\">shaderBufferFloat16AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat16AtomicMinMax\">shaderBufferFloat16AtomicMinMax</a>, or <a href=\"#features-shaderSharedFloat16Atomics\">shaderSharedFloat16Atomics</a>, or <a href=\"#features-shaderSharedFloat16AtomicAdd\">shaderSharedFloat16AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat16AtomicMinMax\">shaderSharedFloat16AtomicMinMax</a> <strong class=\"purple\">must</strong> be enabled for 16-bit floating point atomic operations"
},
{
"vuid": "VUID-RuntimeSpirv-None-06338",
"text": " <a href=\"#features-shaderBufferFloat32Atomics\">shaderBufferFloat32Atomics</a>, or <a href=\"#features-shaderBufferFloat32AtomicAdd\">shaderBufferFloat32AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat32Atomics\">shaderSharedFloat32Atomics</a>, or <a href=\"#features-shaderSharedFloat32AtomicAdd\">shaderSharedFloat32AtomicAdd</a>, or <a href=\"#features-shaderImageFloat32Atomics\">shaderImageFloat32Atomics</a>, or <a href=\"#features-shaderImageFloat32AtomicAdd\">shaderImageFloat32AtomicAdd</a> or <a href=\"#features-shaderBufferFloat32AtomicMinMax\">shaderBufferFloat32AtomicMinMax</a>, or <a href=\"#features-shaderSharedFloat32AtomicMinMax\">shaderSharedFloat32AtomicMinMax</a>, or <a href=\"#features-shaderImageFloat32AtomicMinMax\">shaderImageFloat32AtomicMinMax</a> <strong class=\"purple\">must</strong> be enabled for 32-bit floating point atomic operations"
},
{
"vuid": "VUID-RuntimeSpirv-None-06339",
"text": " <a href=\"#features-shaderBufferFloat64Atomics\">shaderBufferFloat64Atomics</a>, or <a href=\"#features-shaderBufferFloat64AtomicAdd\">shaderBufferFloat64AtomicAdd</a>, or <a href=\"#features-shaderSharedFloat64Atomics\">shaderSharedFloat64Atomics</a>, or <a href=\"#features-shaderSharedFloat64AtomicAdd\">shaderSharedFloat64AtomicAdd</a>, or <a href=\"#features-shaderBufferFloat64AtomicMinMax\">shaderBufferFloat64AtomicMinMax</a>, or <a href=\"#features-shaderSharedFloat64AtomicMinMax\">shaderSharedFloat64AtomicMinMax</a>, <strong class=\"purple\">must</strong> be enabled for 64-bit floating point atomic operations"
}
],
"(VK_EXT_shader_image_atomic_int64)": [
{
"vuid": "VUID-RuntimeSpirv-None-06288",
"text": " <a href=\"#features-shaderImageInt64Atomics\">shaderImageInt64Atomics</a> <strong class=\"purple\">must</strong> be enabled for 64-bit integer atomic operations to be supported on a <em>Pointer</em> with a <strong>Storage Class</strong> of <strong>Image</strong>."
}
],
"(VK_VERSION_1_2,VK_KHR_shader_float_controls)": [
{
"vuid": "VUID-RuntimeSpirv-denormBehaviorIndependence-06289",
"text": " If <a href=\"#features-denormBehaviorIndependence\"><code>denormBehaviorIndependence</code></a> is <code>VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY</code>, then the entry point <strong class=\"purple\">must</strong> use the same denormals execution mode for both 16-bit and 64-bit floating-point types."
},
{
"vuid": "VUID-RuntimeSpirv-denormBehaviorIndependence-06290",
"text": " If <a href=\"#features-denormBehaviorIndependence\"><code>denormBehaviorIndependence</code></a> is <code>VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE</code>, then the entry point <strong class=\"purple\">must</strong> use the same denormals execution mode for all floating-point types."
},
{
"vuid": "VUID-RuntimeSpirv-roundingModeIndependence-06291",
"text": " If <a href=\"#features-roundingModeIndependence\"><code>roundingModeIndependence</code></a> is <code>VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY</code>, then the entry point <strong class=\"purple\">must</strong> use the same rounding execution mode for both 16-bit and 64-bit floating-point types."
},
{
"vuid": "VUID-RuntimeSpirv-roundingModeIndependence-06292",
"text": " If <a href=\"#features-roundingModeIndependence\"><code>roundingModeIndependence</code></a> is <code>VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE</code>, then the entry point <strong class=\"purple\">must</strong> use the same rounding execution mode for all floating-point types."
},
{
"vuid": "VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat16-06293",
"text": " If <a href=\"#limits-shaderSignedZeroInfNanPreserveFloat16\"><code>shaderSignedZeroInfNanPreserveFloat16</code></a> is <code>VK_FALSE</code>, then <code>SignedZeroInfNanPreserve</code> for 16-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat32-06294",
"text": " If <a href=\"#limits-shaderSignedZeroInfNanPreserveFloat32\"><code>shaderSignedZeroInfNanPreserveFloat32</code></a> is <code>VK_FALSE</code>, then <code>SignedZeroInfNanPreserve</code> for 32-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderSignedZeroInfNanPreserveFloat64-06295",
"text": " If <a href=\"#limits-shaderSignedZeroInfNanPreserveFloat64\"><code>shaderSignedZeroInfNanPreserveFloat64</code></a> is <code>VK_FALSE</code>, then <code>SignedZeroInfNanPreserve</code> for 64-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDenormPreserveFloat16-06296",
"text": " If <a href=\"#limits-shaderDenormPreserveFloat16\"><code>shaderDenormPreserveFloat16</code></a> is <code>VK_FALSE</code>, then <code>DenormPreserve</code> for 16-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDenormPreserveFloat32-06297",
"text": " If <a href=\"#limits-shaderDenormPreserveFloat32\"><code>shaderDenormPreserveFloat32</code></a> is <code>VK_FALSE</code>, then <code>DenormPreserve</code> for 32-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDenormPreserveFloat64-06298",
"text": " If <a href=\"#limits-shaderDenormPreserveFloat64\"><code>shaderDenormPreserveFloat64</code></a> is <code>VK_FALSE</code>, then <code>DenormPreserve</code> for 64-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDenormFlushToZeroFloat16-06299",
"text": " If <a href=\"#limits-shaderDenormFlushToZeroFloat16\"><code>shaderDenormFlushToZeroFloat16</code></a> is <code>VK_FALSE</code>, then <code>DenormFlushToZero</code> for 16-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDenormFlushToZeroFloat32-06300",
"text": " If <a href=\"#limits-shaderDenormFlushToZeroFloat32\"><code>shaderDenormFlushToZeroFloat32</code></a> is <code>VK_FALSE</code>, then <code>DenormFlushToZero</code> for 32-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderDenormFlushToZeroFloat64-06301",
"text": " If <a href=\"#limits-shaderDenormFlushToZeroFloat64\"><code>shaderDenormFlushToZeroFloat64</code></a> is <code>VK_FALSE</code>, then <code>DenormFlushToZero</code> for 64-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderRoundingModeRTEFloat16-06302",
"text": " If <a href=\"#limits-shaderRoundingModeRTEFloat16\"><code>shaderRoundingModeRTEFloat16</code></a> is <code>VK_FALSE</code>, then <code>RoundingModeRTE</code> for 16-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderRoundingModeRTEFloat32-06303",
"text": " If <a href=\"#limits-shaderRoundingModeRTEFloat32\"><code>shaderRoundingModeRTEFloat32</code></a> is <code>VK_FALSE</code>, then <code>RoundingModeRTE</code> for 32-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderRoundingModeRTEFloat64-06304",
"text": " If <a href=\"#limits-shaderRoundingModeRTEFloat64\"><code>shaderRoundingModeRTEFloat64</code></a> is <code>VK_FALSE</code>, then <code>RoundingModeRTE</code> for 64-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderRoundingModeRTZFloat16-06305",
"text": " If <a href=\"#limits-shaderRoundingModeRTZFloat16\"><code>shaderRoundingModeRTZFloat16</code></a> is <code>VK_FALSE</code>, then <code>RoundingModeRTZ</code> for 16-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderRoundingModeRTZFloat32-06306",
"text": " If <a href=\"#limits-shaderRoundingModeRTZFloat32\"><code>shaderRoundingModeRTZFloat32</code></a> is <code>VK_FALSE</code>, then <code>RoundingModeRTZ</code> for 32-bit floating-point type <strong class=\"purple\">must</strong> not be used."
},
{
"vuid": "VUID-RuntimeSpirv-shaderRoundingModeRTZFloat64-06307",
"text": " If <a href=\"#limits-shaderRoundingModeRTZFloat64\"><code>shaderRoundingModeRTZFloat64</code></a> is <code>VK_FALSE</code>, then <code>RoundingModeRTZ</code> for 64-bit floating-point type <strong class=\"purple\">must</strong> not be used."
}
],
"(VK_EXT_transform_feedback)": [
{
"vuid": "VUID-RuntimeSpirv-Offset-06308",
"text": " The <code>Offset</code> plus size of the type of each variable, in the output interface of the entry point being compiled, decorated with <code>XfbBuffer</code> <strong class=\"purple\">must</strong> not be greater than <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>maxTransformFeedbackBufferDataSize</code>"
},
{
"vuid": "VUID-RuntimeSpirv-XfbBuffer-06309",
"text": " For any given <code>XfbBuffer</code> value, define the buffer data size to be smallest number of bytes such that, for all outputs decorated with the same <code>XfbBuffer</code> value, the size of the output interface variable plus the <code>Offset</code> is less than or equal to the buffer data size. For a given <code>Stream</code>, the sum of all the buffer data sizes for all buffers writing to that stream the <strong class=\"purple\">must</strong> not exceed <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>maxTransformFeedbackStreamDataSize</code>"
},
{
"vuid": "VUID-RuntimeSpirv-OpEmitStreamVertex-06310",
"text": " The Stream value to <code>OpEmitStreamVertex</code> and <code>OpEndStreamPrimitive</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>maxTransformFeedbackStreams</code>"
},
{
"vuid": "VUID-RuntimeSpirv-transformFeedbackStreamsLinesTriangles-06311",
"text": " If the geometry shader emits to more than one vertex stream and <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>transformFeedbackStreamsLinesTriangles</code> is <code>VK_FALSE</code>, then execution mode <strong class=\"purple\">must</strong> be <code>OutputPoints</code>"
},
{
"vuid": "VUID-RuntimeSpirv-Stream-06312",
"text": " The stream number value to <code>Stream</code> <strong class=\"purple\">must</strong> be less than <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>maxTransformFeedbackStreams</code>"
},
{
"vuid": "VUID-RuntimeSpirv-XfbStride-06313",
"text": " The XFB Stride value to <code>XfbStride</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceTransformFeedbackPropertiesEXT</code>::<code>maxTransformFeedbackBufferDataStride</code>"
}
],
"(VK_VERSION_1_2,VK_EXT_buffer_device_address,VK_KHR_buffer_device_address)": [
{
"vuid": "VUID-RuntimeSpirv-PhysicalStorageBuffer64-06314",
"text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled any load or store through a physical pointer type <strong class=\"purple\">must</strong> be aligned to a multiple of the size of the largest scalar type in the pointed-to type."
},
{
"vuid": "VUID-RuntimeSpirv-PhysicalStorageBuffer64-06315",
"text": " If the <code>PhysicalStorageBuffer64</code> addressing model is enabled the pointer value of a memory access instruction <strong class=\"purple\">must</strong> be at least as aligned as specified by the <code>Aligned</code> memory access operand."
}
],
"(VK_NV_cooperative_matrix)": [
{
"vuid": "VUID-RuntimeSpirv-OpTypeCooperativeMatrixNV-06316",
"text": " For <code>OpTypeCooperativeMatrixNV</code>, the component type, scope, number of rows, and number of columns <strong class=\"purple\">must</strong> match one of the matrices in any of the supported <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>."
},
{
"vuid": "VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06317",
"text": " For <code>OpCooperativeMatrixMulAddNV</code>, the type of <code>A</code> <strong class=\"purple\">must</strong> have <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>MSize</code> rows and <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>KSize</code> columns and have a component type that matches <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>AType</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06318",
"text": " For <code>OpCooperativeMatrixMulAddNV</code>, the type of <code>B</code> <strong class=\"purple\">must</strong> have <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>KSize</code> rows and <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>NSize</code> columns and have a component type that matches <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>BType</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06319",
"text": " For <code>OpCooperativeMatrixMulAddNV</code>, the type of <code>C</code> <strong class=\"purple\">must</strong> have <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>MSize</code> rows and <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>NSize</code> columns and have a component type that matches <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>CType</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06320",
"text": " For <code>OpCooperativeMatrixMulAddNV</code>, the type of <code>Result</code> <strong class=\"purple\">must</strong> have <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>MSize</code> rows and <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>NSize</code> columns and have a component type that matches <a href=\"#VkCooperativeMatrixPropertiesNV\">VkCooperativeMatrixPropertiesNV</a>::<code>DType</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpCooperativeMatrixMulAddNV-06321",
"text": " For <code>OpCooperativeMatrixMulAddNV</code>, the type of <code>A</code>, <code>B</code>, <code>C</code>, and <code>Result</code> <strong class=\"purple\">must</strong> all have a scope of <code>scope</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpTypeCooperativeMatrixNV-06322",
"text": " <code>OpTypeCooperativeMatrixNV</code> and <code>OpCooperativeMatrix*</code> instructions <strong class=\"purple\">must</strong> not be used in shader stages not included in <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>::<code>cooperativeMatrixSupportedStages</code>."
},
{
"vuid": "VUID-RuntimeSpirv-OpCooperativeMatrixLoadNV-06324",
"text": " For <code>OpCooperativeMatrixLoadNV</code> and <code>OpCooperativeMatrixStoreNV</code> instructions, the <code>Pointer</code> and <code>Stride</code> operands <strong class=\"purple\">must</strong> be aligned to at least the lesser of 16 bytes or the natural alignment of a row or column (depending on <code>ColumnMajor</code>) of the matrix (where the natural alignment is the number of columns/rows multiplied by the component size)."
}
],
"(VK_KHR_portability_subset)": [
{
"vuid": "VUID-RuntimeSpirv-shaderSampleRateInterpolationFunctions-06325",
"text": " If the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>shaderSampleRateInterpolationFunctions</code> is <code>VK_FALSE</code>, then <code>GLSL.std.450</code> fragment interpolation functions are not supported by the implementation and <code>OpCapability</code> <strong class=\"purple\">must</strong> not be set to <code>InterpolationFunction</code>."
},
{
"vuid": "VUID-RuntimeSpirv-tessellationShader-06326",
"text": " If <a href=\"#features-tessellationShader\"><code>tessellationShader</code></a> is enabled, and the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>tessellationIsolines</code> is <code>VK_FALSE</code>, then <code>OpExecutionMode</code> <strong class=\"purple\">must</strong> not be set to <code>IsoLines</code>."
},
{
"vuid": "VUID-RuntimeSpirv-tessellationShader-06327",
"text": " If <a href=\"#features-tessellationShader\"><code>tessellationShader</code></a> is enabled, and the <code><a href=\"#VK_KHR_portability_subset\">[VK_KHR_portability_subset]</a></code> extension is enabled, and <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>::<code>tessellationPointMode</code> is <code>VK_FALSE</code>, then <code>OpExecutionMode</code> <strong class=\"purple\">must</strong> not be set to <code>PointMode</code>."
}
],
"(VK_KHR_8bit_storage)": [
{
"vuid": "VUID-RuntimeSpirv-storageBuffer8BitAccess-06328",
"text": " If <a href=\"#features-storageBuffer8BitAccess\"><code>storageBuffer8BitAccess</code></a> is <code>VK_FALSE</code>, then objects containing an 8-bit integer element <strong class=\"purple\">must</strong> not have storage class of <strong>StorageBuffer</strong>, <strong>ShaderRecordBufferKHR</strong>, or <strong>PhysicalStorageBuffer</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-uniformAndStorageBuffer8BitAccess-06329",
"text": " If <a href=\"#features-uniformAndStorageBuffer8BitAccess\"><code>uniformAndStorageBuffer8BitAccess</code></a> is <code>VK_FALSE</code>, then objects in the <strong>Uniform</strong> storage class with the <strong>Block</strong> decoration <strong class=\"purple\">must</strong> not have an 8-bit integer member."
},
{
"vuid": "VUID-RuntimeSpirv-storagePushConstant8-06330",
"text": " If <a href=\"#features-storagePushConstant8\"><code>storagePushConstant8</code></a> is <code>VK_FALSE</code>, then objects containing an 8-bit integer element <strong class=\"purple\">must</strong> not have storage class of <strong>PushConstant</strong>."
}
],
"(VK_KHR_16bit_storage)": [
{
"vuid": "VUID-RuntimeSpirv-storageBuffer16BitAccess-06331",
"text": " If <a href=\"#features-storageBuffer16BitAccess\"><code>storageBuffer16BitAccess</code></a> is <code>VK_FALSE</code>, then objects containing 16-bit integer or 16-bit floating-point elements <strong class=\"purple\">must</strong> not have storage class of <strong>StorageBuffer</strong>, <strong>ShaderRecordBufferKHR</strong>, or <strong>PhysicalStorageBuffer</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-uniformAndStorageBuffer16BitAccess-06332",
"text": " If <a href=\"#features-uniformAndStorageBuffer16BitAccess\"><code>uniformAndStorageBuffer16BitAccess</code></a> is <code>VK_FALSE</code>, then objects in the <strong>Uniform</strong> storage class with the <strong>Block</strong> decoration <strong class=\"purple\">must</strong> not have 16-bit integer or 16-bit floating-point members."
},
{
"vuid": "VUID-RuntimeSpirv-storagePushConstant16-06333",
"text": " If <a href=\"#features-storagePushConstant16\"><code>storagePushConstant16</code></a> is <code>VK_FALSE</code>, then objects containing 16-bit integer or 16-bit floating-point elements <strong class=\"purple\">must</strong> not have storage class of <strong>PushConstant</strong>."
},
{
"vuid": "VUID-RuntimeSpirv-storageInputOutput16-06334",
"text": " If <a href=\"#features-storageInputOutput16\"><code>storageInputOutput16</code></a> is <code>VK_FALSE</code>, then objects containing 16-bit integer or 16-bit floating-point elements <strong class=\"purple\">must</strong> not have storage class of <strong>Input</strong> or <strong>Output</strong>."
}
],
"(VK_KHR_ray_query)": [
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06348",
"text": " For <code>OpRayQueryInitializeKHR</code> instructions, all components of the <code>RayOrigin</code> and <code>RayDirection</code> operands <strong class=\"purple\">must</strong> be finite floating-point values."
},
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06349",
"text": " For <code>OpRayQueryInitializeKHR</code> instructions, the <code>RayTmin</code> and <code>RayTmax</code> operands <strong class=\"purple\">must</strong> be non-negative floating-point values."
},
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06350",
"text": " For <code>OpRayQueryInitializeKHR</code> instructions, the <code>RayTmin</code> operand <strong class=\"purple\">must</strong> be less than or equal to the <code>RayTmax</code> operand."
},
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06351",
"text": " For <code>OpRayQueryInitializeKHR</code> instructions, <code>RayOrigin</code>, <code>RayDirection</code>, <code>RayTmin</code>, and <code>RayTmax</code> operands <strong class=\"purple\">must</strong> not contain NaNs."
},
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryInitializeKHR-06352",
"text": " For <code>OpRayQueryInitializeKHR</code> instructions, <code>Acceleration</code> <code>Structure</code> <strong class=\"purple\">must</strong> be an acceleration structure built as a <a href=\"#acceleration-structure-top-level\">top-level acceleration structure</a>."
},
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryGenerateIntersectionKHR-06353",
"text": " For <code>OpRayQueryGenerateIntersectionKHR</code> instructions, <code>Hit</code> <code>T</code> <strong class=\"purple\">must</strong> satisfy the condition <span class=\"eq\"><code>RayTmin</code> {leq} <code>Hit</code> <code>T</code> {leq} <code>RayTmax</code></span>, where <code>RayTmin</code> is equal to the value returned by <code>OpRayQueryGetRayTMinKHR</code> with the same ray query object, and <code>RayTmax</code> is equal to the value of <code>OpRayQueryGetIntersectionTKHR</code> for the current committed intersection with the same ray query object."
}
],
"(VK_KHR_ray_query)+(VK_NV_ray_tracing_motion_blur)": [
{
"vuid": "VUID-RuntimeSpirv-OpRayQueryGenerateIntersectionKHR-06354",
"text": " For <code>OpRayQueryGenerateIntersectionKHR</code> instructions, <code>Acceleration</code> <code>Structure</code> <strong class=\"purple\">must</strong> not be built with <code>VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV</code> in <code>flags</code>."
}
],
"(VK_KHR_ray_tracing_pipeline)": [
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06355",
"text": " For <code>OpTraceRayKHR</code> instructions, all components of the <code>RayOrigin</code> and <code>RayDirection</code> operands <strong class=\"purple\">must</strong> be finite floating-point values."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06356",
"text": " For <code>OpTraceRayKHR</code> instructions, the <code>RayTmin</code> and <code>RayTmax</code> operands <strong class=\"purple\">must</strong> be non-negative floating-point values."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06357",
"text": " For <code>OpTraceRayKHR</code> instructions, the <code>RayTmin</code> operand <strong class=\"purple\">must</strong> be less than or equal to the <code>RayTmax</code> operand."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06358",
"text": " For <code>OpTraceRayKHR</code> instructions, <code>RayOrigin</code>, <code>RayDirection</code>, <code>RayTmin</code>, and <code>RayTmax</code> operands <strong class=\"purple\">must</strong> not contain NaNs."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06359",
"text": " For <code>OpTraceRayKHR</code> instructions, <code>Acceleration</code> <code>Structure</code> <strong class=\"purple\">must</strong> be an acceleration structure built as a <a href=\"#acceleration-structure-top-level\">top-level acceleration structure</a>."
}
],
"(VK_NV_ray_tracing_motion_blur)": [
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayKHR-06360",
"text": " For <code>OpTraceRayKHR</code> instructions, if <code>Acceleration</code> <code>Structure</code> was built with <code>VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV</code> in <code>flags</code>, the pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV</code> set"
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06361",
"text": " For <code>OpTraceRayMotionNV</code> instructions, all components of the <code>RayOrigin</code> and <code>RayDirection</code> operands <strong class=\"purple\">must</strong> be finite floating-point values."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06362",
"text": " For <code>OpTraceRayMotionNV</code> instructions, the <code>RayTmin</code> and <code>RayTmax</code> operands <strong class=\"purple\">must</strong> be non-negative floating-point values."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06363",
"text": " For <code>OpTraceRayMotionNV</code> instructions, the <code>RayTmin</code> operand <strong class=\"purple\">must</strong> be less than or equal to the <code>RayTmax</code> operand."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06364",
"text": " For <code>OpTraceRayMotionNV</code> instructions, <code>RayOrigin</code>, <code>RayDirection</code>, <code>RayTmin</code>, and <code>RayTmax</code> operands <strong class=\"purple\">must</strong> not contain NaNs."
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06365",
"text": " For <code>OpTraceRayMotionNV</code> instructions, <code>Acceleration</code> <code>Structure</code> <strong class=\"purple\">must</strong> be an acceleration structure built as a <a href=\"#acceleration-structure-top-level\">top-level acceleration structure</a> with <code>VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV</code> in <code>flags</code>"
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06366",
"text": " For <code>OpTraceRayMotionNV</code> instructions the <code>time</code> operand <strong class=\"purple\">must</strong> be between 0.0 and 1.0"
},
{
"vuid": "VUID-RuntimeSpirv-OpTraceRayMotionNV-06367",
"text": " For <code>OpTraceRayMotionNV</code> instructions the pipeline <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV</code> set"
}
],
"(VK_KHR_zero_initialize_workgroup_memory)": [
{
"vuid": "VUID-RuntimeSpirv-shaderZeroInitializeWorkgroupMemory-06372",
"text": " If <a href=\"#features-shaderZeroInitializeWorkgroupMemory\"><code>shaderZeroInitializeWorkgroupMemory</code></a> is not enabled, any <code>OpVariable</code> with <strong>Workgroup</strong> as its <strong>Storage Class</strong> <strong class=\"purple\">must</strong> not have an <code>Initializer</code> operand"
}
],
"!(VK_KHR_zero_initialize_workgroup_memory)": [
{
"vuid": "VUID-RuntimeSpirv-OpVariable-06373",
"text": " Any <code>OpVariable</code> with <strong>Workgroup</strong> as its <strong>Storage Class</strong> <strong class=\"purple\">must</strong> not have an <code>Initializer</code> operand"
}
],
"(VK_KHR_workgroup_memory_explicit_layout)": [
{
"vuid": "VUID-RuntimeSpirv-workgroupMemoryExplicitLayout8BitAccess-06374",
"text": " If <a href=\"#features-workgroupMemoryExplicitLayout8BitAccess\"><code>workgroupMemoryExplicitLayout8BitAccess</code></a> is <code>VK_FALSE</code>, objects in the <code>Workgroup</code> storage class with the <code>Block</code> decoration <strong class=\"purple\">must</strong> not contain 8-bit integer members."
},
{
"vuid": "VUID-RuntimeSpirv-workgroupMemoryExplicitLayout16BitAccess-06375",
"text": " If <a href=\"#features-workgroupMemoryExplicitLayout16BitAccess\"><code>workgroupMemoryExplicitLayout16BitAccess</code></a> is <code>VK_FALSE</code>, objects in the <code>Workgroup</code> storage class with the <code>Block</code> decoration <strong class=\"purple\">must</strong> not contain 16-bit integer or 16-bit floating-point members."
}
],
"(VK_QCOM_render_pass_shader_resolve)": [
{
"vuid": "VUID-RuntimeSpirv-SampleRateShading-06378",
"text": " If the subpass description contains <code>VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM</code>, then the SPIR-V fragment shader Capability <code>SampleRateShading</code> <strong class=\"purple\">must</strong> not be enabled."
}
],
"(VK_KHR_shader_subgroup_uniform_control_flow)": [
{
"vuid": "VUID-RuntimeSpirv-SubgroupUniformControlFlowKHR-06379",
"text": " The execution mode <code>SubgroupUniformControlFlowKHR</code> <strong class=\"purple\">must</strong> not be applied to an entry point unless <a href=\"#features-shaderSubgroupUniformControlFlow\"><code>shaderSubgroupUniformControlFlow</code></a> is enabled and the corresponding shader stage bit is set in subgroup <a href=\"#limits-subgroup-supportedStages\"><code>supportedStages</code></a> and the entry point does not execute any <a href=\"#ray-tracing-repack\"><em>invocation repack instructions</em></a>."
}
]
} }
} }
} }

View file

@ -155,7 +155,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.2 version number <type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.2 version number
#define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, 0)// Patch version should always be set to 0</type> #define <name>VK_API_VERSION_1_2</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file <type category="define">// Version of this file
#define <name>VK_HEADER_VERSION</name> 191</type> #define <name>VK_HEADER_VERSION</name> 192</type>
<type category="define" requires="VK_HEADER_VERSION">// Complete version of this file <type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, VK_HEADER_VERSION)</type> #define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 2, VK_HEADER_VERSION)</type>
@ -12395,7 +12395,6 @@ typedef void <name>CAMetalLayer</name>;
<type name="VkVideoDecodeH264SessionParametersCreateInfoEXT"/> <type name="VkVideoDecodeH264SessionParametersCreateInfoEXT"/>
<type name="VkVideoDecodeH264SessionParametersAddInfoEXT"/> <type name="VkVideoDecodeH264SessionParametersAddInfoEXT"/>
<type name="VkVideoDecodeH264PictureInfoEXT"/> <type name="VkVideoDecodeH264PictureInfoEXT"/>
<type name="VkVideoDecodeH264MvcEXT"/> <type name="VkVideoDecodeH264MvcEXT"/>
<type name="VkVideoDecodeH264DpbSlotInfoEXT"/> <type name="VkVideoDecodeH264DpbSlotInfoEXT"/>
</require> </require>
@ -12726,8 +12725,10 @@ typedef void <name>CAMetalLayer</name>;
</extension> </extension>
<extension name="VK_KHR_maintenance1" number="70" type="device" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_1"> <extension name="VK_KHR_maintenance1" number="70" type="device" author="KHR" contact="Piers Daniell @pdaniell-nv" supported="vulkan" promotedto="VK_VERSION_1_1">
<require> <require>
<enum value="2" name="VK_KHR_MAINTENANCE1_SPEC_VERSION"/> <enum value="2" name="VK_KHR_MAINTENANCE_1_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_maintenance1&quot;" name="VK_KHR_MAINTENANCE1_EXTENSION_NAME"/> <enum value="&quot;VK_KHR_maintenance1&quot;" name="VK_KHR_MAINTENANCE_1_EXTENSION_NAME"/>
<enum alias="VK_KHR_MAINTENANCE_1_SPEC_VERSION" name="VK_KHR_MAINTENANCE1_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/>
<enum alias="VK_KHR_MAINTENANCE_1_EXTENSION_NAME" name="VK_KHR_MAINTENANCE1_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/>
<enum extends="VkResult" name="VK_ERROR_OUT_OF_POOL_MEMORY_KHR" alias="VK_ERROR_OUT_OF_POOL_MEMORY"/> <enum extends="VkResult" name="VK_ERROR_OUT_OF_POOL_MEMORY_KHR" alias="VK_ERROR_OUT_OF_POOL_MEMORY"/>
<enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"/> <enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_SRC_BIT"/>
<enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_DST_BIT"/> <enum extends="VkFormatFeatureFlagBits" name="VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR" alias="VK_FORMAT_FEATURE_TRANSFER_DST_BIT"/>
@ -13090,8 +13091,10 @@ typedef void <name>CAMetalLayer</name>;
</extension> </extension>
<extension name="VK_NV_viewport_array2" number="97" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan"> <extension name="VK_NV_viewport_array2" number="97" type="device" author="NV" contact="Daniel Koch @dgkoch" supported="vulkan">
<require> <require>
<enum value="1" name="VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION"/> <enum value="1" name="VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION"/>
<enum value="&quot;VK_NV_viewport_array2&quot;" name="VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME"/> <enum value="&quot;VK_NV_viewport_array2&quot;" name="VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME"/>
<enum alias="VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION" name="VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/>
<enum alias="VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME" name="VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/>
</require> </require>
</extension> </extension>
<extension name="VK_NVX_multiview_per_view_attributes" number="98" type="device" requires="VK_KHR_multiview" author="NVX" contact="Jeff Bolz @jeffbolznv" supported="vulkan"> <extension name="VK_NVX_multiview_per_view_attributes" number="98" type="device" requires="VK_KHR_multiview" author="NVX" contact="Jeff Bolz @jeffbolznv" supported="vulkan">
@ -13360,8 +13363,10 @@ typedef void <name>CAMetalLayer</name>;
</extension> </extension>
<extension name="VK_KHR_maintenance2" number="118" type="device" author="KHR" contact="Michael Worcester @michaelworcester" supported="vulkan" promotedto="VK_VERSION_1_1"> <extension name="VK_KHR_maintenance2" number="118" type="device" author="KHR" contact="Michael Worcester @michaelworcester" supported="vulkan" promotedto="VK_VERSION_1_1">
<require> <require>
<enum value="1" name="VK_KHR_MAINTENANCE2_SPEC_VERSION"/> <enum value="1" name="VK_KHR_MAINTENANCE_2_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_maintenance2&quot;" name="VK_KHR_MAINTENANCE2_EXTENSION_NAME"/> <enum value="&quot;VK_KHR_maintenance2&quot;" name="VK_KHR_MAINTENANCE_2_EXTENSION_NAME"/>
<enum alias="VK_KHR_MAINTENANCE_2_SPEC_VERSION" name="VK_KHR_MAINTENANCE2_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/>
<enum alias="VK_KHR_MAINTENANCE_2_EXTENSION_NAME" name="VK_KHR_MAINTENANCE2_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/>
<enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR" alias="VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"/> <enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR" alias="VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT"/>
<enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR" alias="VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"/> <enum extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR" alias="VK_IMAGE_CREATE_EXTENDED_USAGE_BIT"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"/>
@ -14279,8 +14284,10 @@ typedef void <name>CAMetalLayer</name>;
</extension> </extension>
<extension name="VK_KHR_maintenance3" number="169" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1"> <extension name="VK_KHR_maintenance3" number="169" type="device" requires="VK_KHR_get_physical_device_properties2" author="KHR" contact="Jeff Bolz @jeffbolznv" supported="vulkan" promotedto="VK_VERSION_1_1">
<require> <require>
<enum value="1" name="VK_KHR_MAINTENANCE3_SPEC_VERSION"/> <enum value="1" name="VK_KHR_MAINTENANCE_3_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_maintenance3&quot;" name="VK_KHR_MAINTENANCE3_EXTENSION_NAME"/> <enum value="&quot;VK_KHR_maintenance3&quot;" name="VK_KHR_MAINTENANCE_3_EXTENSION_NAME"/>
<enum alias="VK_KHR_MAINTENANCE_3_SPEC_VERSION" name="VK_KHR_MAINTENANCE3_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/>
<enum alias="VK_KHR_MAINTENANCE_3_EXTENSION_NAME" name="VK_KHR_MAINTENANCE3_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR" alias="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"/>
<enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR" alias="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"/> <enum extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR" alias="VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"/>
<type name="VkPhysicalDeviceMaintenance3PropertiesKHR"/> <type name="VkPhysicalDeviceMaintenance3PropertiesKHR"/>
@ -14859,8 +14866,10 @@ typedef void <name>CAMetalLayer</name>;
</extension> </extension>
<extension name="VK_GOOGLE_hlsl_functionality1" number="224" type="device" author="GOOGLE" contact="Hai Nguyen @chaoticbob" supported="vulkan"> <extension name="VK_GOOGLE_hlsl_functionality1" number="224" type="device" author="GOOGLE" contact="Hai Nguyen @chaoticbob" supported="vulkan">
<require> <require>
<enum value="1" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION"/> <enum value="1" name="VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION"/>
<enum value="&quot;VK_GOOGLE_hlsl_functionality1&quot;" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME"/> <enum value="&quot;VK_GOOGLE_hlsl_functionality1&quot;" name="VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME"/>
<enum alias="VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION" comment="Backwards-compatible alias containing a typo"/>
<enum alias="VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME" name="VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME" comment="Backwards-compatible alias containing a typo"/>
</require> </require>
</extension> </extension>
<extension name="VK_GOOGLE_decorate_string" number="225" type="device" author="GOOGLE" contact="Hai Nguyen @chaoticbob" supported="vulkan"> <extension name="VK_GOOGLE_decorate_string" number="225" type="device" author="GOOGLE" contact="Hai Nguyen @chaoticbob" supported="vulkan">
@ -16532,6 +16541,8 @@ typedef void <name>CAMetalLayer</name>;
<require> <require>
<enum value="0" name="VK_KHR_EXTENSION_387_SPEC_VERSION"/> <enum value="0" name="VK_KHR_EXTENSION_387_SPEC_VERSION"/>
<enum value="&quot;VK_KHR_extension_387&quot;" name="VK_KHR_EXTENSION_387_EXTENSION_NAME"/> <enum value="&quot;VK_KHR_extension_387&quot;" name="VK_KHR_EXTENSION_387_EXTENSION_NAME"/>
<enum bitpos="28" extends="VkPipelineStageFlagBits2KHR" name="VK_PIPELINE_STAGE_2_RESERVED_387_BIT_KHR"/>
<enum bitpos="40" extends="VkAccessFlagBits2KHR" name="VK_ACCESS_2_RESERVED_387_BIT_KHR"/>
</require> </require>
</extension> </extension>
<extension name="VK_EXT_extension_388" number="388" author="EXT" contact="Alan Baker @alan-baker" supported="disabled"> <extension name="VK_EXT_extension_388" number="388" author="EXT" contact="Alan Baker @alan-baker" supported="disabled">
@ -16706,7 +16717,7 @@ typedef void <name>CAMetalLayer</name>;
<enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT"/>
<type name="VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT"/> <type name="VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT"/>
<command name="vkSetDeviceMemoryPriorityEXT"/> <command name="vkSetDeviceMemoryPriorityEXT"/>
</require> </require>
</extension> </extension>
<extension name="VK_NV_extension_414" number="414" author="NV" contact="Piers Daniell @pdaniell-nv" supported="disabled"> <extension name="VK_NV_extension_414" number="414" author="NV" contact="Piers Daniell @pdaniell-nv" supported="disabled">
<require> <require>
@ -16769,6 +16780,18 @@ typedef void <name>CAMetalLayer</name>;
<enum bitpos="2" extends="VkSamplerCreateFlagBits" name="VK_SAMPLER_CREATE_RESERVED_2_BIT_EXT"/> <enum bitpos="2" extends="VkSamplerCreateFlagBits" name="VK_SAMPLER_CREATE_RESERVED_2_BIT_EXT"/>
</require> </require>
</extension> </extension>
<extension name="VK_ARM_extension_424" number="424" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
<require>
<enum value="0" name="VK_ARM_EXTENSION_424_SPEC_VERSION"/>
<enum value="&quot;VK_ARM_extension_424&quot;" name="VK_ARM_EXTENSION_424_EXTENSION_NAME"/>
</require>
</extension>
<extension name="VK_ARM_extension_425" number="425" author="ARM" contact="Jan-Harald Fredriksen @janharaldfredriksen-arm" supported="disabled">
<require>
<enum value="0" name="VK_ARM_EXTENSION_425_SPEC_VERSION"/>
<enum value="&quot;VK_ARM_extension_425&quot;" name="VK_ARM_EXTENSION_425_EXTENSION_NAME"/>
</require>
</extension>
</extensions> </extensions>
<spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it"> <spirvextensions comment="SPIR-V Extensions allowed in Vulkan and what is required to use it">