summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJon Leech <[email protected]>2022-11-17 05:01:48 -0800
committerJon Leech <[email protected]>2022-11-17 05:02:06 -0800
commitb7a86d3b2bf8fbe73fcd40df9ec62a5966e9db89 (patch)
tree09aa8932aa513af856cc43ec516b34315e1dea08
parent29c0457cc167bfc9e9361a3818440e388986f5b5 (diff)
downloadVulkan-Headers-b7a86d3b2bf8fbe73fcd40df9ec62a5966e9db89.tar.gz
Vulkan-Headers-b7a86d3b2bf8fbe73fcd40df9ec62a5966e9db89.zip
Update for Vulkan-Docs 1.3.235v1.3.235
-rw-r--r--include/vulkan/vulkan.hpp268
-rw-r--r--include/vulkan/vulkan_core.h241
-rw-r--r--include/vulkan/vulkan_enums.hpp113
-rw-r--r--include/vulkan/vulkan_funcs.hpp278
-rw-r--r--include/vulkan/vulkan_handles.hpp148
-rw-r--r--include/vulkan/vulkan_hash.hpp202
-rw-r--r--include/vulkan/vulkan_raii.hpp240
-rw-r--r--include/vulkan/vulkan_static_assertions.hpp101
-rw-r--r--include/vulkan/vulkan_structs.hpp1637
-rw-r--r--include/vulkan/vulkan_to_string.hpp50
-rw-r--r--registry/validusage.json1878
-rw-r--r--registry/vk.xml300
12 files changed, 5251 insertions, 205 deletions
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp
index 899b3e7..e73318a 100644
--- a/include/vulkan/vulkan.hpp
+++ b/include/vulkan/vulkan.hpp
@@ -114,7 +114,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# include <span>
#endif
-static_assert( VK_HEADER_VERSION == 234, "Wrong VK_HEADER_VERSION!" );
+static_assert( VK_HEADER_VERSION == 235, "Wrong VK_HEADER_VERSION!" );
// 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default.
// To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
@@ -795,8 +795,7 @@ namespace VULKAN_HPP_NAMESPACE
template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> && list ) = delete;
- // Any type with a .data() return type implicitly convertible to T*, and a // .size() return type implicitly
- // convertible to size_t.
+ // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t.
template <typename V,
typename std::enable_if<std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
@@ -4927,6 +4926,84 @@ namespace VULKAN_HPP_NAMESPACE
return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
}
+ //=== VK_EXT_descriptor_buffer ===
+
+ void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
+ }
+
+ void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice device,
+ VkDescriptorSetLayout layout,
+ uint32_t binding,
+ VkDeviceSize * pOffset ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
+ }
+
+ void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
+ }
+
+ void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer commandBuffer,
+ uint32_t bufferCount,
+ const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
+ }
+
+ void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer commandBuffer,
+ VkPipelineBindPoint pipelineBindPoint,
+ VkPipelineLayout layout,
+ uint32_t firstSet,
+ uint32_t setCount,
+ const uint32_t * pBufferIndices,
+ const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
+ }
+
+ void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer commandBuffer,
+ VkPipelineBindPoint pipelineBindPoint,
+ VkPipelineLayout layout,
+ uint32_t set ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
+ }
+
+ VkResult
+ vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
+ }
+
+ VkResult
+ vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
+ }
+
+ VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice device,
+ const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
+ }
+
+ VkResult
+ vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
+ }
+
+ VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice device,
+ const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData ) const VULKAN_HPP_NOEXCEPT
+ {
+ return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
+ }
+
//=== VK_NV_fragment_shading_rate_enums ===
void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer commandBuffer,
@@ -10609,6 +10686,96 @@ namespace VULKAN_HPP_NAMESPACE
};
};
+ //=== VK_EXT_descriptor_buffer ===
+ template <>
+ struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+ template <>
+ struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
+ {
+ enum
+ {
+ value = true
+ };
+ };
+
//=== VK_EXT_graphics_pipeline_library ===
template <>
struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
@@ -13034,6 +13201,19 @@ namespace VULKAN_HPP_NAMESPACE
PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0;
PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
+ //=== VK_EXT_descriptor_buffer ===
+ PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT = 0;
+ PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT = 0;
+ PFN_vkGetDescriptorEXT vkGetDescriptorEXT = 0;
+ PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT = 0;
+ PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT = 0;
+ PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT = 0;
+ PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
+
//=== VK_NV_fragment_shading_rate_enums ===
PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
@@ -13246,29 +13426,6 @@ namespace VULKAN_HPP_NAMESPACE
DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT = default;
DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
-#if !defined( VK_NO_PROTOTYPES )
- // This interface is designed to be used for per-device function pointers in combination with a linked vulkan library.
- template <typename DynamicLoader>
- void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
- {
- PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
- PFN_vkGetDeviceProcAddr getDeviceProcAddr = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
- init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
- }
-
- // This interface is designed to be used for per-device function pointers in combination with a linked vulkan library.
- template <typename DynamicLoader
-# if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
- = VULKAN_HPP_NAMESPACE::DynamicLoader
-# endif
- >
- void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
- {
- static DynamicLoader dl;
- init( instance, device, dl );
- }
-#endif // !defined( VK_NO_PROTOTYPES )
-
DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
{
init( getInstanceProcAddr );
@@ -14282,6 +14439,26 @@ namespace VULKAN_HPP_NAMESPACE
vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
+ //=== VK_EXT_descriptor_buffer ===
+ vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
+ vkGetDescriptorSetLayoutBindingOffsetEXT =
+ PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
+ vkGetDescriptorEXT = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
+ vkCmdBindDescriptorBuffersEXT = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
+ vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
+ vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
+ PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
+ vkGetBufferOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetImageOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetImageViewOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetSamplerOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
+
//=== VK_NV_fragment_shading_rate_enums ===
vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
@@ -15229,6 +15406,26 @@ namespace VULKAN_HPP_NAMESPACE
vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
+ //=== VK_EXT_descriptor_buffer ===
+ vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
+ vkGetDescriptorSetLayoutBindingOffsetEXT =
+ PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
+ vkGetDescriptorEXT = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
+ vkCmdBindDescriptorBuffersEXT = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
+ vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
+ vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
+ PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
+ vkGetBufferOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetImageOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetImageViewOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetSamplerOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
+
//=== VK_NV_fragment_shading_rate_enums ===
vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
@@ -15439,6 +15636,25 @@ namespace VULKAN_HPP_NAMESPACE
vkGetDynamicRenderingTilePropertiesQCOM =
PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
}
+
+ template <typename DynamicLoader>
+ void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
+ {
+ PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
+ PFN_vkGetDeviceProcAddr getDeviceProcAddr = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
+ init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
+ }
+
+ template <typename DynamicLoader
+#if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
+ = VULKAN_HPP_NAMESPACE::DynamicLoader
+#endif
+ >
+ void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
+ {
+ static DynamicLoader dl;
+ init( instance, device, dl );
+ }
};
} // namespace VULKAN_HPP_NAMESPACE
#endif
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index d3d1707..b9c5e25 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -72,7 +72,7 @@ extern "C" {
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
-#define VK_HEADER_VERSION 234
+#define VK_HEADER_VERSION 235
// Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -912,6 +912,19 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011,
VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008,
VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001,
+ VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004,
+ VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005,
+ VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006,
+ VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007,
+ VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008,
+ VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011,
+ VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012,
+ VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001,
VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002,
@@ -2230,6 +2243,7 @@ typedef enum VkImageCreateFlagBits {
VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+ VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000,
VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000,
VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000,
VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000,
@@ -2449,6 +2463,7 @@ typedef enum VkBufferCreateFlagBits {
VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004,
VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008,
VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010,
+ VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020,
VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -2484,6 +2499,9 @@ typedef enum VkBufferUsageFlagBits {
#ifdef VK_ENABLE_BETA_EXTENSIONS
VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000,
#endif
+ VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000,
+ VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000,
+ VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000,
VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000,
VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000,
VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR,
@@ -2496,6 +2514,7 @@ typedef VkFlags VkBufferViewCreateFlags;
typedef enum VkImageViewCreateFlagBits {
VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001,
+ VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004,
VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002,
VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
} VkImageViewCreateFlagBits;
@@ -2540,6 +2559,7 @@ typedef enum VkPipelineCreateFlagBits {
VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080,
VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000,
VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800,
+ VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000,
VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000,
VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400,
VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000,
@@ -2639,6 +2659,7 @@ typedef VkFlags VkShaderStageFlags;
typedef enum VkSamplerCreateFlagBits {
VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001,
VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002,
+ VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004,
VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010,
VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
@@ -2659,6 +2680,8 @@ typedef VkFlags VkDescriptorPoolResetFlags;
typedef enum VkDescriptorSetLayoutCreateFlagBits {
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001,
+ VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010,
+ VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
@@ -5711,6 +5734,7 @@ typedef enum VkDriverId {
VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21,
VK_DRIVER_ID_MESA_VENUS = 22,
VK_DRIVER_ID_MESA_DOZEN = 23,
+ VK_DRIVER_ID_MESA_NVK = 24,
VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY,
VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE,
VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV,
@@ -6621,6 +6645,7 @@ static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV =
static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL;
static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL;
static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL;
+static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL;
static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL;
static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL;
static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL;
@@ -13554,6 +13579,218 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
#define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops"
+#define VK_EXT_descriptor_buffer 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
+#define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1
+#define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer"
+typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 combinedImageSamplerDescriptorSingleArray;
+ VkBool32 bufferlessPushDescriptors;
+ VkBool32 allowSamplerImageViewPostSubmitCreation;
+ VkDeviceSize descriptorBufferOffsetAlignment;
+ uint32_t maxDescriptorBufferBindings;
+ uint32_t maxResourceDescriptorBufferBindings;
+ uint32_t maxSamplerDescriptorBufferBindings;
+ uint32_t maxEmbeddedImmutableSamplerBindings;
+ uint32_t maxEmbeddedImmutableSamplers;
+ size_t bufferCaptureReplayDescriptorDataSize;
+ size_t imageCaptureReplayDescriptorDataSize;
+ size_t imageViewCaptureReplayDescriptorDataSize;
+ size_t samplerCaptureReplayDescriptorDataSize;
+ size_t accelerationStructureCaptureReplayDescriptorDataSize;
+ size_t samplerDescriptorSize;
+ size_t combinedImageSamplerDescriptorSize;
+ size_t sampledImageDescriptorSize;
+ size_t storageImageDescriptorSize;
+ size_t uniformTexelBufferDescriptorSize;
+ size_t robustUniformTexelBufferDescriptorSize;
+ size_t storageTexelBufferDescriptorSize;
+ size_t robustStorageTexelBufferDescriptorSize;
+ size_t uniformBufferDescriptorSize;
+ size_t robustUniformBufferDescriptorSize;
+ size_t storageBufferDescriptorSize;
+ size_t robustStorageBufferDescriptorSize;
+ size_t inputAttachmentDescriptorSize;
+ size_t accelerationStructureDescriptorSize;
+ VkDeviceSize maxSamplerDescriptorBufferRange;
+ VkDeviceSize maxResourceDescriptorBufferRange;
+ VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
+ VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
+ VkDeviceSize descriptorBufferAddressSpaceSize;
+} VkPhysicalDeviceDescriptorBufferPropertiesEXT;
+
+typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT {
+ VkStructureType sType;
+ void* pNext;
+ size_t combinedImageSamplerDensityMapDescriptorSize;
+} VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+
+typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBool32 descriptorBuffer;
+ VkBool32 descriptorBufferCaptureReplay;
+ VkBool32 descriptorBufferImageLayoutIgnored;
+ VkBool32 descriptorBufferPushDescriptors;
+} VkPhysicalDeviceDescriptorBufferFeaturesEXT;
+
+typedef struct VkDescriptorAddressInfoEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkDeviceAddress address;
+ VkDeviceSize range;
+ VkFormat format;
+} VkDescriptorAddressInfoEXT;
+
+typedef struct VkDescriptorBufferBindingInfoEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkDeviceAddress address;
+ VkBufferUsageFlags usage;
+} VkDescriptorBufferBindingInfoEXT;
+
+typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT {
+ VkStructureType sType;
+ void* pNext;
+ VkBuffer buffer;
+} VkDescriptorBufferBindingPushDescriptorBufferHandleEXT;
+
+typedef union VkDescriptorDataEXT {
+ const VkSampler* pSampler;
+ const VkDescriptorImageInfo* pCombinedImageSampler;
+ const VkDescriptorImageInfo* pInputAttachmentImage;
+ const VkDescriptorImageInfo* pSampledImage;
+ const VkDescriptorImageInfo* pStorageImage;
+ const VkDescriptorAddressInfoEXT* pUniformTexelBuffer;
+ const VkDescriptorAddressInfoEXT* pStorageTexelBuffer;
+ const VkDescriptorAddressInfoEXT* pUniformBuffer;
+ const VkDescriptorAddressInfoEXT* pStorageBuffer;
+ VkDeviceAddress accelerationStructure;
+} VkDescriptorDataEXT;
+
+typedef struct VkDescriptorGetInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkDescriptorType type;
+ VkDescriptorDataEXT data;
+} VkDescriptorGetInfoEXT;
+
+typedef struct VkBufferCaptureDescriptorDataInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkBuffer buffer;
+} VkBufferCaptureDescriptorDataInfoEXT;
+
+typedef struct VkImageCaptureDescriptorDataInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkImage image;
+} VkImageCaptureDescriptorDataInfoEXT;
+
+typedef struct VkImageViewCaptureDescriptorDataInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkImageView imageView;
+} VkImageViewCaptureDescriptorDataInfoEXT;
+
+typedef struct VkSamplerCaptureDescriptorDataInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkSampler sampler;
+} VkSamplerCaptureDescriptorDataInfoEXT;
+
+typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ const void* opaqueCaptureDescriptorData;
+} VkOpaqueCaptureDescriptorDataCreateInfoEXT;
+
+typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT {
+ VkStructureType sType;
+ const void* pNext;
+ VkAccelerationStructureKHR accelerationStructure;
+ VkAccelerationStructureNV accelerationStructureNV;
+} VkAccelerationStructureCaptureDescriptorDataInfoEXT;
+
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes);
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset);
+typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor);
+typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
+typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets);
+typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set);
+typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT(
+ VkDevice device,
+ VkDescriptorSetLayout layout,
+ VkDeviceSize* pLayoutSizeInBytes);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT(
+ VkDevice device,
+ VkDescriptorSetLayout layout,
+ uint32_t binding,
+ VkDeviceSize* pOffset);
+
+VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT(
+ VkDevice device,
+ const VkDescriptorGetInfoEXT* pDescriptorInfo,
+ size_t dataSize,
+ void* pDescriptor);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT(
+ VkCommandBuffer commandBuffer,
+ uint32_t bufferCount,
+ const VkDescriptorBufferBindingInfoEXT* pBindingInfos);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT(
+ VkCommandBuffer commandBuffer,
+ VkPipelineBindPoint pipelineBindPoint,
+ VkPipelineLayout layout,
+ uint32_t firstSet,
+ uint32_t setCount,
+ const uint32_t* pBufferIndices,
+ const VkDeviceSize* pOffsets);
+
+VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
+ VkCommandBuffer commandBuffer,
+ VkPipelineBindPoint pipelineBindPoint,
+ VkPipelineLayout layout,
+ uint32_t set);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT(
+ VkDevice device,
+ const VkBufferCaptureDescriptorDataInfoEXT* pInfo,
+ void* pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT(
+ VkDevice device,
+ const VkImageCaptureDescriptorDataInfoEXT* pInfo,
+ void* pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT(
+ VkDevice device,
+ const VkImageViewCaptureDescriptorDataInfoEXT* pInfo,
+ void* pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT(
+ VkDevice device,
+ const VkSamplerCaptureDescriptorDataInfoEXT* pInfo,
+ void* pData);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ VkDevice device,
+ const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo,
+ void* pData);
+#endif
+
+
#define VK_EXT_graphics_pipeline_library 1
#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1
#define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library"
@@ -15647,7 +15884,6 @@ typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM {
#define VK_KHR_acceleration_structure 1
-VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
#define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
#define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure"
@@ -15659,6 +15895,7 @@ typedef enum VkBuildAccelerationStructureModeKHR {
typedef enum VkAccelerationStructureCreateFlagBitsKHR {
VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001,
+ VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008,
VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004,
VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
} VkAccelerationStructureCreateFlagBitsKHR;
diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp
index a56958e..187129e 100644
--- a/include/vulkan/vulkan_enums.hpp
+++ b/include/vulkan/vulkan_enums.hpp
@@ -716,6 +716,19 @@ namespace VULKAN_HPP_NAMESPACE
#endif /*VK_USE_PLATFORM_METAL_EXT*/
eQueueFamilyCheckpointProperties2NV = VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV,
eCheckpointData2NV = VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV,
+ ePhysicalDeviceDescriptorBufferPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT,
+ ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT,
+ ePhysicalDeviceDescriptorBufferFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT,
+ eDescriptorAddressInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT,
+ eDescriptorGetInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT,
+ eBufferCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
+ eImageCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
+ eImageViewCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
+ eSamplerCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
+ eOpaqueCaptureDescriptorDataCreateInfoEXT = VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT,
+ eDescriptorBufferBindingInfoEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT,
+ eDescriptorBufferBindingPushDescriptorBufferHandleEXT = VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT,
+ eAccelerationStructureCaptureDescriptorDataInfoEXT = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT,
ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT,
ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT,
eGraphicsPipelineLibraryCreateInfoEXT = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT,
@@ -1511,6 +1524,7 @@ namespace VULKAN_HPP_NAMESPACE
eCornerSampledNV = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,
eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,
eSubsampledEXT = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
+ eDescriptorBufferCaptureReplayEXT = VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
eMultisampledRenderToSingleSampledEXT = VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT,
e2DViewCompatibleEXT = VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT,
eFragmentDensityMapOffsetQCOM = VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM,
@@ -1533,7 +1547,7 @@ namespace VULKAN_HPP_NAMESPACE
ImageCreateFlagBits::eCubeCompatible | ImageCreateFlagBits::eAlias | ImageCreateFlagBits::eSplitInstanceBindRegions |
ImageCreateFlagBits::e2DArrayCompatible | ImageCreateFlagBits::eBlockTexelViewCompatible | ImageCreateFlagBits::eExtendedUsage |
ImageCreateFlagBits::eProtected | ImageCreateFlagBits::eDisjoint | ImageCreateFlagBits::eCornerSampledNV |
- ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits::eSubsampledEXT |
+ ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT | ImageCreateFlagBits::eSubsampledEXT | ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT | ImageCreateFlagBits::e2DViewCompatibleEXT |
ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM;
};
@@ -2015,13 +2029,14 @@ namespace VULKAN_HPP_NAMESPACE
enum class BufferCreateFlagBits : VkBufferCreateFlags
{
- eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
- eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
- eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
- eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
- eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
- eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
- eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
+ eSparseBinding = VK_BUFFER_CREATE_SPARSE_BINDING_BIT,
+ eSparseResidency = VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT,
+ eSparseAliased = VK_BUFFER_CREATE_SPARSE_ALIASED_BIT,
+ eProtected = VK_BUFFER_CREATE_PROTECTED_BIT,
+ eDeviceAddressCaptureReplay = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
+ eDescriptorBufferCaptureReplayEXT = VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
+ eDeviceAddressCaptureReplayEXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT,
+ eDeviceAddressCaptureReplayKHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR
};
using BufferCreateFlags = Flags<BufferCreateFlagBits>;
@@ -2030,9 +2045,9 @@ namespace VULKAN_HPP_NAMESPACE
struct FlagTraits<BufferCreateFlagBits>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
- static VULKAN_HPP_CONST_OR_CONSTEXPR BufferCreateFlags allFlags = BufferCreateFlagBits::eSparseBinding | BufferCreateFlagBits::eSparseResidency |
- BufferCreateFlagBits::eSparseAliased | BufferCreateFlagBits::eProtected |
- BufferCreateFlagBits::eDeviceAddressCaptureReplay;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR BufferCreateFlags allFlags =
+ BufferCreateFlagBits::eSparseBinding | BufferCreateFlagBits::eSparseResidency | BufferCreateFlagBits::eSparseAliased | BufferCreateFlagBits::eProtected |
+ BufferCreateFlagBits::eDeviceAddressCaptureReplay | BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT;
};
enum class BufferUsageFlagBits : VkBufferUsageFlags
@@ -2061,11 +2076,14 @@ namespace VULKAN_HPP_NAMESPACE
eVideoEncodeDstKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR,
eVideoEncodeSrcKHR = VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR,
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
- eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
- eMicromapStorageEXT = VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT,
- eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
- eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
- eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR
+ eSamplerDescriptorBufferEXT = VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT,
+ eResourceDescriptorBufferEXT = VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT,
+ ePushDescriptorsDescriptorBufferEXT = VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT,
+ eMicromapBuildInputReadOnlyEXT = VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT,
+ eMicromapStorageEXT = VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT,
+ eRayTracingNV = VK_BUFFER_USAGE_RAY_TRACING_BIT_NV,
+ eShaderDeviceAddressEXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT,
+ eShaderDeviceAddressKHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR
};
using BufferUsageFlags = Flags<BufferUsageFlagBits>;
@@ -2087,7 +2105,8 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VK_ENABLE_BETA_EXTENSIONS )
| BufferUsageFlagBits::eVideoEncodeDstKHR | BufferUsageFlagBits::eVideoEncodeSrcKHR
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
- | BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits::eMicromapStorageEXT;
+ | BufferUsageFlagBits::eSamplerDescriptorBufferEXT | BufferUsageFlagBits::eResourceDescriptorBufferEXT |
+ BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT | BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT | BufferUsageFlagBits::eMicromapStorageEXT;
};
enum class SharingMode
@@ -2167,8 +2186,9 @@ namespace VULKAN_HPP_NAMESPACE
enum class ImageViewCreateFlagBits : VkImageViewCreateFlags
{
- eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
- eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
+ eFragmentDensityMapDynamicEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT,
+ eDescriptorBufferCaptureReplayEXT = VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
+ eFragmentDensityMapDeferredEXT = VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT
};
using ImageViewCreateFlags = Flags<ImageViewCreateFlagBits>;
@@ -2177,8 +2197,9 @@ namespace VULKAN_HPP_NAMESPACE
struct FlagTraits<ImageViewCreateFlagBits>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
- static VULKAN_HPP_CONST_OR_CONSTEXPR ImageViewCreateFlags allFlags =
- ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT | ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR ImageViewCreateFlags allFlags = ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT |
+ ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT |
+ ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT;
};
enum class ImageViewType
@@ -2467,6 +2488,7 @@ namespace VULKAN_HPP_NAMESPACE
eCaptureInternalRepresentationsKHR = VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR,
eIndirectBindableNV = VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV,
eLibraryKHR = VK_PIPELINE_CREATE_LIBRARY_BIT_KHR,
+ eDescriptorBufferEXT = VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
eRetainLinkTimeOptimizationInfoEXT = VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT,
eLinkTimeOptimizationEXT = VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT,
eRayTracingAllowMotionNV = VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV,
@@ -2498,10 +2520,11 @@ namespace VULKAN_HPP_NAMESPACE
PipelineCreateFlagBits::eRayTracingNoNullIntersectionShadersKHR | PipelineCreateFlagBits::eRayTracingSkipTrianglesKHR |
PipelineCreateFlagBits::eRayTracingSkipAabbsKHR | PipelineCreateFlagBits::eRayTracingShaderGroupHandleCaptureReplayKHR |
PipelineCreateFlagBits::eDeferCompileNV | PipelineCreateFlagBits::eCaptureStatisticsKHR | PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR |
- PipelineCreateFlagBits::eIndirectBindableNV | PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT |
- PipelineCreateFlagBits::eLinkTimeOptimizationEXT | PipelineCreateFlagBits::eRayTracingAllowMotionNV |
- PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT |
- PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT | PipelineCreateFlagBits::eNoProtectedAccessEXT | PipelineCreateFlagBits::eProtectedAccessOnlyEXT;
+ PipelineCreateFlagBits::eIndirectBindableNV | PipelineCreateFlagBits::eLibraryKHR | PipelineCreateFlagBits::eDescriptorBufferEXT |
+ PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT | PipelineCreateFlagBits::eLinkTimeOptimizationEXT |
+ PipelineCreateFlagBits::eRayTracingAllowMotionNV | PipelineCreateFlagBits::eColorAttachmentFeedbackLoopEXT |
+ PipelineCreateFlagBits::eDepthStencilAttachmentFeedbackLoopEXT | PipelineCreateFlagBits::eRayTracingOpacityMicromapEXT |
+ PipelineCreateFlagBits::eNoProtectedAccessEXT | PipelineCreateFlagBits::eProtectedAccessOnlyEXT;
};
enum class PipelineShaderStageCreateFlagBits : VkPipelineShaderStageCreateFlags
@@ -2731,6 +2754,7 @@ namespace VULKAN_HPP_NAMESPACE
{
eSubsampledEXT = VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT,
eSubsampledCoarseReconstructionEXT = VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT,
+ eDescriptorBufferCaptureReplayEXT = VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
eNonSeamlessCubeMapEXT = VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT,
eImageProcessingQCOM = VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
};
@@ -2742,8 +2766,8 @@ namespace VULKAN_HPP_NAMESPACE
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR SamplerCreateFlags allFlags =
- SamplerCreateFlagBits::eSubsampledEXT | SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT | SamplerCreateFlagBits::eNonSeamlessCubeMapEXT |
- SamplerCreateFlagBits::eImageProcessingQCOM;
+ SamplerCreateFlagBits::eSubsampledEXT | SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT |
+ SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT | SamplerCreateFlagBits::eNonSeamlessCubeMapEXT | SamplerCreateFlagBits::eImageProcessingQCOM;
};
enum class SamplerMipmapMode
@@ -2773,11 +2797,13 @@ namespace VULKAN_HPP_NAMESPACE
enum class DescriptorSetLayoutCreateFlagBits : VkDescriptorSetLayoutCreateFlags
{
- eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
- ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
- eHostOnlyPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
- eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
- eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
+ eUpdateAfterBindPool = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT,
+ ePushDescriptorKHR = VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR,
+ eDescriptorBufferEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT,
+ eEmbeddedImmutableSamplersEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT,
+ eHostOnlyPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT,
+ eHostOnlyPoolVALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE,
+ eUpdateAfterBindPoolEXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
};
using DescriptorSetLayoutCreateFlags = Flags<DescriptorSetLayoutCreateFlagBits>;
@@ -2786,9 +2812,10 @@ namespace VULKAN_HPP_NAMESPACE
struct FlagTraits<DescriptorSetLayoutCreateFlagBits>
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
- static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorSetLayoutCreateFlags allFlags = DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool |
- DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR |
- DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR DescriptorSetLayoutCreateFlags allFlags =
+ DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool | DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR |
+ DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT | DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT |
+ DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT;
};
enum class DescriptorType
@@ -3474,7 +3501,8 @@ namespace VULKAN_HPP_NAMESPACE
eMesaPanvk = VK_DRIVER_ID_MESA_PANVK,
eSamsungProprietary = VK_DRIVER_ID_SAMSUNG_PROPRIETARY,
eMesaVenus = VK_DRIVER_ID_MESA_VENUS,
- eMesaDozen = VK_DRIVER_ID_MESA_DOZEN
+ eMesaDozen = VK_DRIVER_ID_MESA_DOZEN,
+ eMesaNvk = VK_DRIVER_ID_MESA_NVK
};
using DriverIdKHR = DriverId;
@@ -3740,6 +3768,7 @@ namespace VULKAN_HPP_NAMESPACE
eAccelerationStructureWriteKHR = VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR,
eFragmentDensityMapReadEXT = VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT,
eColorAttachmentReadNoncoherentEXT = VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT,
+ eDescriptorBufferReadEXT = VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT,
eInvocationMaskReadHUAWEI = VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI,
eShaderBindingTableReadKHR = VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR,
eMicromapReadEXT = VK_ACCESS_2_MICROMAP_READ_BIT_EXT,
@@ -3774,8 +3803,8 @@ namespace VULKAN_HPP_NAMESPACE
AccessFlagBits2::eConditionalRenderingReadEXT | AccessFlagBits2::eCommandPreprocessReadNV | AccessFlagBits2::eCommandPreprocessWriteNV |
AccessFlagBits2::eFragmentShadingRateAttachmentReadKHR | AccessFlagBits2::eAccelerationStructureReadKHR |
AccessFlagBits2::eAccelerationStructureWriteKHR | AccessFlagBits2::eFragmentDensityMapReadEXT | AccessFlagBits2::eColorAttachmentReadNoncoherentEXT |
- AccessFlagBits2::eInvocationMaskReadHUAWEI | AccessFlagBits2::eShaderBindingTableReadKHR | AccessFlagBits2::eMicromapReadEXT |
- AccessFlagBits2::eMicromapWriteEXT | AccessFlagBits2::eOpticalFlowReadNV | AccessFlagBits2::eOpticalFlowWriteNV;
+ AccessFlagBits2::eDescriptorBufferReadEXT | AccessFlagBits2::eInvocationMaskReadHUAWEI | AccessFlagBits2::eShaderBindingTableReadKHR |
+ AccessFlagBits2::eMicromapReadEXT | AccessFlagBits2::eMicromapWriteEXT | AccessFlagBits2::eOpticalFlowReadNV | AccessFlagBits2::eOpticalFlowWriteNV;
};
enum class SubmitFlagBits : VkSubmitFlags
@@ -5246,8 +5275,9 @@ namespace VULKAN_HPP_NAMESPACE
enum class AccelerationStructureCreateFlagBitsKHR : VkAccelerationStructureCreateFlagsKHR
{
- eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
- eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
+ eDeviceAddressCaptureReplay = VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR,
+ eDescriptorBufferCaptureReplayEXT = VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT,
+ eMotionNV = VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
};
using AccelerationStructureCreateFlagsKHR = Flags<AccelerationStructureCreateFlagBitsKHR>;
@@ -5257,7 +5287,8 @@ namespace VULKAN_HPP_NAMESPACE
{
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
static VULKAN_HPP_CONST_OR_CONSTEXPR AccelerationStructureCreateFlagsKHR allFlags =
- AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay | AccelerationStructureCreateFlagBitsKHR::eMotionNV;
+ AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay | AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT |
+ AccelerationStructureCreateFlagBitsKHR::eMotionNV;
};
enum class BuildAccelerationStructureModeKHR
diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp
index 99c98aa..4a63594 100644
--- a/include/vulkan/vulkan_funcs.hpp
+++ b/include/vulkan/vulkan_funcs.hpp
@@ -18209,6 +18209,284 @@ namespace VULKAN_HPP_NAMESPACE
}
#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+ //=== VK_EXT_descriptor_buffer ===
+
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
+ VULKAN_HPP_NAMESPACE::DeviceSize * pLayoutSizeInBytes,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ d.vkGetDescriptorSetLayoutSizeEXT( m_device, static_cast<VkDescriptorSetLayout>( layout ), reinterpret_cast<VkDeviceSize *>( pLayoutSizeInBytes ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize
+ Device::getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ VULKAN_HPP_NAMESPACE::DeviceSize layoutSizeInBytes;
+ d.vkGetDescriptorSetLayoutSizeEXT( m_device, static_cast<VkDescriptorSetLayout>( layout ), reinterpret_cast<VkDeviceSize *>( &layoutSizeInBytes ) );
+
+ return layoutSizeInBytes;
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void Device::getDescriptorSetLayoutBindingOffsetEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
+ uint32_t binding,
+ VULKAN_HPP_NAMESPACE::DeviceSize * pOffset,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ d.vkGetDescriptorSetLayoutBindingOffsetEXT( m_device, static_cast<VkDescriptorSetLayout>( layout ), binding, reinterpret_cast<VkDeviceSize *>( pOffset ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize Device::getDescriptorSetLayoutBindingOffsetEXT(
+ VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout, uint32_t binding, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ VULKAN_HPP_NAMESPACE::DeviceSize offset;
+ d.vkGetDescriptorSetLayoutBindingOffsetEXT( m_device, static_cast<VkDescriptorSetLayout>( layout ), binding, reinterpret_cast<VkDeviceSize *>( &offset ) );
+
+ return offset;
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void Device::getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT * pDescriptorInfo,
+ size_t dataSize,
+ void * pDescriptor,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ d.vkGetDescriptorEXT( m_device, reinterpret_cast<const VkDescriptorGetInfoEXT *>( pDescriptorInfo ), dataSize, pDescriptor );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DescriptorType, typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorType Device::getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ DescriptorType descriptor;
+ d.vkGetDescriptorEXT(
+ m_device, reinterpret_cast<const VkDescriptorGetInfoEXT *>( &descriptorInfo ), sizeof( DescriptorType ), reinterpret_cast<void *>( &descriptor ) );
+
+ return descriptor;
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBuffersEXT( uint32_t bufferCount,
+ const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT * pBindingInfos,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ d.vkCmdBindDescriptorBuffersEXT( m_commandBuffer, bufferCount, reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( pBindingInfos ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void
+ CommandBuffer::bindDescriptorBuffersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ d.vkCmdBindDescriptorBuffersEXT( m_commandBuffer, bindingInfos.size(), reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( bindingInfos.data() ) );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t firstSet,
+ uint32_t setCount,
+ const uint32_t * pBufferIndices,
+ const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ d.vkCmdSetDescriptorBufferOffsetsEXT( m_commandBuffer,
+ static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
+ static_cast<VkPipelineLayout>( layout ),
+ firstSet,
+ setCount,
+ pBufferIndices,
+ reinterpret_cast<const VkDeviceSize *>( pOffsets ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void CommandBuffer::setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t firstSet,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+# ifdef VULKAN_HPP_NO_EXCEPTIONS
+ VULKAN_HPP_ASSERT( bufferIndices.size() == offsets.size() );
+# else
+ if ( bufferIndices.size() != offsets.size() )
+ {
+ throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setDescriptorBufferOffsetsEXT: bufferIndices.size() != offsets.size()" );
+ }
+# endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+
+ d.vkCmdSetDescriptorBufferOffsetsEXT( m_commandBuffer,
+ static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
+ static_cast<VkPipelineLayout>( layout ),
+ firstSet,
+ bufferIndices.size(),
+ bufferIndices.data(),
+ reinterpret_cast<const VkDeviceSize *>( offsets.data() ) );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplersEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t set,
+ Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ d.vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
+ m_commandBuffer, static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), set );
+ }
+
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getBufferOpaqueCaptureDescriptorDataEXT(
+ const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ return static_cast<Result>(
+ d.vkGetBufferOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
+ Device::getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ DataType data;
+ VkResult result = d.vkGetBufferOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" );
+
+ return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageOpaqueCaptureDescriptorDataEXT(
+ const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ return static_cast<Result>(
+ d.vkGetImageOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
+ Device::getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ DataType data;
+ VkResult result = d.vkGetImageOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" );
+
+ return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getImageViewOpaqueCaptureDescriptorDataEXT(
+ const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ return static_cast<Result>(
+ d.vkGetImageViewOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
+ Device::getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ DataType data;
+ VkResult result =
+ d.vkGetImageViewOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" );
+
+ return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getSamplerOpaqueCaptureDescriptorDataEXT(
+ const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ return static_cast<Result>(
+ d.vkGetSamplerOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
+ Device::getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info, Dispatch const & d ) const
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ DataType data;
+ VkResult result = d.vkGetSamplerOpaqueCaptureDescriptorDataEXT( m_device, reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" );
+
+ return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT * pInfo, void * pData, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+ return static_cast<Result>( d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ m_device, reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( pInfo ), pData ) );
+ }
+
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<DataType>::type
+ Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info,
+ Dispatch const & d ) const
+ {
+ VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+
+ DataType data;
+ VkResult result = d.vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ m_device, reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
+ VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" );
+
+ return createResultValueType( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), data );
+ }
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
//=== VK_NV_fragment_shading_rate_enums ===
template <typename Dispatch>
diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp
index f83368a..4161849 100644
--- a/include/vulkan/vulkan_handles.hpp
+++ b/include/vulkan/vulkan_handles.hpp
@@ -1218,6 +1218,22 @@ namespace VULKAN_HPP_NAMESPACE
struct QueueFamilyCheckpointProperties2NV;
struct CheckpointData2NV;
+ //=== VK_EXT_descriptor_buffer ===
+ struct PhysicalDeviceDescriptorBufferPropertiesEXT;
+ struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+ struct PhysicalDeviceDescriptorBufferFeaturesEXT;
+ struct DescriptorAddressInfoEXT;
+ struct DescriptorBufferBindingInfoEXT;
+ struct DescriptorBufferBindingPushDescriptorBufferHandleEXT;
+ union DescriptorDataEXT;
+ struct DescriptorGetInfoEXT;
+ struct BufferCaptureDescriptorDataInfoEXT;
+ struct ImageCaptureDescriptorDataInfoEXT;
+ struct ImageViewCaptureDescriptorDataInfoEXT;
+ struct SamplerCaptureDescriptorDataInfoEXT;
+ struct OpaqueCaptureDescriptorDataCreateInfoEXT;
+ struct AccelerationStructureCaptureDescriptorDataInfoEXT;
+
//=== VK_EXT_graphics_pipeline_library ===
struct PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT;
struct PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT;
@@ -4908,6 +4924,42 @@ namespace VULKAN_HPP_NAMESPACE
uint32_t marker,
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+ //=== VK_EXT_descriptor_buffer ===
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void bindDescriptorBuffersEXT( uint32_t bufferCount,
+ const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT * pBindingInfos,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void bindDescriptorBuffersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t firstSet,
+ uint32_t setCount,
+ const uint32_t * pBufferIndices,
+ const VULKAN_HPP_NAMESPACE::DeviceSize * pOffsets,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t firstSet,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void bindDescriptorBufferEmbeddedSamplersEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t set,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+
//=== VK_NV_fragment_shading_rate_enums ===
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -11449,6 +11501,102 @@ namespace VULKAN_HPP_NAMESPACE
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
#endif /*VK_USE_PLATFORM_METAL_EXT*/
+ //=== VK_EXT_descriptor_buffer ===
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
+ VULKAN_HPP_NAMESPACE::DeviceSize * pLayoutSizeInBytes,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize
+ getDescriptorSetLayoutSizeEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void getDescriptorSetLayoutBindingOffsetEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
+ uint32_t binding,
+ VULKAN_HPP_NAMESPACE::DeviceSize * pOffset,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize
+ getDescriptorSetLayoutBindingOffsetEXT( VULKAN_HPP_NAMESPACE::DescriptorSetLayout layout,
+ uint32_t binding,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ void getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT * pDescriptorInfo,
+ size_t dataSize,
+ void * pDescriptor,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DescriptorType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD DescriptorType getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD Result
+ getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
+ getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD Result getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
+ getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD Result
+ getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
+ getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD Result
+ getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
+ getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+ template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD Result
+ getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
+ void * pData,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+ template <typename DataType, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+ VULKAN_HPP_NODISCARD typename ResultValueType<DataType>::type
+ getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info,
+ Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
//=== VK_EXT_image_compression_control ===
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp
index 021c545..f28a3f1 100644
--- a/include/vulkan/vulkan_hash.hpp
+++ b/include/vulkan/vulkan_hash.hpp
@@ -552,6 +552,21 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT const & accelerationStructureCaptureDescriptorDataInfoEXT )
+ const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.accelerationStructure );
+ VULKAN_HPP_HASH_COMBINE( seed, accelerationStructureCaptureDescriptorDataInfoEXT.accelerationStructureNV );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoKHR const & accelerationStructureCreateInfoKHR ) const VULKAN_HPP_NOEXCEPT
@@ -1577,6 +1592,19 @@ namespace std
}
};
+ template <>
+ struct hash<VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT const & bufferCaptureDescriptorDataInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, bufferCaptureDescriptorDataInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, bufferCaptureDescriptorDataInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, bufferCaptureDescriptorDataInfoEXT.buffer );
+ return seed;
+ }
+ };
+
# if defined( VK_USE_PLATFORM_FUCHSIA )
template <>
struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIA>
@@ -2836,6 +2864,49 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT const & descriptorAddressInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.address );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.range );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorAddressInfoEXT.format );
+ return seed;
+ }
+ };
+
+ template <>
+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT const & descriptorBufferBindingInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.address );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingInfoEXT.usage );
+ return seed;
+ }
+ };
+
+ template <>
+ struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT const &
+ descriptorBufferBindingPushDescriptorBufferHandleEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingPushDescriptorBufferHandleEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingPushDescriptorBufferHandleEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, descriptorBufferBindingPushDescriptorBufferHandleEXT.buffer );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::DescriptorBufferInfo>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorBufferInfo const & descriptorBufferInfo ) const VULKAN_HPP_NOEXCEPT
@@ -4998,6 +5069,19 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT const & imageCaptureDescriptorDataInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, imageCaptureDescriptorDataInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, imageCaptureDescriptorDataInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, imageCaptureDescriptorDataInfoEXT.image );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::ImageCompressionControlEXT>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageCompressionControlEXT const & imageCompressionControlEXT ) const VULKAN_HPP_NOEXCEPT
@@ -5339,6 +5423,20 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT>
+ {
+ std::size_t
+ operator()( VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT const & imageViewCaptureDescriptorDataInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCaptureDescriptorDataInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCaptureDescriptorDataInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, imageViewCaptureDescriptorDataInfoEXT.imageView );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::ImageViewCreateInfo>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageViewCreateInfo const & imageViewCreateInfo ) const VULKAN_HPP_NOEXCEPT
@@ -6269,6 +6367,20 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT>
+ {
+ std::size_t
+ operator()( VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT const & opaqueCaptureDescriptorDataCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, opaqueCaptureDescriptorDataCreateInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, opaqueCaptureDescriptorDataCreateInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, opaqueCaptureDescriptorDataCreateInfoEXT.opaqueCaptureDescriptorData );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::OpticalFlowExecuteInfoNV const & opticalFlowExecuteInfoNV ) const VULKAN_HPP_NOEXCEPT
@@ -6960,6 +7072,83 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const &
+ physicalDeviceDescriptorBufferDensityMapPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferDensityMapPropertiesEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferDensityMapPropertiesEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferDensityMapPropertiesEXT.combinedImageSamplerDensityMapDescriptorSize );
+ return seed;
+ }
+ };
+
+ template <>
+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT>
+ {
+ std::size_t
+ operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT const & physicalDeviceDescriptorBufferFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBuffer );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBufferCaptureReplay );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBufferImageLayoutIgnored );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferFeaturesEXT.descriptorBufferPushDescriptors );
+ return seed;
+ }
+ };
+
+ template <>
+ struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT const & physicalDeviceDescriptorBufferPropertiesEXT ) const
+ VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.combinedImageSamplerDescriptorSingleArray );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.bufferlessPushDescriptors );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.allowSamplerImageViewPostSubmitCreation );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.descriptorBufferOffsetAlignment );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxDescriptorBufferBindings );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxResourceDescriptorBufferBindings );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxSamplerDescriptorBufferBindings );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxEmbeddedImmutableSamplerBindings );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxEmbeddedImmutableSamplers );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.bufferCaptureReplayDescriptorDataSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.imageCaptureReplayDescriptorDataSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.imageViewCaptureReplayDescriptorDataSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.samplerCaptureReplayDescriptorDataSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.accelerationStructureCaptureReplayDescriptorDataSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.samplerDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.combinedImageSamplerDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.sampledImageDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.storageImageDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.uniformTexelBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustUniformTexelBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.storageTexelBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustStorageTexelBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.uniformBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustUniformBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.storageBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.robustStorageBufferDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.inputAttachmentDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.accelerationStructureDescriptorSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxSamplerDescriptorBufferRange );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.maxResourceDescriptorBufferRange );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.samplerDescriptorBufferAddressSpaceSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.resourceDescriptorBufferAddressSpaceSize );
+ VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceDescriptorBufferPropertiesEXT.descriptorBufferAddressSpaceSize );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorIndexingFeatures>
{
std::size_t
@@ -11963,6 +12152,19 @@ namespace std
};
template <>
+ struct hash<VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT>
+ {
+ std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT const & samplerCaptureDescriptorDataInfoEXT ) const VULKAN_HPP_NOEXCEPT
+ {
+ std::size_t seed = 0;
+ VULKAN_HPP_HASH_COMBINE( seed, samplerCaptureDescriptorDataInfoEXT.sType );
+ VULKAN_HPP_HASH_COMBINE( seed, samplerCaptureDescriptorDataInfoEXT.pNext );
+ VULKAN_HPP_HASH_COMBINE( seed, samplerCaptureDescriptorDataInfoEXT.sampler );
+ return seed;
+ }
+ };
+
+ template <>
struct hash<VULKAN_HPP_NAMESPACE::SamplerCreateInfo>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerCreateInfo const & samplerCreateInfo ) const VULKAN_HPP_NOEXCEPT
diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp
index 8e86b93..3248f8b 100644
--- a/include/vulkan/vulkan_raii.hpp
+++ b/include/vulkan/vulkan_raii.hpp
@@ -901,6 +901,26 @@ namespace VULKAN_HPP_NAMESPACE
vkCmdEndDebugUtilsLabelEXT = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
vkCmdInsertDebugUtilsLabelEXT = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
+ //=== VK_EXT_descriptor_buffer ===
+ vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
+ vkGetDescriptorSetLayoutBindingOffsetEXT =
+ PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
+ vkGetDescriptorEXT = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
+ vkCmdBindDescriptorBuffersEXT = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
+ vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
+ vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
+ PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
+ vkGetBufferOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetImageOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetImageViewOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetSamplerOpaqueCaptureDescriptorDataEXT =
+ PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
+ vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
+
//=== VK_EXT_device_fault ===
vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
@@ -1823,6 +1843,19 @@ namespace VULKAN_HPP_NAMESPACE
PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT = 0;
PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT = 0;
+ //=== VK_EXT_descriptor_buffer ===
+ PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT = 0;
+ PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT = 0;
+ PFN_vkGetDescriptorEXT vkGetDescriptorEXT = 0;
+ PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT = 0;
+ PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT = 0;
+ PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT = 0;
+ PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT = 0;
+ PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
+
//=== VK_EXT_device_fault ===
PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
@@ -3941,6 +3974,28 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> exportMetalObjectsEXT() const VULKAN_HPP_NOEXCEPT;
# endif /*VK_USE_PLATFORM_METAL_EXT*/
+ //=== VK_EXT_descriptor_buffer ===
+
+ template <typename DescriptorType>
+ VULKAN_HPP_NODISCARD DescriptorType getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo ) const VULKAN_HPP_NOEXCEPT;
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD DataType getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info ) const;
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD DataType getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info ) const;
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD DataType
+ getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info ) const;
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD DataType getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info ) const;
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD DataType
+ getAccelerationStructureOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const;
+
//=== VK_EXT_device_fault ===
VULKAN_HPP_NODISCARD
@@ -5558,6 +5613,21 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::DeviceSize dstOffset,
uint32_t marker ) const VULKAN_HPP_NOEXCEPT;
+ //=== VK_EXT_descriptor_buffer ===
+
+ void bindDescriptorBuffersEXT( VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos ) const
+ VULKAN_HPP_NOEXCEPT;
+
+ void setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t firstSet,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets ) const;
+
+ void bindDescriptorBufferEmbeddedSamplersEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t set ) const VULKAN_HPP_NOEXCEPT;
+
//=== VK_NV_fragment_shading_rate_enums ===
void setFragmentShadingRateEnumNV( VULKAN_HPP_NAMESPACE::FragmentShadingRateNV shadingRate,
@@ -6805,6 +6875,12 @@ namespace VULKAN_HPP_NAMESPACE
std::swap( m_dispatcher, rhs.m_dispatcher );
}
+ //=== VK_EXT_descriptor_buffer ===
+
+ VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize getSizeEXT() const VULKAN_HPP_NOEXCEPT;
+
+ VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceSize getBindingOffsetEXT( uint32_t binding ) const VULKAN_HPP_NOEXCEPT;
+
private:
VULKAN_HPP_NAMESPACE::Device m_device = {};
VULKAN_HPP_NAMESPACE::DescriptorSetLayout m_descriptorSetLayout = {};
@@ -17561,6 +17637,170 @@ namespace VULKAN_HPP_NAMESPACE
return checkpointData;
}
+ //=== VK_EXT_descriptor_buffer ===
+
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize DescriptorSetLayout::getSizeEXT() const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutSizeEXT &&
+ "Function <vkGetDescriptorSetLayoutSizeEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ VULKAN_HPP_NAMESPACE::DeviceSize layoutSizeInBytes;
+ getDispatcher()->vkGetDescriptorSetLayoutSizeEXT( static_cast<VkDevice>( m_device ),
+ static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ),
+ reinterpret_cast<VkDeviceSize *>( &layoutSizeInBytes ) );
+
+ return layoutSizeInBytes;
+ }
+
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceSize
+ DescriptorSetLayout::getBindingOffsetEXT( uint32_t binding ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorSetLayoutBindingOffsetEXT &&
+ "Function <vkGetDescriptorSetLayoutBindingOffsetEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ VULKAN_HPP_NAMESPACE::DeviceSize offset;
+ getDispatcher()->vkGetDescriptorSetLayoutBindingOffsetEXT(
+ static_cast<VkDevice>( m_device ), static_cast<VkDescriptorSetLayout>( m_descriptorSetLayout ), binding, reinterpret_cast<VkDeviceSize *>( &offset ) );
+
+ return offset;
+ }
+
+ template <typename DescriptorType>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DescriptorType
+ Device::getDescriptorEXT( const VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT & descriptorInfo ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetDescriptorEXT && "Function <vkGetDescriptorEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ DescriptorType descriptor;
+ getDispatcher()->vkGetDescriptorEXT( static_cast<VkDevice>( m_device ),
+ reinterpret_cast<const VkDescriptorGetInfoEXT *>( &descriptorInfo ),
+ sizeof( DescriptorType ),
+ reinterpret_cast<void *>( &descriptor ) );
+
+ return descriptor;
+ }
+
+ VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBuffersEXT(
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT> const & bindingInfos ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorBuffersEXT &&
+ "Function <vkCmdBindDescriptorBuffersEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ getDispatcher()->vkCmdBindDescriptorBuffersEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
+ bindingInfos.size(),
+ reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( bindingInfos.data() ) );
+ }
+
+ VULKAN_HPP_INLINE void
+ CommandBuffer::setDescriptorBufferOffsetsEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t firstSet,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const uint32_t> const & bufferIndices,
+ VULKAN_HPP_NAMESPACE::ArrayProxy<const VULKAN_HPP_NAMESPACE::DeviceSize> const & offsets ) const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkCmdSetDescriptorBufferOffsetsEXT &&
+ "Function <vkCmdSetDescriptorBufferOffsetsEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+ if ( bufferIndices.size() != offsets.size() )
+ {
+ throw LogicError( VULKAN_HPP_NAMESPACE_STRING "::CommandBuffer::setDescriptorBufferOffsetsEXT: bufferIndices.size() != offsets.size()" );
+ }
+
+ getDispatcher()->vkCmdSetDescriptorBufferOffsetsEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
+ static_cast<VkPipelineBindPoint>( pipelineBindPoint ),
+ static_cast<VkPipelineLayout>( layout ),
+ firstSet,
+ bufferIndices.size(),
+ bufferIndices.data(),
+ reinterpret_cast<const VkDeviceSize *>( offsets.data() ) );
+ }
+
+ VULKAN_HPP_INLINE void CommandBuffer::bindDescriptorBufferEmbeddedSamplersEXT( VULKAN_HPP_NAMESPACE::PipelineBindPoint pipelineBindPoint,
+ VULKAN_HPP_NAMESPACE::PipelineLayout layout,
+ uint32_t set ) const VULKAN_HPP_NOEXCEPT
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBindDescriptorBufferEmbeddedSamplersEXT &&
+ "Function <vkCmdBindDescriptorBufferEmbeddedSamplersEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ getDispatcher()->vkCmdBindDescriptorBufferEmbeddedSamplersEXT(
+ static_cast<VkCommandBuffer>( m_commandBuffer ), static_cast<VkPipelineBindPoint>( pipelineBindPoint ), static_cast<VkPipelineLayout>( layout ), set );
+ }
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DataType
+ Device::getBufferOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT & info ) const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetBufferOpaqueCaptureDescriptorDataEXT &&
+ "Function <vkGetBufferOpaqueCaptureDescriptorDataEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ DataType data;
+ VkResult result = getDispatcher()->vkGetBufferOpaqueCaptureDescriptorDataEXT(
+ static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferOpaqueCaptureDescriptorDataEXT" );
+
+ return data;
+ }
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DataType
+ Device::getImageOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT & info ) const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageOpaqueCaptureDescriptorDataEXT &&
+ "Function <vkGetImageOpaqueCaptureDescriptorDataEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ DataType data;
+ VkResult result = getDispatcher()->vkGetImageOpaqueCaptureDescriptorDataEXT(
+ static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getImageOpaqueCaptureDescriptorDataEXT" );
+
+ return data;
+ }
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DataType
+ Device::getImageViewOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT & info ) const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetImageViewOpaqueCaptureDescriptorDataEXT &&
+ "Function <vkGetImageViewOpaqueCaptureDescriptorDataEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ DataType data;
+ VkResult result = getDispatcher()->vkGetImageViewOpaqueCaptureDescriptorDataEXT(
+ static_cast<VkDevice>( m_device ), reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getImageViewOpaqueCaptureDescriptorDataEXT" );
+
+ return data;
+ }
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DataType
+ Device::getSamplerOpaqueCaptureDescriptorDataEXT( const VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT & info ) const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetSamplerOpaqueCaptureDescriptorDataEXT &&
+ "Function <vkGetSamplerOpaqueCaptureDescriptorDataEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ DataType data;
+ VkResult result = getDispatcher()->vkGetSamplerOpaqueCaptureDescriptorDataEXT(
+ static_cast<VkDevice>( m_device ), reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::getSamplerOpaqueCaptureDescriptorDataEXT" );
+
+ return data;
+ }
+
+ template <typename DataType>
+ VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE DataType Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ const VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT & info ) const
+ {
+ VULKAN_HPP_ASSERT( getDispatcher()->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT &&
+ "Function <vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT> needs extension <VK_EXT_descriptor_buffer> enabled!" );
+
+ DataType data;
+ VkResult result = getDispatcher()->vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
+ static_cast<VkDevice>( m_device ), reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( &info ), &data );
+ resultCheck( static_cast<VULKAN_HPP_NAMESPACE::Result>( result ),
+ VULKAN_HPP_NAMESPACE_STRING "::Device::getAccelerationStructureOpaqueCaptureDescriptorDataEXT" );
+
+ return data;
+ }
+
//=== VK_NV_fragment_shading_rate_enums ===
VULKAN_HPP_INLINE void
diff --git a/include/vulkan/vulkan_static_assertions.hpp b/include/vulkan/vulkan_static_assertions.hpp
index 20d1bc8..2f40c21 100644
--- a/include/vulkan/vulkan_static_assertions.hpp
+++ b/include/vulkan/vulkan_static_assertions.hpp
@@ -5,8 +5,8 @@
// This header is generated from the Khronos Vulkan XML API Registry.
-#ifndef VULKAN_STRUCTS_HPP
-#define VULKAN_STRUCTS_HPP
+#ifndef VULKAN_STATIC_ASSERTIONS_HPP
+#define VULKAN_STATIC_ASSERTIONS_HPP
#include <vulkan/vulkan.hpp>
@@ -4861,6 +4861,103 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Checkpoi
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CheckpointData2NV>::value,
"CheckpointData2NV is not nothrow_move_constructible!" );
+//=== VK_EXT_descriptor_buffer ===
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT ) ==
+ sizeof( VkPhysicalDeviceDescriptorBufferPropertiesEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT>::value,
+ "PhysicalDeviceDescriptorBufferPropertiesEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT ) ==
+ sizeof( VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>::value,
+ "PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT ) == sizeof( VkPhysicalDeviceDescriptorBufferFeaturesEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT>::value,
+ "PhysicalDeviceDescriptorBufferFeaturesEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT ) == sizeof( VkDescriptorAddressInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT>::value, "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT>::value,
+ "DescriptorAddressInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT ) == sizeof( VkDescriptorBufferBindingInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT>::value, "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT>::value,
+ "DescriptorBufferBindingInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT ) ==
+ sizeof( VkDescriptorBufferBindingPushDescriptorBufferHandleEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT>::value,
+ "DescriptorBufferBindingPushDescriptorBufferHandleEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorDataEXT ) == sizeof( VkDescriptorDataEXT ), "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::DescriptorDataEXT>::value, "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorDataEXT>::value,
+ "DescriptorDataEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT ) == sizeof( VkDescriptorGetInfoEXT ), "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT>::value, "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT>::value,
+ "DescriptorGetInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT ) == sizeof( VkBufferCaptureDescriptorDataInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT>::value,
+ "BufferCaptureDescriptorDataInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT ) == sizeof( VkImageCaptureDescriptorDataInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT>::value, "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT>::value,
+ "ImageCaptureDescriptorDataInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT ) == sizeof( VkImageViewCaptureDescriptorDataInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT>::value,
+ "ImageViewCaptureDescriptorDataInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT ) == sizeof( VkSamplerCaptureDescriptorDataInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT>::value,
+ "SamplerCaptureDescriptorDataInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT ) == sizeof( VkOpaqueCaptureDescriptorDataCreateInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT>::value,
+ "OpaqueCaptureDescriptorDataCreateInfoEXT is not nothrow_move_constructible!" );
+
+VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT ) ==
+ sizeof( VkAccelerationStructureCaptureDescriptorDataInfoEXT ),
+ "struct and wrapper have different size!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT>::value,
+ "struct wrapper is not a standard layout!" );
+VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT>::value,
+ "AccelerationStructureCaptureDescriptorDataInfoEXT is not nothrow_move_constructible!" );
+
//=== VK_EXT_graphics_pipeline_library ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT ) ==
diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp
index 9daee99..0163e44 100644
--- a/include/vulkan/vulkan_structs.hpp
+++ b/include/vulkan/vulkan_structs.hpp
@@ -1172,6 +1172,120 @@ namespace VULKAN_HPP_NAMESPACE
using Type = AccelerationStructureBuildSizesInfoKHR;
};
+ struct AccelerationStructureCaptureDescriptorDataInfoEXT
+ {
+ using NativeType = VkAccelerationStructureCaptureDescriptorDataInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR AccelerationStructureCaptureDescriptorDataInfoEXT( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ = {},
+ VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV_ = {},
+ const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , accelerationStructure( accelerationStructure_ )
+ , accelerationStructureNV( accelerationStructureNV_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR
+ AccelerationStructureCaptureDescriptorDataInfoEXT( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ AccelerationStructureCaptureDescriptorDataInfoEXT( VkAccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : AccelerationStructureCaptureDescriptorDataInfoEXT( *reinterpret_cast<AccelerationStructureCaptureDescriptorDataInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ AccelerationStructureCaptureDescriptorDataInfoEXT &
+ operator=( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ AccelerationStructureCaptureDescriptorDataInfoEXT & operator=( VkAccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCaptureDescriptorDataInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT &
+ setAccelerationStructure( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
+ {
+ accelerationStructure = accelerationStructure_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 AccelerationStructureCaptureDescriptorDataInfoEXT &
+ setAccelerationStructureNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV_ ) VULKAN_HPP_NOEXCEPT
+ {
+ accelerationStructureNV = accelerationStructureNV_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkAccelerationStructureCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+ operator VkAccelerationStructureCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkAccelerationStructureCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
+ const void * const &,
+ VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const &,
+ VULKAN_HPP_NAMESPACE::AccelerationStructureNV const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, accelerationStructure, accelerationStructureNV );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( AccelerationStructureCaptureDescriptorDataInfoEXT const & ) const = default;
+#else
+ bool operator==( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( accelerationStructure == rhs.accelerationStructure ) &&
+ ( accelerationStructureNV == rhs.accelerationStructureNV );
+# endif
+ }
+
+ bool operator!=( AccelerationStructureCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT;
+ const void * pNext = {};
+ VULKAN_HPP_NAMESPACE::AccelerationStructureKHR accelerationStructure = {};
+ VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructureNV = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT>
+ {
+ using Type = AccelerationStructureCaptureDescriptorDataInfoEXT;
+ };
+
struct AccelerationStructureCreateInfoKHR
{
using NativeType = VkAccelerationStructureCreateInfoKHR;
@@ -9586,6 +9700,102 @@ namespace VULKAN_HPP_NAMESPACE
};
using BlitImageInfo2KHR = BlitImageInfo2;
+ struct BufferCaptureDescriptorDataInfoEXT
+ {
+ using NativeType = VkBufferCaptureDescriptorDataInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBufferCaptureDescriptorDataInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR BufferCaptureDescriptorDataInfoEXT( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , buffer( buffer_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR BufferCaptureDescriptorDataInfoEXT( BufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ BufferCaptureDescriptorDataInfoEXT( VkBufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : BufferCaptureDescriptorDataInfoEXT( *reinterpret_cast<BufferCaptureDescriptorDataInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ BufferCaptureDescriptorDataInfoEXT & operator=( BufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ BufferCaptureDescriptorDataInfoEXT & operator=( VkBufferCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCaptureDescriptorDataInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 BufferCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 BufferCaptureDescriptorDataInfoEXT & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ buffer = buffer_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkBufferCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkBufferCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+ operator VkBufferCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkBufferCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Buffer const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, buffer );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( BufferCaptureDescriptorDataInfoEXT const & ) const = default;
+#else
+ bool operator==( BufferCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
+# endif
+ }
+
+ bool operator!=( BufferCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eBufferCaptureDescriptorDataInfoEXT;
+ const void * pNext = {};
+ VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eBufferCaptureDescriptorDataInfoEXT>
+ {
+ using Type = BufferCaptureDescriptorDataInfoEXT;
+ };
+
#if defined( VK_USE_PLATFORM_FUCHSIA )
struct BufferCollectionBufferCreateInfoFUCHSIA
{
@@ -20288,6 +20498,333 @@ namespace VULKAN_HPP_NAMESPACE
};
using DependencyInfoKHR = DependencyInfo;
+ struct DescriptorAddressInfoEXT
+ {
+ using NativeType = VkDescriptorAddressInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorAddressInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR DescriptorAddressInfoEXT( VULKAN_HPP_NAMESPACE::DeviceAddress address_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize range_ = {},
+ VULKAN_HPP_NAMESPACE::Format format_ = VULKAN_HPP_NAMESPACE::Format::eUndefined,
+ void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , address( address_ )
+ , range( range_ )
+ , format( format_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR DescriptorAddressInfoEXT( DescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ DescriptorAddressInfoEXT( VkDescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : DescriptorAddressInfoEXT( *reinterpret_cast<DescriptorAddressInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ DescriptorAddressInfoEXT & operator=( DescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ DescriptorAddressInfoEXT & operator=( VkDescriptorAddressInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setAddress( VULKAN_HPP_NAMESPACE::DeviceAddress address_ ) VULKAN_HPP_NOEXCEPT
+ {
+ address = address_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setRange( VULKAN_HPP_NAMESPACE::DeviceSize range_ ) VULKAN_HPP_NOEXCEPT
+ {
+ range = range_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorAddressInfoEXT & setFormat( VULKAN_HPP_NAMESPACE::Format format_ ) VULKAN_HPP_NOEXCEPT
+ {
+ format = format_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkDescriptorAddressInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkDescriptorAddressInfoEXT *>( this );
+ }
+
+ operator VkDescriptorAddressInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkDescriptorAddressInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
+ void * const &,
+ VULKAN_HPP_NAMESPACE::DeviceAddress const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &,
+ VULKAN_HPP_NAMESPACE::Format const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, address, range, format );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( DescriptorAddressInfoEXT const & ) const = default;
+#else
+ bool operator==( DescriptorAddressInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( address == rhs.address ) && ( range == rhs.range ) && ( format == rhs.format );
+# endif
+ }
+
+ bool operator!=( DescriptorAddressInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorAddressInfoEXT;
+ void * pNext = {};
+ VULKAN_HPP_NAMESPACE::DeviceAddress address = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize range = {};
+ VULKAN_HPP_NAMESPACE::Format format = VULKAN_HPP_NAMESPACE::Format::eUndefined;
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eDescriptorAddressInfoEXT>
+ {
+ using Type = DescriptorAddressInfoEXT;
+ };
+
+ struct DescriptorBufferBindingInfoEXT
+ {
+ using NativeType = VkDescriptorBufferBindingInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorBufferBindingInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR DescriptorBufferBindingInfoEXT( VULKAN_HPP_NAMESPACE::DeviceAddress address_ = {},
+ VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_ = {},
+ void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , address( address_ )
+ , usage( usage_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR DescriptorBufferBindingInfoEXT( DescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ DescriptorBufferBindingInfoEXT( VkDescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : DescriptorBufferBindingInfoEXT( *reinterpret_cast<DescriptorBufferBindingInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ DescriptorBufferBindingInfoEXT & operator=( DescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ DescriptorBufferBindingInfoEXT & operator=( VkDescriptorBufferBindingInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setAddress( VULKAN_HPP_NAMESPACE::DeviceAddress address_ ) VULKAN_HPP_NOEXCEPT
+ {
+ address = address_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingInfoEXT & setUsage( VULKAN_HPP_NAMESPACE::BufferUsageFlags usage_ ) VULKAN_HPP_NOEXCEPT
+ {
+ usage = usage_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkDescriptorBufferBindingInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkDescriptorBufferBindingInfoEXT *>( this );
+ }
+
+ operator VkDescriptorBufferBindingInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkDescriptorBufferBindingInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
+ void * const &,
+ VULKAN_HPP_NAMESPACE::DeviceAddress const &,
+ VULKAN_HPP_NAMESPACE::BufferUsageFlags const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, address, usage );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( DescriptorBufferBindingInfoEXT const & ) const = default;
+#else
+ bool operator==( DescriptorBufferBindingInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( address == rhs.address ) && ( usage == rhs.usage );
+# endif
+ }
+
+ bool operator!=( DescriptorBufferBindingInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorBufferBindingInfoEXT;
+ void * pNext = {};
+ VULKAN_HPP_NAMESPACE::DeviceAddress address = {};
+ VULKAN_HPP_NAMESPACE::BufferUsageFlags usage = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eDescriptorBufferBindingInfoEXT>
+ {
+ using Type = DescriptorBufferBindingInfoEXT;
+ };
+
+ struct DescriptorBufferBindingPushDescriptorBufferHandleEXT
+ {
+ using NativeType = VkDescriptorBufferBindingPushDescriptorBufferHandleEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR DescriptorBufferBindingPushDescriptorBufferHandleEXT( VULKAN_HPP_NAMESPACE::Buffer buffer_ = {},
+ void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , buffer( buffer_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR
+ DescriptorBufferBindingPushDescriptorBufferHandleEXT( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ DescriptorBufferBindingPushDescriptorBufferHandleEXT( VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : DescriptorBufferBindingPushDescriptorBufferHandleEXT( *reinterpret_cast<DescriptorBufferBindingPushDescriptorBufferHandleEXT const *>( &rhs ) )
+ {
+ }
+
+ DescriptorBufferBindingPushDescriptorBufferHandleEXT &
+ operator=( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ DescriptorBufferBindingPushDescriptorBufferHandleEXT & operator=( VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorBufferBindingPushDescriptorBufferHandleEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingPushDescriptorBufferHandleEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorBufferBindingPushDescriptorBufferHandleEXT & setBuffer( VULKAN_HPP_NAMESPACE::Buffer buffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ buffer = buffer_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkDescriptorBufferBindingPushDescriptorBufferHandleEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this );
+ }
+
+ operator VkDescriptorBufferBindingPushDescriptorBufferHandleEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkDescriptorBufferBindingPushDescriptorBufferHandleEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, VULKAN_HPP_NAMESPACE::Buffer const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, buffer );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & ) const = default;
+#else
+ bool operator==( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( buffer == rhs.buffer );
+# endif
+ }
+
+ bool operator!=( DescriptorBufferBindingPushDescriptorBufferHandleEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT;
+ void * pNext = {};
+ VULKAN_HPP_NAMESPACE::Buffer buffer = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT>
+ {
+ using Type = DescriptorBufferBindingPushDescriptorBufferHandleEXT;
+ };
+
struct DescriptorBufferInfo
{
using NativeType = VkDescriptorBufferInfo;
@@ -20480,6 +21017,218 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::ImageLayout imageLayout = VULKAN_HPP_NAMESPACE::ImageLayout::eUndefined;
};
+ union DescriptorDataEXT
+ {
+ using NativeType = VkDescriptorDataEXT;
+#if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( const VULKAN_HPP_NAMESPACE::Sampler * pSampler_ = {} ) : pSampler( pSampler_ ) {}
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pDescriptorImageInfo_ )
+ : pCombinedImageSampler( pDescriptorImageInfo_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pDescriptorAddressInfoEXT_ )
+ : pUniformTexelBuffer( pDescriptorAddressInfoEXT_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT( VULKAN_HPP_NAMESPACE::DeviceAddress accelerationStructure_ ) : accelerationStructure( accelerationStructure_ ) {}
+#endif /*VULKAN_HPP_NO_UNION_CONSTRUCTORS*/
+
+#if !defined( VULKAN_HPP_NO_UNION_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPSampler( const VULKAN_HPP_NAMESPACE::Sampler * pSampler_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pSampler = pSampler_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT &
+ setPCombinedImageSampler( const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pCombinedImageSampler_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pCombinedImageSampler = pCombinedImageSampler_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT &
+ setPInputAttachmentImage( const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pInputAttachmentImage_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pInputAttachmentImage = pInputAttachmentImage_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPSampledImage( const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pSampledImage_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pSampledImage = pSampledImage_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageImage( const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pStorageImage_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pStorageImage = pStorageImage_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT &
+ setPUniformTexelBuffer( const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pUniformTexelBuffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pUniformTexelBuffer = pUniformTexelBuffer_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT &
+ setPStorageTexelBuffer( const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pStorageTexelBuffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pStorageTexelBuffer = pStorageTexelBuffer_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPUniformBuffer( const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pUniformBuffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pUniformBuffer = pUniformBuffer_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setPStorageBuffer( const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pStorageBuffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pStorageBuffer = pStorageBuffer_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorDataEXT & setAccelerationStructure( VULKAN_HPP_NAMESPACE::DeviceAddress accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
+ {
+ accelerationStructure = accelerationStructure_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_UNION_SETTERS*/
+
+ operator VkDescriptorDataEXT const &() const
+ {
+ return *reinterpret_cast<const VkDescriptorDataEXT *>( this );
+ }
+
+ operator VkDescriptorDataEXT &()
+ {
+ return *reinterpret_cast<VkDescriptorDataEXT *>( this );
+ }
+
+#ifdef VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
+ const VULKAN_HPP_NAMESPACE::Sampler * pSampler;
+ const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pCombinedImageSampler;
+ const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pInputAttachmentImage;
+ const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pSampledImage;
+ const VULKAN_HPP_NAMESPACE::DescriptorImageInfo * pStorageImage;
+ const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pUniformTexelBuffer;
+ const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pStorageTexelBuffer;
+ const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pUniformBuffer;
+ const VULKAN_HPP_NAMESPACE::DescriptorAddressInfoEXT * pStorageBuffer;
+ VULKAN_HPP_NAMESPACE::DeviceAddress accelerationStructure;
+#else
+ const VkSampler * pSampler;
+ const VkDescriptorImageInfo * pCombinedImageSampler;
+ const VkDescriptorImageInfo * pInputAttachmentImage;
+ const VkDescriptorImageInfo * pSampledImage;
+ const VkDescriptorImageInfo * pStorageImage;
+ const VkDescriptorAddressInfoEXT * pUniformTexelBuffer;
+ const VkDescriptorAddressInfoEXT * pStorageTexelBuffer;
+ const VkDescriptorAddressInfoEXT * pUniformBuffer;
+ const VkDescriptorAddressInfoEXT * pStorageBuffer;
+ VkDeviceAddress accelerationStructure;
+#endif /*VULKAN_HPP_HAS_UNRESTRICTED_UNIONS*/
+ };
+
+ struct DescriptorGetInfoEXT
+ {
+ using NativeType = VkDescriptorGetInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDescriptorGetInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT( VULKAN_HPP_NAMESPACE::DescriptorType type_ = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler,
+ VULKAN_HPP_NAMESPACE::DescriptorDataEXT data_ = {},
+ const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , type( type_ )
+ , data( data_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT( DescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ DescriptorGetInfoEXT( VkDescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : DescriptorGetInfoEXT( *reinterpret_cast<DescriptorGetInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ DescriptorGetInfoEXT & operator=( DescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ DescriptorGetInfoEXT & operator=( VkDescriptorGetInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::DescriptorGetInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setType( VULKAN_HPP_NAMESPACE::DescriptorType type_ ) VULKAN_HPP_NOEXCEPT
+ {
+ type = type_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 DescriptorGetInfoEXT & setData( VULKAN_HPP_NAMESPACE::DescriptorDataEXT const & data_ ) VULKAN_HPP_NOEXCEPT
+ {
+ data = data_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkDescriptorGetInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkDescriptorGetInfoEXT *>( this );
+ }
+
+ operator VkDescriptorGetInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkDescriptorGetInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
+ const void * const &,
+ VULKAN_HPP_NAMESPACE::DescriptorType const &,
+ VULKAN_HPP_NAMESPACE::DescriptorDataEXT const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, type, data );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDescriptorGetInfoEXT;
+ const void * pNext = {};
+ VULKAN_HPP_NAMESPACE::DescriptorType type = VULKAN_HPP_NAMESPACE::DescriptorType::eSampler;
+ VULKAN_HPP_NAMESPACE::DescriptorDataEXT data = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eDescriptorGetInfoEXT>
+ {
+ using Type = DescriptorGetInfoEXT;
+ };
+
struct DescriptorPoolSize
{
using NativeType = VkDescriptorPoolSize;
@@ -20544,7 +21293,7 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DescriptorPoolSize const & ) const = default;
#else
- bool operator==( DescriptorPoolSize const & rhs ) const VULKAN_HPP_NOEXCEPT
+ bool operator==( DescriptorPoolSize const & rhs ) const VULKAN_HPP_NOEXCEPT
{
# if defined( VULKAN_HPP_USE_REFLECT )
return this->reflect() == rhs.reflect();
@@ -37115,6 +37864,102 @@ namespace VULKAN_HPP_NAMESPACE
VULKAN_HPP_NAMESPACE::ArrayWrapper1D<VULKAN_HPP_NAMESPACE::Offset3D, 2> dstOffsets = {};
};
+ struct ImageCaptureDescriptorDataInfoEXT
+ {
+ using NativeType = VkImageCaptureDescriptorDataInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageCaptureDescriptorDataInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR ImageCaptureDescriptorDataInfoEXT( VULKAN_HPP_NAMESPACE::Image image_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , image( image_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR ImageCaptureDescriptorDataInfoEXT( ImageCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ ImageCaptureDescriptorDataInfoEXT( VkImageCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : ImageCaptureDescriptorDataInfoEXT( *reinterpret_cast<ImageCaptureDescriptorDataInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ ImageCaptureDescriptorDataInfoEXT & operator=( ImageCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ ImageCaptureDescriptorDataInfoEXT & operator=( VkImageCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageCaptureDescriptorDataInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 ImageCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 ImageCaptureDescriptorDataInfoEXT & setImage( VULKAN_HPP_NAMESPACE::Image image_ ) VULKAN_HPP_NOEXCEPT
+ {
+ image = image_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkImageCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkImageCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+ operator VkImageCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkImageCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Image const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, image );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( ImageCaptureDescriptorDataInfoEXT const & ) const = default;
+#else
+ bool operator==( ImageCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( image == rhs.image );
+# endif
+ }
+
+ bool operator!=( ImageCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageCaptureDescriptorDataInfoEXT;
+ const void * pNext = {};
+ VULKAN_HPP_NAMESPACE::Image image = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eImageCaptureDescriptorDataInfoEXT>
+ {
+ using Type = ImageCaptureDescriptorDataInfoEXT;
+ };
+
struct ImageCompressionControlEXT
{
using NativeType = VkImageCompressionControlEXT;
@@ -39763,6 +40608,103 @@ namespace VULKAN_HPP_NAMESPACE
using Type = ImageViewAddressPropertiesNVX;
};
+ struct ImageViewCaptureDescriptorDataInfoEXT
+ {
+ using NativeType = VkImageViewCaptureDescriptorDataInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eImageViewCaptureDescriptorDataInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR ImageViewCaptureDescriptorDataInfoEXT( VULKAN_HPP_NAMESPACE::ImageView imageView_ = {},
+ const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , imageView( imageView_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR ImageViewCaptureDescriptorDataInfoEXT( ImageViewCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ ImageViewCaptureDescriptorDataInfoEXT( VkImageViewCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : ImageViewCaptureDescriptorDataInfoEXT( *reinterpret_cast<ImageViewCaptureDescriptorDataInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ ImageViewCaptureDescriptorDataInfoEXT & operator=( ImageViewCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ ImageViewCaptureDescriptorDataInfoEXT & operator=( VkImageViewCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageViewCaptureDescriptorDataInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 ImageViewCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 ImageViewCaptureDescriptorDataInfoEXT & setImageView( VULKAN_HPP_NAMESPACE::ImageView imageView_ ) VULKAN_HPP_NOEXCEPT
+ {
+ imageView = imageView_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkImageViewCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkImageViewCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+ operator VkImageViewCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkImageViewCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::ImageView const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, imageView );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( ImageViewCaptureDescriptorDataInfoEXT const & ) const = default;
+#else
+ bool operator==( ImageViewCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( imageView == rhs.imageView );
+# endif
+ }
+
+ bool operator!=( ImageViewCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eImageViewCaptureDescriptorDataInfoEXT;
+ const void * pNext = {};
+ VULKAN_HPP_NAMESPACE::ImageView imageView = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eImageViewCaptureDescriptorDataInfoEXT>
+ {
+ using Type = ImageViewCaptureDescriptorDataInfoEXT;
+ };
+
struct ImageViewCreateInfo
{
using NativeType = VkImageViewCreateInfo;
@@ -46842,6 +47784,104 @@ namespace VULKAN_HPP_NAMESPACE
};
using MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
+ struct OpaqueCaptureDescriptorDataCreateInfoEXT
+ {
+ using NativeType = VkOpaqueCaptureDescriptorDataCreateInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR OpaqueCaptureDescriptorDataCreateInfoEXT( const void * opaqueCaptureDescriptorData_ = {},
+ const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , opaqueCaptureDescriptorData( opaqueCaptureDescriptorData_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR OpaqueCaptureDescriptorDataCreateInfoEXT( OpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ OpaqueCaptureDescriptorDataCreateInfoEXT( VkOpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : OpaqueCaptureDescriptorDataCreateInfoEXT( *reinterpret_cast<OpaqueCaptureDescriptorDataCreateInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ OpaqueCaptureDescriptorDataCreateInfoEXT & operator=( OpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ OpaqueCaptureDescriptorDataCreateInfoEXT & operator=( VkOpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 OpaqueCaptureDescriptorDataCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 OpaqueCaptureDescriptorDataCreateInfoEXT &
+ setOpaqueCaptureDescriptorData( const void * opaqueCaptureDescriptorData_ ) VULKAN_HPP_NOEXCEPT
+ {
+ opaqueCaptureDescriptorData = opaqueCaptureDescriptorData_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkOpaqueCaptureDescriptorDataCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkOpaqueCaptureDescriptorDataCreateInfoEXT *>( this );
+ }
+
+ operator VkOpaqueCaptureDescriptorDataCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkOpaqueCaptureDescriptorDataCreateInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, const void * const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, opaqueCaptureDescriptorData );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( OpaqueCaptureDescriptorDataCreateInfoEXT const & ) const = default;
+#else
+ bool operator==( OpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( opaqueCaptureDescriptorData == rhs.opaqueCaptureDescriptorData );
+# endif
+ }
+
+ bool operator!=( OpaqueCaptureDescriptorDataCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT;
+ const void * pNext = {};
+ const void * opaqueCaptureDescriptorData = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT>
+ {
+ using Type = OpaqueCaptureDescriptorDataCreateInfoEXT;
+ };
+
struct OpticalFlowExecuteInfoNV
{
using NativeType = VkOpticalFlowExecuteInfoNV;
@@ -51892,6 +52932,505 @@ namespace VULKAN_HPP_NAMESPACE
};
using PhysicalDeviceDepthStencilResolvePropertiesKHR = PhysicalDeviceDepthStencilResolveProperties;
+ struct PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT
+ {
+ using NativeType = VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( size_t combinedImageSamplerDensityMapDescriptorSize_ = {},
+ void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , combinedImageSamplerDensityMapDescriptorSize( combinedImageSamplerDensityMapDescriptorSize_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR
+ PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( *reinterpret_cast<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const *>( &rhs ) )
+ {
+ }
+
+ PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT &
+ operator=( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT & operator=( VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const *>( &rhs );
+ return *this;
+ }
+
+ operator VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>( this );
+ }
+
+ operator VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, void * const &, size_t const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, combinedImageSamplerDensityMapDescriptorSize );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & ) const = default;
+#else
+ bool operator==( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
+ ( combinedImageSamplerDensityMapDescriptorSize == rhs.combinedImageSamplerDensityMapDescriptorSize );
+# endif
+ }
+
+ bool operator!=( PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+ void * pNext = {};
+ size_t combinedImageSamplerDensityMapDescriptorSize = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>
+ {
+ using Type = PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT;
+ };
+
+ struct PhysicalDeviceDescriptorBufferFeaturesEXT
+ {
+ using NativeType = VkPhysicalDeviceDescriptorBufferFeaturesEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferFeaturesEXT( VULKAN_HPP_NAMESPACE::Bool32 descriptorBuffer_ = {},
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay_ = {},
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored_ = {},
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors_ = {},
+ void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , descriptorBuffer( descriptorBuffer_ )
+ , descriptorBufferCaptureReplay( descriptorBufferCaptureReplay_ )
+ , descriptorBufferImageLayoutIgnored( descriptorBufferImageLayoutIgnored_ )
+ , descriptorBufferPushDescriptors( descriptorBufferPushDescriptors_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferFeaturesEXT( PhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ PhysicalDeviceDescriptorBufferFeaturesEXT( VkPhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : PhysicalDeviceDescriptorBufferFeaturesEXT( *reinterpret_cast<PhysicalDeviceDescriptorBufferFeaturesEXT const *>( &rhs ) )
+ {
+ }
+
+ PhysicalDeviceDescriptorBufferFeaturesEXT & operator=( PhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ PhysicalDeviceDescriptorBufferFeaturesEXT & operator=( VkPhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferFeaturesEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT &
+ setDescriptorBuffer( VULKAN_HPP_NAMESPACE::Bool32 descriptorBuffer_ ) VULKAN_HPP_NOEXCEPT
+ {
+ descriptorBuffer = descriptorBuffer_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT &
+ setDescriptorBufferCaptureReplay( VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay_ ) VULKAN_HPP_NOEXCEPT
+ {
+ descriptorBufferCaptureReplay = descriptorBufferCaptureReplay_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT &
+ setDescriptorBufferImageLayoutIgnored( VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored_ ) VULKAN_HPP_NOEXCEPT
+ {
+ descriptorBufferImageLayoutIgnored = descriptorBufferImageLayoutIgnored_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDescriptorBufferFeaturesEXT &
+ setDescriptorBufferPushDescriptors( VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors_ ) VULKAN_HPP_NOEXCEPT
+ {
+ descriptorBufferPushDescriptors = descriptorBufferPushDescriptors_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkPhysicalDeviceDescriptorBufferFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT *>( this );
+ }
+
+ operator VkPhysicalDeviceDescriptorBufferFeaturesEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkPhysicalDeviceDescriptorBufferFeaturesEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
+ void * const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, descriptorBuffer, descriptorBufferCaptureReplay, descriptorBufferImageLayoutIgnored, descriptorBufferPushDescriptors );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( PhysicalDeviceDescriptorBufferFeaturesEXT const & ) const = default;
+#else
+ bool operator==( PhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( descriptorBuffer == rhs.descriptorBuffer ) &&
+ ( descriptorBufferCaptureReplay == rhs.descriptorBufferCaptureReplay ) &&
+ ( descriptorBufferImageLayoutIgnored == rhs.descriptorBufferImageLayoutIgnored ) &&
+ ( descriptorBufferPushDescriptors == rhs.descriptorBufferPushDescriptors );
+# endif
+ }
+
+ bool operator!=( PhysicalDeviceDescriptorBufferFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT;
+ void * pNext = {};
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBuffer = {};
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferCaptureReplay = {};
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferImageLayoutIgnored = {};
+ VULKAN_HPP_NAMESPACE::Bool32 descriptorBufferPushDescriptors = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT>
+ {
+ using Type = PhysicalDeviceDescriptorBufferFeaturesEXT;
+ };
+
+ struct PhysicalDeviceDescriptorBufferPropertiesEXT
+ {
+ using NativeType = VkPhysicalDeviceDescriptorBufferPropertiesEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferPropertiesEXT( VULKAN_HPP_NAMESPACE::Bool32 combinedImageSamplerDescriptorSingleArray_ = {},
+ VULKAN_HPP_NAMESPACE::Bool32 bufferlessPushDescriptors_ = {},
+ VULKAN_HPP_NAMESPACE::Bool32 allowSamplerImageViewPostSubmitCreation_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferOffsetAlignment_ = {},
+ uint32_t maxDescriptorBufferBindings_ = {},
+ uint32_t maxResourceDescriptorBufferBindings_ = {},
+ uint32_t maxSamplerDescriptorBufferBindings_ = {},
+ uint32_t maxEmbeddedImmutableSamplerBindings_ = {},
+ uint32_t maxEmbeddedImmutableSamplers_ = {},
+ size_t bufferCaptureReplayDescriptorDataSize_ = {},
+ size_t imageCaptureReplayDescriptorDataSize_ = {},
+ size_t imageViewCaptureReplayDescriptorDataSize_ = {},
+ size_t samplerCaptureReplayDescriptorDataSize_ = {},
+ size_t accelerationStructureCaptureReplayDescriptorDataSize_ = {},
+ size_t samplerDescriptorSize_ = {},
+ size_t combinedImageSamplerDescriptorSize_ = {},
+ size_t sampledImageDescriptorSize_ = {},
+ size_t storageImageDescriptorSize_ = {},
+ size_t uniformTexelBufferDescriptorSize_ = {},
+ size_t robustUniformTexelBufferDescriptorSize_ = {},
+ size_t storageTexelBufferDescriptorSize_ = {},
+ size_t robustStorageTexelBufferDescriptorSize_ = {},
+ size_t uniformBufferDescriptorSize_ = {},
+ size_t robustUniformBufferDescriptorSize_ = {},
+ size_t storageBufferDescriptorSize_ = {},
+ size_t robustStorageBufferDescriptorSize_ = {},
+ size_t inputAttachmentDescriptorSize_ = {},
+ size_t accelerationStructureDescriptorSize_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize maxSamplerDescriptorBufferRange_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize maxResourceDescriptorBufferRange_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize samplerDescriptorBufferAddressSpaceSize_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize resourceDescriptorBufferAddressSpaceSize_ = {},
+ VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferAddressSpaceSize_ = {},
+ void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , combinedImageSamplerDescriptorSingleArray( combinedImageSamplerDescriptorSingleArray_ )
+ , bufferlessPushDescriptors( bufferlessPushDescriptors_ )
+ , allowSamplerImageViewPostSubmitCreation( allowSamplerImageViewPostSubmitCreation_ )
+ , descriptorBufferOffsetAlignment( descriptorBufferOffsetAlignment_ )
+ , maxDescriptorBufferBindings( maxDescriptorBufferBindings_ )
+ , maxResourceDescriptorBufferBindings( maxResourceDescriptorBufferBindings_ )
+ , maxSamplerDescriptorBufferBindings( maxSamplerDescriptorBufferBindings_ )
+ , maxEmbeddedImmutableSamplerBindings( maxEmbeddedImmutableSamplerBindings_ )
+ , maxEmbeddedImmutableSamplers( maxEmbeddedImmutableSamplers_ )
+ , bufferCaptureReplayDescriptorDataSize( bufferCaptureReplayDescriptorDataSize_ )
+ , imageCaptureReplayDescriptorDataSize( imageCaptureReplayDescriptorDataSize_ )
+ , imageViewCaptureReplayDescriptorDataSize( imageViewCaptureReplayDescriptorDataSize_ )
+ , samplerCaptureReplayDescriptorDataSize( samplerCaptureReplayDescriptorDataSize_ )
+ , accelerationStructureCaptureReplayDescriptorDataSize( accelerationStructureCaptureReplayDescriptorDataSize_ )
+ , samplerDescriptorSize( samplerDescriptorSize_ )
+ , combinedImageSamplerDescriptorSize( combinedImageSamplerDescriptorSize_ )
+ , sampledImageDescriptorSize( sampledImageDescriptorSize_ )
+ , storageImageDescriptorSize( storageImageDescriptorSize_ )
+ , uniformTexelBufferDescriptorSize( uniformTexelBufferDescriptorSize_ )
+ , robustUniformTexelBufferDescriptorSize( robustUniformTexelBufferDescriptorSize_ )
+ , storageTexelBufferDescriptorSize( storageTexelBufferDescriptorSize_ )
+ , robustStorageTexelBufferDescriptorSize( robustStorageTexelBufferDescriptorSize_ )
+ , uniformBufferDescriptorSize( uniformBufferDescriptorSize_ )
+ , robustUniformBufferDescriptorSize( robustUniformBufferDescriptorSize_ )
+ , storageBufferDescriptorSize( storageBufferDescriptorSize_ )
+ , robustStorageBufferDescriptorSize( robustStorageBufferDescriptorSize_ )
+ , inputAttachmentDescriptorSize( inputAttachmentDescriptorSize_ )
+ , accelerationStructureDescriptorSize( accelerationStructureDescriptorSize_ )
+ , maxSamplerDescriptorBufferRange( maxSamplerDescriptorBufferRange_ )
+ , maxResourceDescriptorBufferRange( maxResourceDescriptorBufferRange_ )
+ , samplerDescriptorBufferAddressSpaceSize( samplerDescriptorBufferAddressSpaceSize_ )
+ , resourceDescriptorBufferAddressSpaceSize( resourceDescriptorBufferAddressSpaceSize_ )
+ , descriptorBufferAddressSpaceSize( descriptorBufferAddressSpaceSize_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR PhysicalDeviceDescriptorBufferPropertiesEXT( PhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ PhysicalDeviceDescriptorBufferPropertiesEXT( VkPhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : PhysicalDeviceDescriptorBufferPropertiesEXT( *reinterpret_cast<PhysicalDeviceDescriptorBufferPropertiesEXT const *>( &rhs ) )
+ {
+ }
+
+ PhysicalDeviceDescriptorBufferPropertiesEXT & operator=( PhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ PhysicalDeviceDescriptorBufferPropertiesEXT & operator=( VkPhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceDescriptorBufferPropertiesEXT const *>( &rhs );
+ return *this;
+ }
+
+ operator VkPhysicalDeviceDescriptorBufferPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkPhysicalDeviceDescriptorBufferPropertiesEXT *>( this );
+ }
+
+ operator VkPhysicalDeviceDescriptorBufferPropertiesEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkPhysicalDeviceDescriptorBufferPropertiesEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &,
+ void * const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &,
+ VULKAN_HPP_NAMESPACE::Bool32 const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &,
+ uint32_t const &,
+ uint32_t const &,
+ uint32_t const &,
+ uint32_t const &,
+ uint32_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ size_t const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &,
+ VULKAN_HPP_NAMESPACE::DeviceSize const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType,
+ pNext,
+ combinedImageSamplerDescriptorSingleArray,
+ bufferlessPushDescriptors,
+ allowSamplerImageViewPostSubmitCreation,
+ descriptorBufferOffsetAlignment,
+ maxDescriptorBufferBindings,
+ maxResourceDescriptorBufferBindings,
+ maxSamplerDescriptorBufferBindings,
+ maxEmbeddedImmutableSamplerBindings,
+ maxEmbeddedImmutableSamplers,
+ bufferCaptureReplayDescriptorDataSize,
+ imageCaptureReplayDescriptorDataSize,
+ imageViewCaptureReplayDescriptorDataSize,
+ samplerCaptureReplayDescriptorDataSize,
+ accelerationStructureCaptureReplayDescriptorDataSize,
+ samplerDescriptorSize,
+ combinedImageSamplerDescriptorSize,
+ sampledImageDescriptorSize,
+ storageImageDescriptorSize,
+ uniformTexelBufferDescriptorSize,
+ robustUniformTexelBufferDescriptorSize,
+ storageTexelBufferDescriptorSize,
+ robustStorageTexelBufferDescriptorSize,
+ uniformBufferDescriptorSize,
+ robustUniformBufferDescriptorSize,
+ storageBufferDescriptorSize,
+ robustStorageBufferDescriptorSize,
+ inputAttachmentDescriptorSize,
+ accelerationStructureDescriptorSize,
+ maxSamplerDescriptorBufferRange,
+ maxResourceDescriptorBufferRange,
+ samplerDescriptorBufferAddressSpaceSize,
+ resourceDescriptorBufferAddressSpaceSize,
+ descriptorBufferAddressSpaceSize );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( PhysicalDeviceDescriptorBufferPropertiesEXT const & ) const = default;
+#else
+ bool operator==( PhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
+ ( combinedImageSamplerDescriptorSingleArray == rhs.combinedImageSamplerDescriptorSingleArray ) &&
+ ( bufferlessPushDescriptors == rhs.bufferlessPushDescriptors ) &&
+ ( allowSamplerImageViewPostSubmitCreation == rhs.allowSamplerImageViewPostSubmitCreation ) &&
+ ( descriptorBufferOffsetAlignment == rhs.descriptorBufferOffsetAlignment ) && ( maxDescriptorBufferBindings == rhs.maxDescriptorBufferBindings ) &&
+ ( maxResourceDescriptorBufferBindings == rhs.maxResourceDescriptorBufferBindings ) &&
+ ( maxSamplerDescriptorBufferBindings == rhs.maxSamplerDescriptorBufferBindings ) &&
+ ( maxEmbeddedImmutableSamplerBindings == rhs.maxEmbeddedImmutableSamplerBindings ) &&
+ ( maxEmbeddedImmutableSamplers == rhs.maxEmbeddedImmutableSamplers ) &&
+ ( bufferCaptureReplayDescriptorDataSize == rhs.bufferCaptureReplayDescriptorDataSize ) &&
+ ( imageCaptureReplayDescriptorDataSize == rhs.imageCaptureReplayDescriptorDataSize ) &&
+ ( imageViewCaptureReplayDescriptorDataSize == rhs.imageViewCaptureReplayDescriptorDataSize ) &&
+ ( samplerCaptureReplayDescriptorDataSize == rhs.samplerCaptureReplayDescriptorDataSize ) &&
+ ( accelerationStructureCaptureReplayDescriptorDataSize == rhs.accelerationStructureCaptureReplayDescriptorDataSize ) &&
+ ( samplerDescriptorSize == rhs.samplerDescriptorSize ) && ( combinedImageSamplerDescriptorSize == rhs.combinedImageSamplerDescriptorSize ) &&
+ ( sampledImageDescriptorSize == rhs.sampledImageDescriptorSize ) && ( storageImageDescriptorSize == rhs.storageImageDescriptorSize ) &&
+ ( uniformTexelBufferDescriptorSize == rhs.uniformTexelBufferDescriptorSize ) &&
+ ( robustUniformTexelBufferDescriptorSize == rhs.robustUniformTexelBufferDescriptorSize ) &&
+ ( storageTexelBufferDescriptorSize == rhs.storageTexelBufferDescriptorSize ) &&
+ ( robustStorageTexelBufferDescriptorSize == rhs.robustStorageTexelBufferDescriptorSize ) &&
+ ( uniformBufferDescriptorSize == rhs.uniformBufferDescriptorSize ) &&
+ ( robustUniformBufferDescriptorSize == rhs.robustUniformBufferDescriptorSize ) &&
+ ( storageBufferDescriptorSize == rhs.storageBufferDescriptorSize ) &&
+ ( robustStorageBufferDescriptorSize == rhs.robustStorageBufferDescriptorSize ) &&
+ ( inputAttachmentDescriptorSize == rhs.inputAttachmentDescriptorSize ) &&
+ ( accelerationStructureDescriptorSize == rhs.accelerationStructureDescriptorSize ) &&
+ ( maxSamplerDescriptorBufferRange == rhs.maxSamplerDescriptorBufferRange ) &&
+ ( maxResourceDescriptorBufferRange == rhs.maxResourceDescriptorBufferRange ) &&
+ ( samplerDescriptorBufferAddressSpaceSize == rhs.samplerDescriptorBufferAddressSpaceSize ) &&
+ ( resourceDescriptorBufferAddressSpaceSize == rhs.resourceDescriptorBufferAddressSpaceSize ) &&
+ ( descriptorBufferAddressSpaceSize == rhs.descriptorBufferAddressSpaceSize );
+# endif
+ }
+
+ bool operator!=( PhysicalDeviceDescriptorBufferPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT;
+ void * pNext = {};
+ VULKAN_HPP_NAMESPACE::Bool32 combinedImageSamplerDescriptorSingleArray = {};
+ VULKAN_HPP_NAMESPACE::Bool32 bufferlessPushDescriptors = {};
+ VULKAN_HPP_NAMESPACE::Bool32 allowSamplerImageViewPostSubmitCreation = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferOffsetAlignment = {};
+ uint32_t maxDescriptorBufferBindings = {};
+ uint32_t maxResourceDescriptorBufferBindings = {};
+ uint32_t maxSamplerDescriptorBufferBindings = {};
+ uint32_t maxEmbeddedImmutableSamplerBindings = {};
+ uint32_t maxEmbeddedImmutableSamplers = {};
+ size_t bufferCaptureReplayDescriptorDataSize = {};
+ size_t imageCaptureReplayDescriptorDataSize = {};
+ size_t imageViewCaptureReplayDescriptorDataSize = {};
+ size_t samplerCaptureReplayDescriptorDataSize = {};
+ size_t accelerationStructureCaptureReplayDescriptorDataSize = {};
+ size_t samplerDescriptorSize = {};
+ size_t combinedImageSamplerDescriptorSize = {};
+ size_t sampledImageDescriptorSize = {};
+ size_t storageImageDescriptorSize = {};
+ size_t uniformTexelBufferDescriptorSize = {};
+ size_t robustUniformTexelBufferDescriptorSize = {};
+ size_t storageTexelBufferDescriptorSize = {};
+ size_t robustStorageTexelBufferDescriptorSize = {};
+ size_t uniformBufferDescriptorSize = {};
+ size_t robustUniformBufferDescriptorSize = {};
+ size_t storageBufferDescriptorSize = {};
+ size_t robustStorageBufferDescriptorSize = {};
+ size_t inputAttachmentDescriptorSize = {};
+ size_t accelerationStructureDescriptorSize = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize maxSamplerDescriptorBufferRange = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize maxResourceDescriptorBufferRange = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize samplerDescriptorBufferAddressSpaceSize = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize resourceDescriptorBufferAddressSpaceSize = {};
+ VULKAN_HPP_NAMESPACE::DeviceSize descriptorBufferAddressSpaceSize = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT>
+ {
+ using Type = PhysicalDeviceDescriptorBufferPropertiesEXT;
+ };
+
struct PhysicalDeviceDescriptorIndexingFeatures
{
using NativeType = VkPhysicalDeviceDescriptorIndexingFeatures;
@@ -88233,6 +89772,102 @@ namespace VULKAN_HPP_NAMESPACE
using Type = SamplerBorderColorComponentMappingCreateInfoEXT;
};
+ struct SamplerCaptureDescriptorDataInfoEXT
+ {
+ using NativeType = VkSamplerCaptureDescriptorDataInfoEXT;
+
+ static const bool allowDuplicate = false;
+ static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSamplerCaptureDescriptorDataInfoEXT;
+
+#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+ VULKAN_HPP_CONSTEXPR SamplerCaptureDescriptorDataInfoEXT( VULKAN_HPP_NAMESPACE::Sampler sampler_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
+ : pNext( pNext_ )
+ , sampler( sampler_ )
+ {
+ }
+
+ VULKAN_HPP_CONSTEXPR SamplerCaptureDescriptorDataInfoEXT( SamplerCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+ SamplerCaptureDescriptorDataInfoEXT( VkSamplerCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ : SamplerCaptureDescriptorDataInfoEXT( *reinterpret_cast<SamplerCaptureDescriptorDataInfoEXT const *>( &rhs ) )
+ {
+ }
+
+ SamplerCaptureDescriptorDataInfoEXT & operator=( SamplerCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+ SamplerCaptureDescriptorDataInfoEXT & operator=( VkSamplerCaptureDescriptorDataInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
+ {
+ *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SamplerCaptureDescriptorDataInfoEXT const *>( &rhs );
+ return *this;
+ }
+
+#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+ VULKAN_HPP_CONSTEXPR_14 SamplerCaptureDescriptorDataInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+ {
+ pNext = pNext_;
+ return *this;
+ }
+
+ VULKAN_HPP_CONSTEXPR_14 SamplerCaptureDescriptorDataInfoEXT & setSampler( VULKAN_HPP_NAMESPACE::Sampler sampler_ ) VULKAN_HPP_NOEXCEPT
+ {
+ sampler = sampler_;
+ return *this;
+ }
+#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+ operator VkSamplerCaptureDescriptorDataInfoEXT const &() const VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<const VkSamplerCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+ operator VkSamplerCaptureDescriptorDataInfoEXT &() VULKAN_HPP_NOEXCEPT
+ {
+ return *reinterpret_cast<VkSamplerCaptureDescriptorDataInfoEXT *>( this );
+ }
+
+#if defined( VULKAN_HPP_USE_REFLECT )
+# if 14 <= VULKAN_HPP_CPP_VERSION
+ auto
+# else
+ std::tuple<VULKAN_HPP_NAMESPACE::StructureType const &, const void * const &, VULKAN_HPP_NAMESPACE::Sampler const &>
+# endif
+ reflect() const VULKAN_HPP_NOEXCEPT
+ {
+ return std::tie( sType, pNext, sampler );
+ }
+#endif
+
+#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+ auto operator<=>( SamplerCaptureDescriptorDataInfoEXT const & ) const = default;
+#else
+ bool operator==( SamplerCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+# if defined( VULKAN_HPP_USE_REFLECT )
+ return this->reflect() == rhs.reflect();
+# else
+ return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( sampler == rhs.sampler );
+# endif
+ }
+
+ bool operator!=( SamplerCaptureDescriptorDataInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
+ {
+ return !operator==( rhs );
+ }
+#endif
+
+ public:
+ VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eSamplerCaptureDescriptorDataInfoEXT;
+ const void * pNext = {};
+ VULKAN_HPP_NAMESPACE::Sampler sampler = {};
+ };
+
+ template <>
+ struct CppType<StructureType, StructureType::eSamplerCaptureDescriptorDataInfoEXT>
+ {
+ using Type = SamplerCaptureDescriptorDataInfoEXT;
+ };
+
struct SamplerCreateInfo
{
using NativeType = VkSamplerCreateInfo;
diff --git a/include/vulkan/vulkan_to_string.hpp b/include/vulkan/vulkan_to_string.hpp
index f3862a2..d467b66 100644
--- a/include/vulkan/vulkan_to_string.hpp
+++ b/include/vulkan/vulkan_to_string.hpp
@@ -136,6 +136,8 @@ namespace VULKAN_HPP_NAMESPACE
result += "SampleLocationsCompatibleDepthEXT | ";
if ( value & ImageCreateFlagBits::eSubsampledEXT )
result += "SubsampledEXT | ";
+ if ( value & ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT )
+ result += "DescriptorBufferCaptureReplayEXT | ";
if ( value & ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT )
result += "MultisampledRenderToSingleSampledEXT | ";
if ( value & ImageCreateFlagBits::e2DViewCompatibleEXT )
@@ -558,6 +560,8 @@ namespace VULKAN_HPP_NAMESPACE
result += "Protected | ";
if ( value & BufferCreateFlagBits::eDeviceAddressCaptureReplay )
result += "DeviceAddressCaptureReplay | ";
+ if ( value & BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT )
+ result += "DescriptorBufferCaptureReplayEXT | ";
return "{ " + result.substr( 0, result.size() - 3 ) + " }";
}
@@ -612,6 +616,12 @@ namespace VULKAN_HPP_NAMESPACE
if ( value & BufferUsageFlagBits::eVideoEncodeSrcKHR )
result += "VideoEncodeSrcKHR | ";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+ if ( value & BufferUsageFlagBits::eSamplerDescriptorBufferEXT )
+ result += "SamplerDescriptorBufferEXT | ";
+ if ( value & BufferUsageFlagBits::eResourceDescriptorBufferEXT )
+ result += "ResourceDescriptorBufferEXT | ";
+ if ( value & BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT )
+ result += "PushDescriptorsDescriptorBufferEXT | ";
if ( value & BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT )
result += "MicromapBuildInputReadOnlyEXT | ";
if ( value & BufferUsageFlagBits::eMicromapStorageEXT )
@@ -633,6 +643,8 @@ namespace VULKAN_HPP_NAMESPACE
std::string result;
if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT )
result += "FragmentDensityMapDynamicEXT | ";
+ if ( value & ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT )
+ result += "DescriptorBufferCaptureReplayEXT | ";
if ( value & ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT )
result += "FragmentDensityMapDeferredEXT | ";
@@ -748,6 +760,8 @@ namespace VULKAN_HPP_NAMESPACE
result += "IndirectBindableNV | ";
if ( value & PipelineCreateFlagBits::eLibraryKHR )
result += "LibraryKHR | ";
+ if ( value & PipelineCreateFlagBits::eDescriptorBufferEXT )
+ result += "DescriptorBufferEXT | ";
if ( value & PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT )
result += "RetainLinkTimeOptimizationInfoEXT | ";
if ( value & PipelineCreateFlagBits::eLinkTimeOptimizationEXT )
@@ -893,6 +907,8 @@ namespace VULKAN_HPP_NAMESPACE
result += "SubsampledEXT | ";
if ( value & SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT )
result += "SubsampledCoarseReconstructionEXT | ";
+ if ( value & SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT )
+ result += "DescriptorBufferCaptureReplayEXT | ";
if ( value & SamplerCreateFlagBits::eNonSeamlessCubeMapEXT )
result += "NonSeamlessCubeMapEXT | ";
if ( value & SamplerCreateFlagBits::eImageProcessingQCOM )
@@ -932,6 +948,10 @@ namespace VULKAN_HPP_NAMESPACE
result += "UpdateAfterBindPool | ";
if ( value & DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR )
result += "PushDescriptorKHR | ";
+ if ( value & DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT )
+ result += "DescriptorBufferEXT | ";
+ if ( value & DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT )
+ result += "EmbeddedImmutableSamplersEXT | ";
if ( value & DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT )
result += "HostOnlyPoolEXT | ";
@@ -1657,6 +1677,8 @@ namespace VULKAN_HPP_NAMESPACE
result += "FragmentDensityMapReadEXT | ";
if ( value & AccessFlagBits2::eColorAttachmentReadNoncoherentEXT )
result += "ColorAttachmentReadNoncoherentEXT | ";
+ if ( value & AccessFlagBits2::eDescriptorBufferReadEXT )
+ result += "DescriptorBufferReadEXT | ";
if ( value & AccessFlagBits2::eInvocationMaskReadHUAWEI )
result += "InvocationMaskReadHUAWEI | ";
if ( value & AccessFlagBits2::eShaderBindingTableReadKHR )
@@ -2669,6 +2691,8 @@ namespace VULKAN_HPP_NAMESPACE
std::string result;
if ( value & AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay )
result += "DeviceAddressCaptureReplay | ";
+ if ( value & AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT )
+ result += "DescriptorBufferCaptureReplayEXT | ";
if ( value & AccelerationStructureCreateFlagBitsKHR::eMotionNV )
result += "MotionNV | ";
@@ -3883,6 +3907,19 @@ namespace VULKAN_HPP_NAMESPACE
#endif /*VK_USE_PLATFORM_METAL_EXT*/
case StructureType::eQueueFamilyCheckpointProperties2NV: return "QueueFamilyCheckpointProperties2NV";
case StructureType::eCheckpointData2NV: return "CheckpointData2NV";
+ case StructureType::ePhysicalDeviceDescriptorBufferPropertiesEXT: return "PhysicalDeviceDescriptorBufferPropertiesEXT";
+ case StructureType::ePhysicalDeviceDescriptorBufferDensityMapPropertiesEXT: return "PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT";
+ case StructureType::ePhysicalDeviceDescriptorBufferFeaturesEXT: return "PhysicalDeviceDescriptorBufferFeaturesEXT";
+ case StructureType::eDescriptorAddressInfoEXT: return "DescriptorAddressInfoEXT";
+ case StructureType::eDescriptorGetInfoEXT: return "DescriptorGetInfoEXT";
+ case StructureType::eBufferCaptureDescriptorDataInfoEXT: return "BufferCaptureDescriptorDataInfoEXT";
+ case StructureType::eImageCaptureDescriptorDataInfoEXT: return "ImageCaptureDescriptorDataInfoEXT";
+ case StructureType::eImageViewCaptureDescriptorDataInfoEXT: return "ImageViewCaptureDescriptorDataInfoEXT";
+ case StructureType::eSamplerCaptureDescriptorDataInfoEXT: return "SamplerCaptureDescriptorDataInfoEXT";
+ case StructureType::eOpaqueCaptureDescriptorDataCreateInfoEXT: return "OpaqueCaptureDescriptorDataCreateInfoEXT";
+ case StructureType::eDescriptorBufferBindingInfoEXT: return "DescriptorBufferBindingInfoEXT";
+ case StructureType::eDescriptorBufferBindingPushDescriptorBufferHandleEXT: return "DescriptorBufferBindingPushDescriptorBufferHandleEXT";
+ case StructureType::eAccelerationStructureCaptureDescriptorDataInfoEXT: return "AccelerationStructureCaptureDescriptorDataInfoEXT";
case StructureType::ePhysicalDeviceGraphicsPipelineLibraryFeaturesEXT: return "PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT";
case StructureType::ePhysicalDeviceGraphicsPipelineLibraryPropertiesEXT: return "PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT";
case StructureType::eGraphicsPipelineLibraryCreateInfoEXT: return "GraphicsPipelineLibraryCreateInfoEXT";
@@ -4433,6 +4470,7 @@ namespace VULKAN_HPP_NAMESPACE
case ImageCreateFlagBits::eCornerSampledNV: return "CornerSampledNV";
case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT: return "SampleLocationsCompatibleDepthEXT";
case ImageCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
+ case ImageCreateFlagBits::eDescriptorBufferCaptureReplayEXT: return "DescriptorBufferCaptureReplayEXT";
case ImageCreateFlagBits::eMultisampledRenderToSingleSampledEXT: return "MultisampledRenderToSingleSampledEXT";
case ImageCreateFlagBits::e2DViewCompatibleEXT: return "2DViewCompatibleEXT";
case ImageCreateFlagBits::eFragmentDensityMapOffsetQCOM: return "FragmentDensityMapOffsetQCOM";
@@ -4785,6 +4823,7 @@ namespace VULKAN_HPP_NAMESPACE
case BufferCreateFlagBits::eSparseAliased: return "SparseAliased";
case BufferCreateFlagBits::eProtected: return "Protected";
case BufferCreateFlagBits::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
+ case BufferCreateFlagBits::eDescriptorBufferCaptureReplayEXT: return "DescriptorBufferCaptureReplayEXT";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
@@ -4817,6 +4856,9 @@ namespace VULKAN_HPP_NAMESPACE
case BufferUsageFlagBits::eVideoEncodeDstKHR: return "VideoEncodeDstKHR";
case BufferUsageFlagBits::eVideoEncodeSrcKHR: return "VideoEncodeSrcKHR";
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
+ case BufferUsageFlagBits::eSamplerDescriptorBufferEXT: return "SamplerDescriptorBufferEXT";
+ case BufferUsageFlagBits::eResourceDescriptorBufferEXT: return "ResourceDescriptorBufferEXT";
+ case BufferUsageFlagBits::ePushDescriptorsDescriptorBufferEXT: return "PushDescriptorsDescriptorBufferEXT";
case BufferUsageFlagBits::eMicromapBuildInputReadOnlyEXT: return "MicromapBuildInputReadOnlyEXT";
case BufferUsageFlagBits::eMicromapStorageEXT: return "MicromapStorageEXT";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
@@ -4898,6 +4940,7 @@ namespace VULKAN_HPP_NAMESPACE
switch ( value )
{
case ImageViewCreateFlagBits::eFragmentDensityMapDynamicEXT: return "FragmentDensityMapDynamicEXT";
+ case ImageViewCreateFlagBits::eDescriptorBufferCaptureReplayEXT: return "DescriptorBufferCaptureReplayEXT";
case ImageViewCreateFlagBits::eFragmentDensityMapDeferredEXT: return "FragmentDensityMapDeferredEXT";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
@@ -5184,6 +5227,7 @@ namespace VULKAN_HPP_NAMESPACE
case PipelineCreateFlagBits::eCaptureInternalRepresentationsKHR: return "CaptureInternalRepresentationsKHR";
case PipelineCreateFlagBits::eIndirectBindableNV: return "IndirectBindableNV";
case PipelineCreateFlagBits::eLibraryKHR: return "LibraryKHR";
+ case PipelineCreateFlagBits::eDescriptorBufferEXT: return "DescriptorBufferEXT";
case PipelineCreateFlagBits::eRetainLinkTimeOptimizationInfoEXT: return "RetainLinkTimeOptimizationInfoEXT";
case PipelineCreateFlagBits::eLinkTimeOptimizationEXT: return "LinkTimeOptimizationEXT";
case PipelineCreateFlagBits::eRayTracingAllowMotionNV: return "RayTracingAllowMotionNV";
@@ -5369,6 +5413,7 @@ namespace VULKAN_HPP_NAMESPACE
{
case SamplerCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
case SamplerCreateFlagBits::eSubsampledCoarseReconstructionEXT: return "SubsampledCoarseReconstructionEXT";
+ case SamplerCreateFlagBits::eDescriptorBufferCaptureReplayEXT: return "DescriptorBufferCaptureReplayEXT";
case SamplerCreateFlagBits::eNonSeamlessCubeMapEXT: return "NonSeamlessCubeMapEXT";
case SamplerCreateFlagBits::eImageProcessingQCOM: return "ImageProcessingQCOM";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
@@ -5402,6 +5447,8 @@ namespace VULKAN_HPP_NAMESPACE
{
case DescriptorSetLayoutCreateFlagBits::eUpdateAfterBindPool: return "UpdateAfterBindPool";
case DescriptorSetLayoutCreateFlagBits::ePushDescriptorKHR: return "PushDescriptorKHR";
+ case DescriptorSetLayoutCreateFlagBits::eDescriptorBufferEXT: return "DescriptorBufferEXT";
+ case DescriptorSetLayoutCreateFlagBits::eEmbeddedImmutableSamplersEXT: return "EmbeddedImmutableSamplersEXT";
case DescriptorSetLayoutCreateFlagBits::eHostOnlyPoolEXT: return "HostOnlyPoolEXT";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
@@ -5911,6 +5958,7 @@ namespace VULKAN_HPP_NAMESPACE
case DriverId::eSamsungProprietary: return "SamsungProprietary";
case DriverId::eMesaVenus: return "MesaVenus";
case DriverId::eMesaDozen: return "MesaDozen";
+ case DriverId::eMesaNvk: return "MesaNvk";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
}
@@ -6107,6 +6155,7 @@ namespace VULKAN_HPP_NAMESPACE
case AccessFlagBits2::eAccelerationStructureWriteKHR: return "AccelerationStructureWriteKHR";
case AccessFlagBits2::eFragmentDensityMapReadEXT: return "FragmentDensityMapReadEXT";
case AccessFlagBits2::eColorAttachmentReadNoncoherentEXT: return "ColorAttachmentReadNoncoherentEXT";
+ case AccessFlagBits2::eDescriptorBufferReadEXT: return "DescriptorBufferReadEXT";
case AccessFlagBits2::eInvocationMaskReadHUAWEI: return "InvocationMaskReadHUAWEI";
case AccessFlagBits2::eShaderBindingTableReadKHR: return "ShaderBindingTableReadKHR";
case AccessFlagBits2::eMicromapReadEXT: return "MicromapReadEXT";
@@ -7201,6 +7250,7 @@ namespace VULKAN_HPP_NAMESPACE
switch ( value )
{
case AccelerationStructureCreateFlagBitsKHR::eDeviceAddressCaptureReplay: return "DeviceAddressCaptureReplay";
+ case AccelerationStructureCreateFlagBitsKHR::eDescriptorBufferCaptureReplayEXT: return "DescriptorBufferCaptureReplayEXT";
case AccelerationStructureCreateFlagBitsKHR::eMotionNV: return "MotionNV";
default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
}
diff --git a/registry/validusage.json b/registry/validusage.json
index 6340e6e..6adf1ff 100644
--- a/registry/validusage.json
+++ b/registry/validusage.json
@@ -1,9 +1,9 @@
{
"version info": {
"schema version": 2,
- "api version": "1.3.234",
- "comment": "from git branch: github-main commit: 3abd2bbc91a7e74186a8acc82268d726cee6a731",
- "date": "2022-11-10 11:56:58Z"
+ "api version": "1.3.235",
+ "comment": "from git branch: github-main commit: f4eb3e9a7acdef9ab62ac9af954a50409895ac6d",
+ "date": "2022-11-17 12:17:37Z"
},
"validation": {
"vkGetInstanceProcAddr": {
@@ -250,7 +250,7 @@
},
{
"vuid": "VUID-VkPhysicalDeviceProperties2-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkPhysicalDeviceAccelerationStructurePropertiesKHR\">VkPhysicalDeviceAccelerationStructurePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT\">VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceConservativeRasterizationPropertiesEXT\">VkPhysicalDeviceConservativeRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixPropertiesNV\">VkPhysicalDeviceCooperativeMatrixPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectPropertiesNV\">VkPhysicalDeviceCopyMemoryIndirectPropertiesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDepthStencilResolveProperties\">VkPhysicalDeviceDepthStencilResolveProperties</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingProperties\">VkPhysicalDeviceDescriptorIndexingProperties</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceDiscardRectanglePropertiesEXT\">VkPhysicalDeviceDiscardRectanglePropertiesEXT</a>, <a href=\"#VkPhysicalDeviceDriverProperties\">VkPhysicalDeviceDriverProperties</a>, <a href=\"#VkPhysicalDeviceDrmPropertiesEXT\">VkPhysicalDeviceDrmPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3PropertiesEXT\">VkPhysicalDeviceExtendedDynamicState3PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryHostPropertiesEXT\">VkPhysicalDeviceExternalMemoryHostPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFloatControlsProperties\">VkPhysicalDeviceFloatControlsProperties</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2PropertiesEXT\">VkPhysicalDeviceFragmentDensityMap2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapPropertiesEXT\">VkPhysicalDeviceFragmentDensityMapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR\">VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV\">VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRatePropertiesKHR\">VkPhysicalDeviceFragmentShadingRatePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceIDProperties\">VkPhysicalDeviceIDProperties</a>, <a href=\"#VkPhysicalDeviceImageProcessingPropertiesQCOM\">VkPhysicalDeviceImageProcessingPropertiesQCOM</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockProperties\">VkPhysicalDeviceInlineUniformBlockProperties</a>, <a href=\"#VkPhysicalDeviceLineRasterizationPropertiesEXT\">VkPhysicalDeviceLineRasterizationPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMaintenance3Properties\">VkPhysicalDeviceMaintenance3Properties</a>, <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionPropertiesNV\">VkPhysicalDeviceMemoryDecompressionPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesEXT\">VkPhysicalDeviceMeshShaderPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderPropertiesNV\">VkPhysicalDeviceMeshShaderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawPropertiesEXT\">VkPhysicalDeviceMultiDrawPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX\">VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX</a>, <a href=\"#VkPhysicalDeviceMultiviewProperties\">VkPhysicalDeviceMultiviewProperties</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapPropertiesEXT\">VkPhysicalDeviceOpacityMicromapPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowPropertiesNV\">VkPhysicalDeviceOpticalFlowPropertiesNV</a>, <a href=\"#VkPhysicalDevicePCIBusInfoPropertiesEXT\">VkPhysicalDevicePCIBusInfoPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryPropertiesKHR\">VkPhysicalDevicePerformanceQueryPropertiesKHR</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessPropertiesEXT\">VkPhysicalDevicePipelineRobustnessPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePointClippingProperties\">VkPhysicalDevicePointClippingProperties</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetPropertiesKHR\">VkPhysicalDevicePortabilitySubsetPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryProperties\">VkPhysicalDeviceProtectedMemoryProperties</a>, <a href=\"#VkPhysicalDeviceProvokingVertexPropertiesEXT\">VkPhysicalDeviceProvokingVertexPropertiesEXT</a>, <a href=\"#VkPhysicalDevicePushDescriptorPropertiesKHR\">VkPhysicalDevicePushDescriptorPropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV\">VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelinePropertiesKHR\">VkPhysicalDeviceRayTracingPipelinePropertiesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingPropertiesNV\">VkPhysicalDeviceRayTracingPropertiesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2PropertiesEXT\">VkPhysicalDeviceRobustness2PropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSampleLocationsPropertiesEXT\">VkPhysicalDeviceSampleLocationsPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerFilterMinmaxProperties\">VkPhysicalDeviceSamplerFilterMinmaxProperties</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM\">VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM</a>, <a href=\"#VkPhysicalDeviceShaderCoreProperties2AMD\">VkPhysicalDeviceShaderCoreProperties2AMD</a>, <a href=\"#VkPhysicalDeviceShaderCorePropertiesAMD\">VkPhysicalDeviceShaderCorePropertiesAMD</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductProperties\">VkPhysicalDeviceShaderIntegerDotProductProperties</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT\">VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsPropertiesNV\">VkPhysicalDeviceShaderSMBuiltinsPropertiesNV</a>, <a href=\"#VkPhysicalDeviceShadingRateImagePropertiesNV\">VkPhysicalDeviceShadingRateImagePropertiesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupProperties\">VkPhysicalDeviceSubgroupProperties</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlProperties\">VkPhysicalDeviceSubgroupSizeControlProperties</a>, <a href=\"#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI\">VkPhysicalDeviceSubpassShadingPropertiesHUAWEI</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentProperties\">VkPhysicalDeviceTexelBufferAlignmentProperties</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreProperties\">VkPhysicalDeviceTimelineSemaphoreProperties</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT\">VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Properties\">VkPhysicalDeviceVulkan11Properties</a>, <a href=\"#VkPhysicalDeviceVulkan12Properties\">VkPhysicalDeviceVulkan12Properties</a>, or <a href=\"#VkPhysicalDeviceVulkan13Properties\">VkPhysicalDeviceVulkan13Properties</a>"
},
{
"vuid": "VUID-VkPhysicalDeviceProperties2-sType-unique",
@@ -663,6 +663,12 @@
"text": " If <a href=\"#features-sparseImageFloat32AtomicMinMax\"><code>sparseImageFloat32AtomicMinMax</code></a> is enabled, <a href=\"#features-shaderImageFloat32AtomicMinMax\"><code>shaderImageFloat32AtomicMinMax</code></a> <strong class=\"purple\">must</strong> be enabled"
}
],
+ "(VK_EXT_descriptor_buffer)+(VK_AMD_shader_fragment_mask)": [
+ {
+ "vuid": "VUID-VkDeviceCreateInfo-None-08095",
+ "text": " If <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> is enabled, <code>ppEnabledExtensionNames</code> <strong class=\"purple\">must</strong> not contain <code><a href=\"#VK_AMD_shader_fragment_mask\">VK_AMD_shader_fragment_mask</a></code>"
+ }
+ ],
"core": [
{
"vuid": "VUID-VkDeviceCreateInfo-sType-sType",
@@ -670,7 +676,7 @@
},
{
"vuid": "VUID-VkDeviceCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDeviceDeviceMemoryReportCreateInfoEXT\">VkDeviceDeviceMemoryReportCreateInfoEXT</a>, <a href=\"#VkDeviceDiagnosticsConfigCreateInfoNV\">VkDeviceDiagnosticsConfigCreateInfoNV</a>, <a href=\"#VkDeviceGroupDeviceCreateInfo\">VkDeviceGroupDeviceCreateInfo</a>, <a href=\"#VkDeviceMemoryOverallocationCreateInfoAMD\">VkDeviceMemoryOverallocationCreateInfoAMD</a>, <a href=\"#VkDevicePrivateDataCreateInfo\">VkDevicePrivateDataCreateInfo</a>, <a href=\"#VkPhysicalDevice16BitStorageFeatures\">VkPhysicalDevice16BitStorageFeatures</a>, <a href=\"#VkPhysicalDevice4444FormatsFeaturesEXT\">VkPhysicalDevice4444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDevice8BitStorageFeatures\">VkPhysicalDevice8BitStorageFeatures</a>, <a href=\"#VkPhysicalDeviceASTCDecodeFeaturesEXT\">VkPhysicalDeviceASTCDecodeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAccelerationStructureFeaturesKHR\">VkPhysicalDeviceAccelerationStructureFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceAddressBindingReportFeaturesEXT\">VkPhysicalDeviceAddressBindingReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceAmigoProfilingFeaturesSEC\">VkPhysicalDeviceAmigoProfilingFeaturesSEC</a>, <a href=\"#VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT\">VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT\">VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBorderColorSwizzleFeaturesEXT\">VkPhysicalDeviceBorderColorSwizzleFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeatures\">VkPhysicalDeviceBufferDeviceAddressFeatures</a>, <a href=\"#VkPhysicalDeviceBufferDeviceAddressFeaturesEXT\">VkPhysicalDeviceBufferDeviceAddressFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCoherentMemoryFeaturesAMD\">VkPhysicalDeviceCoherentMemoryFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceColorWriteEnableFeaturesEXT\">VkPhysicalDeviceColorWriteEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceComputeShaderDerivativesFeaturesNV\">VkPhysicalDeviceComputeShaderDerivativesFeaturesNV</a>, <a href=\"#VkPhysicalDeviceConditionalRenderingFeaturesEXT\">VkPhysicalDeviceConditionalRenderingFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceCooperativeMatrixFeaturesNV\">VkPhysicalDeviceCooperativeMatrixFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCopyMemoryIndirectFeaturesNV\">VkPhysicalDeviceCopyMemoryIndirectFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCornerSampledImageFeaturesNV\">VkPhysicalDeviceCornerSampledImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCoverageReductionModeFeaturesNV\">VkPhysicalDeviceCoverageReductionModeFeaturesNV</a>, <a href=\"#VkPhysicalDeviceCustomBorderColorFeaturesEXT\">VkPhysicalDeviceCustomBorderColorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV\">VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDepthClampZeroOneFeaturesEXT\">VkPhysicalDeviceDepthClampZeroOneFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipControlFeaturesEXT\">VkPhysicalDeviceDepthClipControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDepthClipEnableFeaturesEXT\">VkPhysicalDeviceDepthClipEnableFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDescriptorIndexingFeatures\">VkPhysicalDeviceDescriptorIndexingFeatures</a>, <a href=\"#VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE\">VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE</a>, <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV\">VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDeviceMemoryReportFeaturesEXT\">VkPhysicalDeviceDeviceMemoryReportFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceDiagnosticsConfigFeaturesNV\">VkPhysicalDeviceDiagnosticsConfigFeaturesNV</a>, <a href=\"#VkPhysicalDeviceDynamicRenderingFeatures\">VkPhysicalDeviceDynamicRenderingFeatures</a>, <a href=\"#VkPhysicalDeviceExclusiveScissorFeaturesNV\">VkPhysicalDeviceExclusiveScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState2FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicState3FeaturesEXT\">VkPhysicalDeviceExtendedDynamicState3FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExtendedDynamicStateFeaturesEXT\">VkPhysicalDeviceExtendedDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceExternalMemoryRDMAFeaturesNV\">VkPhysicalDeviceExternalMemoryRDMAFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFaultFeaturesEXT\">VkPhysicalDeviceFaultFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFeatures2\">VkPhysicalDeviceFeatures2</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMap2FeaturesEXT\">VkPhysicalDeviceFragmentDensityMap2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapFeaturesEXT\">VkPhysicalDeviceFragmentDensityMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM\">VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR\">VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT\">VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV\">VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceFragmentShadingRateFeaturesKHR\">VkPhysicalDeviceFragmentShadingRateFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR\">VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT\">VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceHostQueryResetFeatures\">VkPhysicalDeviceHostQueryResetFeatures</a>, <a href=\"#VkPhysicalDeviceImage2DViewOf3DFeaturesEXT\">VkPhysicalDeviceImage2DViewOf3DFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlFeaturesEXT\">VkPhysicalDeviceImageCompressionControlFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT\">VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImageProcessingFeaturesQCOM\">VkPhysicalDeviceImageProcessingFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceImageRobustnessFeatures\">VkPhysicalDeviceImageRobustnessFeatures</a>, <a href=\"#VkPhysicalDeviceImageViewMinLodFeaturesEXT\">VkPhysicalDeviceImageViewMinLodFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceImagelessFramebufferFeatures\">VkPhysicalDeviceImagelessFramebufferFeatures</a>, <a href=\"#VkPhysicalDeviceIndexTypeUint8FeaturesEXT\">VkPhysicalDeviceIndexTypeUint8FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceInheritedViewportScissorFeaturesNV\">VkPhysicalDeviceInheritedViewportScissorFeaturesNV</a>, <a href=\"#VkPhysicalDeviceInlineUniformBlockFeatures\">VkPhysicalDeviceInlineUniformBlockFeatures</a>, <a href=\"#VkPhysicalDeviceInvocationMaskFeaturesHUAWEI\">VkPhysicalDeviceInvocationMaskFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceLegacyDitheringFeaturesEXT\">VkPhysicalDeviceLegacyDitheringFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLineRasterizationFeaturesEXT\">VkPhysicalDeviceLineRasterizationFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceLinearColorAttachmentFeaturesNV\">VkPhysicalDeviceLinearColorAttachmentFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMaintenance4Features\">VkPhysicalDeviceMaintenance4Features</a>, <a href=\"#VkPhysicalDeviceMemoryDecompressionFeaturesNV\">VkPhysicalDeviceMemoryDecompressionFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMemoryPriorityFeaturesEXT\">VkPhysicalDeviceMemoryPriorityFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesEXT\">VkPhysicalDeviceMeshShaderFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMeshShaderFeaturesNV\">VkPhysicalDeviceMeshShaderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceMultiDrawFeaturesEXT\">VkPhysicalDeviceMultiDrawFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT\">VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceMultiviewFeatures\">VkPhysicalDeviceMultiviewFeatures</a>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT\">VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpacityMicromapFeaturesEXT\">VkPhysicalDeviceOpacityMicromapFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceOpticalFlowFeaturesNV\">VkPhysicalDeviceOpticalFlowFeaturesNV</a>, <a href=\"#VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT\">VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePerformanceQueryFeaturesKHR\">VkPhysicalDevicePerformanceQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelineCreationCacheControlFeatures\">VkPhysicalDevicePipelineCreationCacheControlFeatures</a>, <a href=\"#VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR\">VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePipelinePropertiesFeaturesEXT\">VkPhysicalDevicePipelinePropertiesFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineProtectedAccessFeaturesEXT\">VkPhysicalDevicePipelineProtectedAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePipelineRobustnessFeaturesEXT\">VkPhysicalDevicePipelineRobustnessFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePortabilitySubsetFeaturesKHR\">VkPhysicalDevicePortabilitySubsetFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentBarrierFeaturesNV\">VkPhysicalDevicePresentBarrierFeaturesNV</a>, <a href=\"#VkPhysicalDevicePresentIdFeaturesKHR\">VkPhysicalDevicePresentIdFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePresentWaitFeaturesKHR\">VkPhysicalDevicePresentWaitFeaturesKHR</a>, <a href=\"#VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT\">VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT\">VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT</a>, <a href=\"#VkPhysicalDevicePrivateDataFeatures\">VkPhysicalDevicePrivateDataFeatures</a>, <a href=\"#VkPhysicalDeviceProtectedMemoryFeatures\">VkPhysicalDeviceProtectedMemoryFeatures</a>, <a href=\"#VkPhysicalDeviceProvokingVertexFeaturesEXT\">VkPhysicalDeviceProvokingVertexFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT\">VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT\">VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceRayQueryFeaturesKHR\">VkPhysicalDeviceRayQueryFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV\">VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR\">VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRayTracingMotionBlurFeaturesNV\">VkPhysicalDeviceRayTracingMotionBlurFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRayTracingPipelineFeaturesKHR\">VkPhysicalDeviceRayTracingPipelineFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV\">VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV</a>, <a href=\"#VkPhysicalDeviceRobustness2FeaturesEXT\">VkPhysicalDeviceRobustness2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSamplerYcbcrConversionFeatures\">VkPhysicalDeviceSamplerYcbcrConversionFeatures</a>, <a href=\"#VkPhysicalDeviceScalarBlockLayoutFeatures\">VkPhysicalDeviceScalarBlockLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures\">VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT\">VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicFloatFeaturesEXT\">VkPhysicalDeviceShaderAtomicFloatFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderAtomicInt64Features\">VkPhysicalDeviceShaderAtomicInt64Features</a>, <a href=\"#VkPhysicalDeviceShaderClockFeaturesKHR\">VkPhysicalDeviceShaderClockFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM\">VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM</a>, <a href=\"#VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures\">VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShaderDrawParametersFeatures\">VkPhysicalDeviceShaderDrawParametersFeatures</a>, <a href=\"#VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD\">VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD</a>, <a href=\"#VkPhysicalDeviceShaderFloat16Int8Features\">VkPhysicalDeviceShaderFloat16Int8Features</a>, <a href=\"#VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT\">VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderImageFootprintFeaturesNV\">VkPhysicalDeviceShaderImageFootprintFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderIntegerDotProductFeatures\">VkPhysicalDeviceShaderIntegerDotProductFeatures</a>, <a href=\"#VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL\">VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL</a>, <a href=\"#VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT\">VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceShaderSMBuiltinsFeaturesNV\">VkPhysicalDeviceShaderSMBuiltinsFeaturesNV</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures\">VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures</a>, <a href=\"#VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR\">VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceShaderTerminateInvocationFeatures\">VkPhysicalDeviceShaderTerminateInvocationFeatures</a>, <a href=\"#VkPhysicalDeviceShadingRateImageFeaturesNV\">VkPhysicalDeviceShadingRateImageFeaturesNV</a>, <a href=\"#VkPhysicalDeviceSubgroupSizeControlFeatures\">VkPhysicalDeviceSubgroupSizeControlFeatures</a>, <a href=\"#VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT\">VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI\">VkPhysicalDeviceSubpassShadingFeaturesHUAWEI</a>, <a href=\"#VkPhysicalDeviceSynchronization2Features\">VkPhysicalDeviceSynchronization2Features</a>, <a href=\"#VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT\">VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceTextureCompressionASTCHDRFeatures\">VkPhysicalDeviceTextureCompressionASTCHDRFeatures</a>, <a href=\"#VkPhysicalDeviceTilePropertiesFeaturesQCOM\">VkPhysicalDeviceTilePropertiesFeaturesQCOM</a>, <a href=\"#VkPhysicalDeviceTimelineSemaphoreFeatures\">VkPhysicalDeviceTimelineSemaphoreFeatures</a>, <a href=\"#VkPhysicalDeviceTransformFeedbackFeaturesEXT\">VkPhysicalDeviceTransformFeedbackFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceUniformBufferStandardLayoutFeatures\">VkPhysicalDeviceUniformBufferStandardLayoutFeatures</a>, <a href=\"#VkPhysicalDeviceVariablePointersFeatures\">VkPhysicalDeviceVariablePointersFeatures</a>, <a href=\"#VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT\">VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT\">VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceVulkan11Features\">VkPhysicalDeviceVulkan11Features</a>, <a href=\"#VkPhysicalDeviceVulkan12Features\">VkPhysicalDeviceVulkan12Features</a>, <a href=\"#VkPhysicalDeviceVulkan13Features\">VkPhysicalDeviceVulkan13Features</a>, <a href=\"#VkPhysicalDeviceVulkanMemoryModelFeatures\">VkPhysicalDeviceVulkanMemoryModelFeatures</a>, <a href=\"#VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR\">VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR</a>, <a href=\"#VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT\">VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT</a>, <a href=\"#VkPhysicalDeviceYcbcrImageArraysFeaturesEXT\">VkPhysicalDeviceYcbcrImageArraysFeaturesEXT</a>, or <a href=\"#VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures\">VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures</a>"
},
{
"vuid": "VUID-VkDeviceCreateInfo-sType-unique",
@@ -5284,6 +5290,16 @@
"vuid": "VUID-VkMemoryBarrier2-dstAccessMask-07456",
"text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV</code>"
}
+ ],
+ "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkMemoryBarrier2-srcAccessMask-08118",
+ "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+ },
+ {
+ "vuid": "VUID-VkMemoryBarrier2-dstAccessMask-08118",
+ "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+ }
]
},
"VkMemoryBarrier": {
@@ -5851,6 +5867,16 @@
"text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV</code>"
}
],
+ "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkBufferMemoryBarrier2-srcAccessMask-08118",
+ "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+ },
+ {
+ "vuid": "VUID-VkBufferMemoryBarrier2-dstAccessMask-08118",
+ "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+ }
+ ],
"(VK_VERSION_1_3,VK_KHR_synchronization2)+!(VK_VERSION_1_1,VK_KHR_external_memory)": [
{
"vuid": "VUID-VkBufferMemoryBarrier2-buffer-04086",
@@ -6533,6 +6559,16 @@
"text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV</code>"
}
],
+ "(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkImageMemoryBarrier2-srcAccessMask-08118",
+ "text": " If pname:srcAccessMask includes <code>VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT</code>, pname:srcStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+ },
+ {
+ "vuid": "VUID-VkImageMemoryBarrier2-dstAccessMask-08118",
+ "text": " If pname:dstAccessMask includes <code>VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT</code>, pname:dstStageMask <strong class=\"purple\">must</strong> include <code>VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT</code>, <code>VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT</code>, or one of <code>VK_PIPELINE_STAGE_*_SHADER_BIT</code> stages"
+ }
+ ],
"(VK_VERSION_1_3,VK_KHR_synchronization2)+(VK_VERSION_1_1,VK_KHR_maintenance2)": [
{
"vuid": "VUID-VkImageMemoryBarrier2-oldLayout-01658",
@@ -11643,6 +11679,26 @@
"text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and the <code>topology</code> member of <code>pInputAssembly</code> is <code>VK_PRIMITIVE_TOPOLOGY_PATCH_LIST</code>, <code>pStages</code> <strong class=\"purple\">must</strong> include tessellation shader stages"
},
{
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-Vertex-07722",
+ "text": " If the pipeline is being created with a <code>Vertex</code> {ExecutionModel} and no <code>TessellationEvaluation</code> or <code>Geometry</code> {ExecutionModel}, and the <code>topology</code> member of <code>pInputAssembly</code> is <code>VK_PRIMITIVE_TOPOLOGY_POINT_LIST</code>, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07723",
+ "text": " If the pipeline is being created with a <code>TessellationEvaluation</code> {ExecutionModel}, no <code>Geometry</code> {ExecutionModel}, uses the <code>PointMode</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\">shaderTessellationAndGeometryPointSize</a> is enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07724",
+ "text": " If the pipeline is being created with a <code>TessellationEvaluation</code> {ExecutionModel}, no <code>Geometry</code> {ExecutionModel}, uses the <code>PointMode</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\">shaderTessellationAndGeometryPointSize</a> is not enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> not be written to"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-Geometry-07725",
+ "text": " If the pipeline is being created with a <code>Geometry</code> {ExecutionModel}, uses the <code>OutputPoints</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\">shaderTessellationAndGeometryPointSize</a> is enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to"
+ },
+ {
+ "vuid": "VUID-VkGraphicsPipelineCreateInfo-Geometry-07726",
+ "text": " If the pipeline is being created with a <code>Geometry</code> {ExecutionModel}, uses the <code>OutputPoints</code> {ExecutionMode}, and <a href=\"#features-shaderTessellationAndGeometryPointSize\">shaderTessellationAndGeometryPointSize</a> is not enabled, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> not be written to"
+ },
+ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00738",
"text": " If the pipeline is being created with <a href=\"#pipelines-graphics-subsets-pre-rasterization\">pre-rasterization shader state</a> and <code>pStages</code> includes a geometry shader stage, and does not include any tessellation shader stages, its shader code <strong class=\"purple\">must</strong> contain an <code>OpExecutionMode</code> instruction specifying an input primitive type that is <a href=\"#shaders-geometry-execution\">compatible</a> with the primitive topology specified in <code>pInputAssembly</code>"
},
@@ -14061,6 +14117,12 @@
"text": " If any library in <code>pLibraries</code> was created with a shader stage with <a href=\"#VkPipelineShaderStageModuleIdentifierCreateInfoEXT\">VkPipelineShaderStageModuleIdentifierCreateInfoEXT</a> and <code>identifierSize</code> not equal to 0, the pipeline <strong class=\"purple\">must</strong> be created with the <code>VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT</code> flag set"
}
],
+ "(VK_KHR_pipeline_library)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkPipelineLibraryCreateInfoKHR-pLibraries-08096",
+ "text": " If any element of <code>pLibraries</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, all elements <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ }
+ ],
"(VK_KHR_pipeline_library)+(VK_EXT_pipeline_protected_access)": [
{
"vuid": "VUID-VkPipelineLibraryCreateInfoKHR-pipeline-07404",
@@ -16284,7 +16346,7 @@
},
{
"vuid": "VUID-VkBufferCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, or <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a>, <a href=\"#VkBufferDeviceAddressCreateInfoEXT\">VkBufferDeviceAddressCreateInfoEXT</a>, <a href=\"#VkBufferOpaqueCaptureAddressCreateInfo\">VkBufferOpaqueCaptureAddressCreateInfo</a>, <a href=\"#VkDedicatedAllocationBufferCreateInfoNV\">VkDedicatedAllocationBufferCreateInfoNV</a>, <a href=\"#VkExternalMemoryBufferCreateInfo\">VkExternalMemoryBufferCreateInfo</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, or <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a>"
},
{
"vuid": "VUID-VkBufferCreateInfo-sType-unique",
@@ -16380,6 +16442,36 @@
"vuid": "VUID-VkBufferCreateInfo-size-06409",
"text": " <code>size</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceMaintenance4Properties\">VkPhysicalDeviceMaintenance4Properties</a>::<code>maxBufferSize</code>"
}
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkBufferCreateInfo-usage-08097",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT</code>, creating this <code>VkBuffer</code> <strong class=\"purple\">must</strong> not cause the total required space for all currently valid buffers using this flag on the device to exceed VkPhysicalDeviceDescriptorBufferPropertiesEXT::<code>samplerDescriptorBufferAddressSpaceSize</code> or VkPhysicalDeviceDescriptorBufferPropertiesEXT::<code>descriptorBufferAddressSpaceSize</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-usage-08098",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT</code>, creating this <code>VkBuffer</code> <strong class=\"purple\">must</strong> not cause the total required space for all currently valid buffers using this flag on the device to exceed VkPhysicalDeviceDescriptorBufferPropertiesEXT::<code>resourceDescriptorBufferAddressSpaceSize</code> or VkPhysicalDeviceDescriptorBufferPropertiesEXT::<code>descriptorBufferAddressSpaceSize</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-flags-08099",
+ "text": " If <code>flags</code> includes <code>VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>, the <a href=\"#features-descriptorBufferCaptureReplay\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-pNext-08100",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-usage-08101",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code>, the <a href=\"#features-descriptorBufferPushDescriptors\">descriptorBufferPushDescriptors</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-usage-08102",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code> <a href=\"#limits-bufferlessPushDescriptors\"><code>VkPhysicalDeviceDescriptorBufferPropertiesEXT</code>::<code>bufferlessPushDescriptors</code></a> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCreateInfo-usage-08103",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code>, <code>usage</code> <strong class=\"purple\">must</strong> contain at least one of <code>VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT</code> or <code>VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ }
]
},
"VkDedicatedAllocationBufferCreateInfoNV": {
@@ -16806,7 +16898,7 @@
},
{
"vuid": "VUID-VkImageCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>, <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a>, <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a>, <a href=\"#VkImageDrmFormatModifierListCreateInfoEXT\">VkImageDrmFormatModifierListCreateInfoEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>, <a href=\"#VkImportMetalIOSurfaceInfoEXT\">VkImportMetalIOSurfaceInfoEXT</a>, <a href=\"#VkImportMetalTextureInfoEXT\">VkImportMetalTextureInfoEXT</a>, <a href=\"#VkOpticalFlowImageFormatInfoNV\">VkOpticalFlowImageFormatInfoNV</a>, or <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkBufferCollectionImageCreateInfoFUCHSIA\">VkBufferCollectionImageCreateInfoFUCHSIA</a>, <a href=\"#VkDedicatedAllocationImageCreateInfoNV\">VkDedicatedAllocationImageCreateInfoNV</a>, <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkExternalFormatANDROID\">VkExternalFormatANDROID</a>, <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>, <a href=\"#VkExternalMemoryImageCreateInfoNV\">VkExternalMemoryImageCreateInfoNV</a>, <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a>, <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a>, <a href=\"#VkImageDrmFormatModifierListCreateInfoEXT\">VkImageDrmFormatModifierListCreateInfoEXT</a>, <a href=\"#VkImageFormatListCreateInfo\">VkImageFormatListCreateInfo</a>, <a href=\"#VkImageStencilUsageCreateInfo\">VkImageStencilUsageCreateInfo</a>, <a href=\"#VkImageSwapchainCreateInfoKHR\">VkImageSwapchainCreateInfoKHR</a>, <a href=\"#VkImportMetalIOSurfaceInfoEXT\">VkImportMetalIOSurfaceInfoEXT</a>, <a href=\"#VkImportMetalTextureInfoEXT\">VkImportMetalTextureInfoEXT</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, <a href=\"#VkOpticalFlowImageFormatInfoNV\">VkOpticalFlowImageFormatInfoNV</a>, or <a href=\"#VkVideoProfileListInfoKHR\">VkVideoProfileListInfoKHR</a>"
},
{
"vuid": "VUID-VkImageCreateInfo-sType-unique",
@@ -17113,8 +17205,8 @@
],
"(VK_NV_shading_rate_image)": [
{
- "vuid": "VUID-VkImageCreateInfo-tiling-02084",
- "text": " If <code>usage</code> includes <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>tiling</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TILING_OPTIMAL</code>"
+ "vuid": "VUID-VkImageCreateInfo-shadingRateImage-07727",
+ "text": " If the <a href=\"#features-shadingRateImage\"><code>shadingRateImage</code></a> feature is enabled and <code>usage</code> includes <code>VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV</code>, <code>tiling</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_TILING_OPTIMAL</code>"
}
],
"(VK_HUAWEI_invocation_mask)": [
@@ -17199,6 +17291,16 @@
"text": " If the <code>pNext</code> chain includes a <a href=\"#VkImageCompressionControlEXT\">VkImageCompressionControlEXT</a> structure, it <strong class=\"purple\">must</strong> not contain a <a href=\"#VkImageDrmFormatModifierExplicitCreateInfoEXT\">VkImageDrmFormatModifierExplicitCreateInfoEXT</a> structure"
}
],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkImageCreateInfo-flags-08104",
+ "text": " If <code>flags</code> includes <code>VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>, the <a href=\"#features-descriptorBufferCaptureReplay\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkImageCreateInfo-pNext-08105",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>"
+ }
+ ],
"(VK_EXT_metal_objects)": [
{
"vuid": "VUID-VkImageCreateInfo-pNext-06783",
@@ -17796,7 +17898,7 @@
},
{
"vuid": "VUID-VkImageViewCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewSampleWeightCreateInfoQCOM\">VkImageViewSampleWeightCreateInfoQCOM</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkExportMetalObjectCreateInfoEXT\">VkExportMetalObjectCreateInfoEXT</a>, <a href=\"#VkImageViewASTCDecodeModeEXT\">VkImageViewASTCDecodeModeEXT</a>, <a href=\"#VkImageViewMinLodCreateInfoEXT\">VkImageViewMinLodCreateInfoEXT</a>, <a href=\"#VkImageViewSampleWeightCreateInfoQCOM\">VkImageViewSampleWeightCreateInfoQCOM</a>, <a href=\"#VkImageViewUsageCreateInfo\">VkImageViewUsageCreateInfo</a>, <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>"
},
{
"vuid": "VUID-VkImageViewCreateInfo-sType-unique",
@@ -18089,6 +18191,16 @@
"text": " If <code>image</code> was created with <code>usage</code> containing <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR</code>, <code>VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR</code>, then the <code>viewType</code> <strong class=\"purple\">must</strong> be <code>VK_IMAGE_VIEW_TYPE_2D</code> or <code>VK_IMAGE_VIEW_TYPE_2D_ARRAY</code> and all members of <code>components</code> <strong class=\"purple\">must</strong> have the <a href=\"#resources-image-views-identity-mappings\">identity swizzle</a>"
}
],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-flags-08106",
+ "text": " If <code>flags</code> includes <code>VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>, the <a href=\"#features-descriptorBufferCaptureReplay\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkImageViewCreateInfo-pNext-08107",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>"
+ }
+ ],
"(VK_EXT_metal_objects)": [
{
"vuid": "VUID-VkImageViewCreateInfo-pNext-06787",
@@ -18450,7 +18562,11 @@
},
{
"vuid": "VUID-VkAccelerationStructureCreateInfoNV-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCreateInfoNV-sType-unique",
+ "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
},
{
"vuid": "VUID-VkAccelerationStructureCreateInfoNV-info-parameter",
@@ -18588,7 +18704,7 @@
},
{
"vuid": "VUID-VkAccelerationStructureCreateInfoKHR-pNext-pNext",
- "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkAccelerationStructureMotionInfoNV\">VkAccelerationStructureMotionInfoNV</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkAccelerationStructureMotionInfoNV\">VkAccelerationStructureMotionInfoNV</a> or <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>"
},
{
"vuid": "VUID-VkAccelerationStructureCreateInfoKHR-sType-unique",
@@ -18616,6 +18732,16 @@
"vuid": "VUID-VkAccelerationStructureCreateInfoKHR-flags-04955",
"text": " If any geometry includes <code>VkAccelerationStructureGeometryMotionTrianglesDataNV</code> then <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV</code>"
}
+ ],
+ "(VK_NV_ray_tracing,VK_KHR_acceleration_structure)+(VK_KHR_acceleration_structure)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-createFlags-08108",
+ "text": " If <code>createFlags</code> includes <code>VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>, the <a href=\"#features-descriptorBufferCaptureReplay\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCreateInfoKHR-pNext-08109",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a> structure, <code>createFlags</code> <strong class=\"purple\">must</strong> contain <code>VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>"
+ }
]
},
"VkAccelerationStructureMotionInfoNV": {
@@ -19620,6 +19746,12 @@
"vuid": "VUID-vkBindBufferMemory-buffer-06408",
"text": " If <code>buffer</code> was created with <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> chained to <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a>::<code>pNext</code>, <code>memory</code> <strong class=\"purple\">must</strong> be allocated with a <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a> chained to <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a>::<code>pNext</code>"
}
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkBindBufferMemory-descriptorBufferCaptureReplay-08112",
+ "text": " If the <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a> ::<code>descriptorBufferCaptureReplay</code> feature is enabled and <code>buffer</code> was created with the <code>VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
+ }
]
},
"vkBindBufferMemory2": {
@@ -19755,6 +19887,12 @@
"text": " If <code>buffer</code> was created with <a href=\"#VkBufferCollectionBufferCreateInfoFUCHSIA\">VkBufferCollectionBufferCreateInfoFUCHSIA</a> chained to <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a>::<code>pNext</code>, <code>memory</code> <strong class=\"purple\">must</strong> be allocated with a <a href=\"#VkImportMemoryBufferCollectionFUCHSIA\">VkImportMemoryBufferCollectionFUCHSIA</a> chained to <a href=\"#VkMemoryAllocateInfo\">VkMemoryAllocateInfo</a>::<code>pNext</code>"
}
],
+ "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkBindBufferMemoryInfo-descriptorBufferCaptureReplay-08112",
+ "text": " If the <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a> ::<code>descriptorBufferCaptureReplay</code> feature is enabled and <code>buffer</code> was created with the <code>VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_VERSION_1_1,VK_KHR_device_group)": [
{
"vuid": "VUID-VkBindBufferMemoryInfo-pNext-01605",
@@ -19895,6 +20033,12 @@
"text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
}
],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkBindImageMemory-descriptorBufferCaptureReplay-08113",
+ "text": " If the <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a> ::<code>descriptorBufferCaptureReplay</code> feature is enabled and <code>image</code> was created with the <code>VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-vkBindImageMemory-image-01608",
@@ -20035,6 +20179,12 @@
"text": " If <code>memory</code> was created with the <a href=\"#VkImportAndroidHardwareBufferInfoANDROID\">VkImportAndroidHardwareBufferInfoANDROID</a> memory import operation with a non-<code>NULL</code> <code>buffer</code> value, <code>VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID</code> <strong class=\"purple\">must</strong> also have been set in <a href=\"#VkExternalMemoryImageCreateInfo\">VkExternalMemoryImageCreateInfo</a>::<code>handleTypes</code> when <code>image</code> was created"
}
],
+ "(VK_VERSION_1_1,VK_KHR_bind_memory2)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkBindImageMemoryInfo-descriptorBufferCaptureReplay-08113",
+ "text": " If the <a href=\"#VkPhysicalDeviceDescriptorBufferFeaturesEXT\">VkPhysicalDeviceDescriptorBufferFeaturesEXT</a> ::<code>descriptorBufferCaptureReplay</code> feature is enabled and <code>image</code> was created with the <code>VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> bit set, <code>memory</code> <strong class=\"purple\">must</strong> have been allocated with the <code>VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT</code> bit set"
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_bind_memory2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [
{
"vuid": "VUID-VkBindImageMemoryInfo-memory-01612",
@@ -20634,7 +20784,7 @@
},
{
"vuid": "VUID-VkSamplerCreateInfo-pNext-pNext",
- "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkSamplerBorderColorComponentMappingCreateInfoEXT\">VkSamplerBorderColorComponentMappingCreateInfoEXT</a>, <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>, <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>"
+ "text": " Each <code>pNext</code> member of any structure (including this one) in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be either <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a>, <a href=\"#VkSamplerBorderColorComponentMappingCreateInfoEXT\">VkSamplerBorderColorComponentMappingCreateInfoEXT</a>, <a href=\"#VkSamplerCustomBorderColorCreateInfoEXT\">VkSamplerCustomBorderColorCreateInfoEXT</a>, <a href=\"#VkSamplerReductionModeCreateInfo\">VkSamplerReductionModeCreateInfo</a>, or <a href=\"#VkSamplerYcbcrConversionInfo\">VkSamplerYcbcrConversionInfo</a>"
},
{
"vuid": "VUID-VkSamplerCreateInfo-sType-unique",
@@ -20769,6 +20919,16 @@
"text": " The maximum number of samplers with custom border colors which <strong class=\"purple\">can</strong> be simultaneously created on a device is implementation-dependent and specified by the <a href=\"#limits-maxCustomBorderColorSamplers\"><code>maxCustomBorderColorSamplers</code></a> member of the <a href=\"#VkPhysicalDeviceCustomBorderColorPropertiesEXT\">VkPhysicalDeviceCustomBorderColorPropertiesEXT</a> structure"
}
],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkSamplerCreateInfo-flags-08110",
+ "text": " If <code>flags</code> includes <code>VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>, the <a href=\"#features-descriptorBufferCaptureReplay\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-VkSamplerCreateInfo-pNext-08111",
+ "text": " If the <code>pNext</code> chain includes a <a href=\"#VkOpaqueCaptureDescriptorDataCreateInfoEXT\">VkOpaqueCaptureDescriptorDataCreateInfoEXT</a> structure, <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code>"
+ }
+ ],
"(VK_QCOM_image_processing)": [
{
"vuid": "VUID-VkSamplerCreateInfo-flags-06964",
@@ -21154,6 +21314,28 @@
"vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-04596",
"text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT</code>, <a href=\"#VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT\">VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT</a>::<code>mutableDescriptorType</code> <strong class=\"purple\">must</strong> be enabled"
}
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-08000",
+ "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, then all elements of <code>pBindings</code> <strong class=\"purple\">must</strong> not have a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-08001",
+ "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code>, <code>flags</code> <strong class=\"purple\">must</strong> also contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_VERSION_1_2,VK_EXT_descriptor_indexing)": [
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-08002",
+ "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, then <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_VALVE_mutable_descriptor_type)": [
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutCreateInfo-flags-08003",
+ "text": " If <code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, then <code>flags</code> <strong class=\"purple\">must</strong> not contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE</code>"
+ }
]
},
"VkMutableDescriptorTypeCreateInfoEXT": {
@@ -21233,12 +21415,32 @@
{
"vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-02209",
"text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK</code> then <code>descriptorCount</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>"
- },
+ }
+ ],
+ "(VK_VERSION_1_3,VK_EXT_inline_uniform_block)+!(VK_EXT_descriptor_buffer)": [
{
"vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-02210",
"text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK</code> then <code>descriptorCount</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceInlineUniformBlockProperties</code>::<code>maxInlineUniformBlockSize</code>"
}
],
+ "(VK_VERSION_1_3,VK_EXT_inline_uniform_block)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutBinding-descriptorType-08004",
+ "text": " If <code>descriptorType</code> is <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT</code> and <a href=\"#VkDescriptorSetLayoutCreateInfo\">VkDescriptorSetLayoutCreateInfo</a>::<code>flags</code> does not contain <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> then <code>descriptorCount</code> <strong class=\"purple\">must</strong> be less than or equal to <code>VkPhysicalDeviceInlineUniformBlockPropertiesEXT</code>::<code>maxInlineUniformBlockSize</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutBinding-flags-08005",
+ "text": " If <a href=\"#VkDescriptorSetLayoutCreateInfo\">VkDescriptorSetLayoutCreateInfo</a>::<code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code>, <code>descriptorType</code> <strong class=\"purple\">must</strong> be <code>VK_DESCRIPTOR_TYPE_SAMPLER</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutBinding-flags-08006",
+ "text": " If <a href=\"#VkDescriptorSetLayoutCreateInfo\">VkDescriptorSetLayoutCreateInfo</a>::<code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code>, <code>descriptorCount</code> <strong class=\"purple\">must</strong> less than or equal to <code>1</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorSetLayoutBinding-flags-08007",
+ "text": " If <a href=\"#VkDescriptorSetLayoutCreateInfo\">VkDescriptorSetLayoutCreateInfo</a>::<code>flags</code> contains <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code>, and <code>descriptorCount</code> is equal to <code>1</code>, <code>pImmutableSamplers</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+ }
+ ],
"(VK_EXT_custom_border_color)": [
{
"vuid": "VUID-VkDescriptorSetLayoutBinding-pImmutableSamplers-04009",
@@ -21728,6 +21930,12 @@
"vuid": "VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753",
"text": " If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> be valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> objects"
}
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-08008",
+ "text": " If any element of <code>pSetLayouts</code> was created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set, all elements of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set"
+ }
]
},
"VkPushConstantRange": {
@@ -21969,6 +22177,12 @@
"text": " If any element of <code>pSetLayouts</code> was created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT</code> bit set, <code>descriptorPool</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT</code> flag set"
}
],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorSetAllocateInfo-pSetLayouts-08009",
+ "text": " Each element of <code>pSetLayouts</code> <strong class=\"purple\">must</strong> not have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set"
+ }
+ ],
"core": [
{
"vuid": "VUID-VkDescriptorSetAllocateInfo-sType-sType",
@@ -22906,6 +23120,12 @@
"vuid": "VUID-vkCmdBindDescriptorSets-graphicsPipelineLibrary-06754",
"text": " If <a href=\"#features-graphicsPipelineLibrary\"><code>graphicsPipelineLibrary</code></a> is not enabled, each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSet\">VkDescriptorSet</a>"
}
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdBindDescriptorSets-pDescriptorSets-08010",
+ "text": " Each element of <code>pDescriptorSets</code> <strong class=\"purple\">must</strong> have been allocated with a <code>VkDescriptorSetLayout</code> which was not created with <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ }
]
},
"vkCmdPushDescriptorSetKHR": {
@@ -23156,6 +23376,836 @@
}
]
},
+ "vkGetDescriptorSetLayoutSizeEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutSizeEXT-None-08011",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutSizeEXT-layout-08012",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> have been created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT flag set"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutSizeEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutSizeEXT-layout-parameter",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutSizeEXT-pLayoutSizeInBytes-parameter",
+ "text": " <code>pLayoutSizeInBytes</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>VkDeviceSize</code> value"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutSizeEXT-layout-parent",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+ }
+ ]
+ },
+ "vkGetDescriptorSetLayoutBindingOffsetEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-None-08013",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-layout-08014",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> have been created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT flag set"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-layout-parameter",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-pOffset-parameter",
+ "text": " <code>pOffset</code> <strong class=\"purple\">must</strong> be a valid pointer to a <code>VkDeviceSize</code> value"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorSetLayoutBindingOffsetEXT-layout-parent",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from <code>device</code>"
+ }
+ ]
+ },
+ "vkGetDescriptorEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-None-08015",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-pDescriptor-08016",
+ "text": " <code>pDescriptor</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of at least <code>dataSize</code> bytes"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-pDescriptorInfo-parameter",
+ "text": " <code>pDescriptorInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-pDescriptor-parameter",
+ "text": " <code>pDescriptor</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>dataSize</code> bytes"
+ },
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-dataSize-arraylength",
+ "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+!(VK_EXT_fragment_density_map)": [
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-dataSize-08120",
+ "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> equal the size of a descriptor of type <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>::<code>type</code> determined by the value in <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_fragment_density_map)": [
+ {
+ "vuid": "VUID-vkGetDescriptorEXT-dataSize-08125",
+ "text": " <code>dataSize</code> <strong class=\"purple\">must</strong> equal the size of a descriptor of type <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>::<code>type</code> determined by the value in <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>, or <a href=\"#VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT\">VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT</a>::<code>combinedImageSamplerDensityMapDescriptorSize</code> if <code>pDescriptorInfo</code> specifies a <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code> whose <a href=\"#VkSampler\">VkSampler</a> was created with <code>VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT</code> set"
+ }
+ ]
+ },
+ "VkDescriptorGetInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08018",
+ "text": " <code>type</code> <strong class=\"purple\">must</strong> not be <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC</code> or <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08019",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, the <code>pCombinedImageSampler-&gt;sampler</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a <a href=\"#VkSampler\">VkSampler</a> created on <code>device</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08020",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, the <code>pCombinedImageSampler-&gt;imageView</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> created on <code>device</code>, or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08021",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code>, the <code>pInputAttachmentImage-&gt;imageView</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> created on <code>device</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08022",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, and if <code>pSampledImage</code> is not <code>NULL</code>, the <code>pSampledImage-&gt;imageView</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> created on <code>device</code>, or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08023",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, and if <code>pStorageImage</code> is not <code>NULL</code>, the <code>pStorageImage-&gt;imageView</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a <a href=\"#VkImageView\">VkImageView</a> created on <code>device</code>, or <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08024",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER</code>, <code>pUniformTexelBuffer</code> is not <code>NULL</code> and <code>pUniformTexelBuffer-&gt;address</code> is not zero, <code>pUniformTexelBuffer-&gt;address</code> must be an address within a <a href=\"#VkBuffer\">VkBuffer</a> created on <code>device</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08025",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code>, <code>pStorageTexelBuffer</code> is not <code>NULL</code> and <code>pStorageTexelBuffer-&gt;address</code> is not zero, <code>pStorageTexelBuffer-&gt;address</code> must be an address within a <a href=\"#VkBuffer\">VkBuffer</a> created on <code>device</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08026",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code>, <code>pUniformBuffer</code> is not <code>NULL</code> and <code>pUniformBuffer-&gt;address</code> is not zero, <code>pUniformBuffer-&gt;address</code> must be an address within a <a href=\"#VkBuffer\">VkBuffer</a> created on <code>device</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08027",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code>, <code>pStorageBuffer</code> is not <code>NULL</code> and <code>pStorageBuffer-&gt;address</code> is not zero, <code>pStorageBuffer-&gt;address</code> must be an address within a <a href=\"#VkBuffer\">VkBuffer</a> created on <code>device</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-parameter",
+ "text": " <code>type</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDescriptorType\">VkDescriptorType</a> value"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pSampler-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLER</code>, the <code>pSampler</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSampler\">VkSampler</a> handle"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pCombinedImageSampler-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, the <code>pCombinedImageSampler</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pInputAttachmentImage-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT</code>, the <code>pInputAttachmentImage</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pSampledImage-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, and if <code>pSampledImage</code> is not <code>NULL</code>, the <code>pSampledImage</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pStorageImage-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, and if <code>pStorageImage</code> is not <code>NULL</code>, the <code>pStorageImage</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorImageInfo\">VkDescriptorImageInfo</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pUniformTexelBuffer-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER</code>, and if <code>pUniformTexelBuffer</code> is not <code>NULL</code>, the <code>pUniformTexelBuffer</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorAddressInfoEXT\">VkDescriptorAddressInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pStorageTexelBuffer-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code>, and if <code>pStorageTexelBuffer</code> is not <code>NULL</code>, the <code>pStorageTexelBuffer</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorAddressInfoEXT\">VkDescriptorAddressInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pUniformBuffer-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code>, and if <code>pUniformBuffer</code> is not <code>NULL</code>, the <code>pUniformBuffer</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorAddressInfoEXT\">VkDescriptorAddressInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-pStorageBuffer-parameter",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code>, and if <code>pStorageBuffer</code> is not <code>NULL</code>, the <code>pStorageBuffer</code> member of <code>data</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkDescriptorAddressInfoEXT\">VkDescriptorAddressInfoEXT</a> structure"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_KHR_acceleration_structure)": [
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08028",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code> and <code>accelerationStructure</code> is not <code>0</code>, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> contain the address of a <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> created on <code>device</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_NV_ray_tracing)": [
+ {
+ "vuid": "VUID-VkDescriptorGetInfoEXT-type-08029",
+ "text": " If <code>type</code> is <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV</code> and <code>accelerationStructure</code> is not <code>0</code>, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> contain the handle of a <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> created on <code>device</code>, returned by <a href=\"#vkGetAccelerationStructureHandleNV\">vkGetAccelerationStructureHandleNV</a>"
+ }
+ ]
+ },
+ "VkDescriptorDataEXT": {
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_robustness2)": [
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08030",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code>, and <code>pUniformBuffer-&gt;address</code> is the address of a non-sparse buffer, then that buffer <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08031",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code>, and <code>pStorageBuffer-&gt;address</code> is the address of a non-sparse buffer, then that buffer <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08032",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER</code>, and <code>pUniformTexelBuffer-&gt;address</code> is the address of a non-sparse buffer, then that buffer <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08033",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code>, and <code>pStorageTexelBuffer-&gt;address</code> is the address of a non-sparse buffer, then that buffer <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_robustness2)+(VK_EXT_robustness2)": [
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08034",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pCombinedImageSampler-&gt;imageView</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08035",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pSampledImage</code> <strong class=\"purple\">must</strong> not be <code>NULL</code> and <code>pSampledImage-&gt;imageView</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08036",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_IMAGE</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pStorageImage</code> <strong class=\"purple\">must</strong> not be <code>NULL</code> and <code>pStorageImage-&gt;imageView</code> <strong class=\"purple\">must</strong> not be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08037",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pUniformTexelBuffer</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08038",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pStorageTexelBuffer</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08039",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pUniformBuffer</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08040",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_STORAGE_BUFFER</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>pStorageBuffer</code> <strong class=\"purple\">must</strong> not be <code>NULL</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_robustness2)+(VK_EXT_robustness2)+(VK_KHR_acceleration_structure)": [
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08041",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_robustness2)+(VK_EXT_robustness2)+(VK_NV_ray_tracing)": [
+ {
+ "vuid": "VUID-VkDescriptorDataEXT-type-08042",
+ "text": " If <a href=\"#VkDescriptorGetInfoEXT\">VkDescriptorGetInfoEXT</a>:<code>type</code> is <code>VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV</code>, and the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+ }
+ ]
+ },
+ "VkDescriptorAddressInfoEXT": {
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_robustness2)": [
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-address-08043",
+ "text": " If the <a href=\"#features-nullDescriptor\">nullDescriptor</a> feature is not enabled, <code>address</code> <strong class=\"purple\">must</strong> not be zero"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-None-08044",
+ "text": " If <code>address</code> is not zero, <code>address</code> <strong class=\"purple\">must</strong> be a valid device address at an offset within a <a href=\"#VkBuffer\">VkBuffer</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-range-08045",
+ "text": " <code>range</code> <strong class=\"purple\">must</strong> be less than or equal to the size of the buffer containing <code>address</code> minus the offset of <code>address</code> from the base address of the buffer"
+ },
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-range-08046",
+ "text": " <code>range</code> must not be <code>VK_WHOLE_SIZE</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorAddressInfoEXT-format-parameter",
+ "text": " <code>format</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkFormat\">VkFormat</a> value"
+ }
+ ]
+ },
+ "vkCmdBindDescriptorBuffersEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-None-08047",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-maxSamplerDescriptorBufferBindings-08048",
+ "text": " There <strong class=\"purple\">must</strong> be no more than <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxSamplerDescriptorBufferBindings</code> descriptor buffers containing sampler descriptor data bound"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-maxResourceDescriptorBufferBindings-08049",
+ "text": " There <strong class=\"purple\">must</strong> be no more than <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxResourceDescriptorBufferBindings</code> descriptor buffers containing resource descriptor data bound"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-None-08050",
+ "text": " There <strong class=\"purple\">must</strong> be no more than <code>1</code> descriptor buffer bound that was created with the <code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-bufferCount-08051",
+ "text": " <code>bufferCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxDescriptorBufferBindings</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08052",
+ "text": " For any element of <code>pBindingInfos</code>, if the buffer from which <code>address</code> was queried is non-sparse then it <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <a href=\"#VkDeviceMemory\">VkDeviceMemory</a> object"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08053",
+ "text": " For any element of <code>pBindingInfos</code>, the buffer from which <code>address</code> was queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set if it contains sampler descriptor data"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08054",
+ "text": " For any element of <code>pBindingInfos</code>, the buffer from which <code>address</code> was queried <strong class=\"purple\">must</strong> have been created with the <code>VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT</code> bit set if it contains resource descriptor data"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08055",
+ "text": " For any element of <code>pBindingInfos</code>, <code>usage</code> <strong class=\"purple\">must</strong> match the buffer from which <code>address</code> was queried."
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-parameter",
+ "text": " <code>pBindingInfos</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>bufferCount</code> valid <a href=\"#VkDescriptorBufferBindingInfoEXT\">VkDescriptorBufferBindingInfoEXT</a> structures"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-bufferCount-arraylength",
+ "text": " <code>bufferCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+ }
+ ]
+ },
+ "VkDescriptorBufferBindingInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056",
+ "text": " If <a href=\"#limits-bufferlessPushDescriptors\"><code>VkPhysicalDeviceDescriptorBufferPropertiesEXT</code>::<code>bufferlessPushDescriptors</code></a> is <code>VK_FALSE</code>, and <code>usage</code> contains VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, then the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT\">VkDescriptorBufferBindingPushDescriptorBufferHandleEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-address-08057",
+ "text": " <code>address</code> <strong class=\"purple\">must</strong> be aligned to <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>descriptorBufferOffsetAlignment</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-usage-08122",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT</code>, <code>address</code> <strong class=\"purple\">must</strong> be an address within a valid buffer that was created with <code>VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-usage-08123",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT</code>, <code>address</code> <strong class=\"purple\">must</strong> be an address within a valid buffer that was created with <code>VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkDescriptorBufferBindingPushDescriptorBufferHandleEXT\">VkDescriptorBufferBindingPushDescriptorBufferHandleEXT</a>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-sType-unique",
+ "text": " The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-usage-parameter",
+ "text": " <code>usage</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkBufferUsageFlagBits\">VkBufferUsageFlagBits</a> values"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-usage-requiredbitmask",
+ "text": " <code>usage</code> <strong class=\"purple\">must</strong> not be <code>0</code>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_KHR_push_descriptor)": [
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingInfoEXT-usage-08124",
+ "text": " If <code>usage</code> includes <code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code>, <code>address</code> <strong class=\"purple\">must</strong> be an address within a valid buffer that was created with <code>VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ }
+ ]
+ },
+ "VkDescriptorBufferBindingPushDescriptorBufferHandleEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-bufferlessPushDescriptors-08059",
+ "text": " <a href=\"#limits-bufferlessPushDescriptors\"><code>VkPhysicalDeviceDescriptorBufferPropertiesEXT</code>::<code>bufferlessPushDescriptors</code></a> <strong class=\"purple\">must</strong> be <code>VK_FALSE</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkDescriptorBufferBindingPushDescriptorBufferHandleEXT-buffer-parameter",
+ "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+ }
+ ]
+ },
+ "vkCmdSetDescriptorBufferOffsetsEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-None-08060",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08061",
+ "text": " The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be aligned to <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>descriptorBufferOffsetAlignment</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08126",
+ "text": " The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any location accessed by a shader as a sampler descriptor <strong class=\"purple\">must</strong> be within <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxSamplerDescriptorBufferRange</code> of the sampler descriptor buffer binding"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08127",
+ "text": " The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any location accessed by a shader as a resource descriptor <strong class=\"purple\">must</strong> be within <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxResourceDescriptorBufferRange</code> of the resource descriptor buffer binding"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pBufferIndices-08064",
+ "text": " Each element of <code>pBufferIndices</code> <strong class=\"purple\">must</strong> be less than <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>maxDescriptorBufferBindings</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pBufferIndices-08065",
+ "text": " Each element of <code>pBufferIndices</code> <strong class=\"purple\">must</strong> reference a valid descriptor buffer binding set by a previous call to <a href=\"#vkCmdBindDescriptorBuffersEXT\">vkCmdBindDescriptorBuffersEXT</a> in <code>commandBuffer</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-firstSet-08066",
+ "text": " The sum of <code>firstSet</code> and <code>setCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-08067",
+ "text": " <code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-parameter",
+ "text": " <code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineBindPoint\">VkPipelineBindPoint</a> value"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-layout-parameter",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pBufferIndices-parameter",
+ "text": " <code>pBufferIndices</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>setCount</code> <code>uint32_t</code> values"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-parameter",
+ "text": " <code>pOffsets</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of <code>setCount</code> <code>VkDeviceSize</code> values"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-setCount-arraylength",
+ "text": " <code>setCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-commonparent",
+ "text": " Both of <code>commandBuffer</code>, and <code>layout</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+!(VK_VERSION_1_2,VK_EXT_descriptor_indexing)": [
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08062",
+ "text": " The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any descriptor binding referenced by <code>layout</code> computes a valid address inside the underlying <a href=\"#VkBuffer\">VkBuffer</a>"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)+(VK_VERSION_1_2,VK_EXT_descriptor_indexing)": [
+ {
+ "vuid": "VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08063",
+ "text": " The offsets in <code>pOffsets</code> <strong class=\"purple\">must</strong> be small enough such that any descriptor binding referenced by <code>layout</code> without the <code>VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT</code> flag computes a valid address inside the underlying <a href=\"#VkBuffer\">VkBuffer</a>"
+ }
+ ]
+ },
+ "vkCmdBindDescriptorBufferEmbeddedSamplersEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-None-08068",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBuffer</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069",
+ "text": " <code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be supported by the <code>commandBuffer</code>&#8217;s parent <code>VkCommandPool</code>&#8217;s queue family"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08070",
+ "text": " The <a href=\"#VkDescriptorSetLayout\">VkDescriptorSetLayout</a> at index <code>set</code> when <code>layout</code> was created <strong class=\"purple\">must</strong> have been created with the <code>VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT</code> bit set"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08071",
+ "text": " <code>set</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>setLayoutCount</code> provided when <code>layout</code> was created"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-parameter",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-parameter",
+ "text": " <code>pipelineBindPoint</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineBindPoint\">VkPipelineBindPoint</a> value"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-layout-parameter",
+ "text": " <code>layout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> handle"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-recording",
+ "text": " <code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-cmdpool",
+ "text": " The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support graphics, or compute operations"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-videocoding",
+ "text": " This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope"
+ },
+ {
+ "vuid": "VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commonparent",
+ "text": " Both of <code>commandBuffer</code>, and <code>layout</code> <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+ }
+ ]
+ },
+ "vkGetBufferOpaqueCaptureDescriptorDataEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-None-08072",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-pData-08073",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> point to a buffer that is at least <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>bufferCaptureReplayDescriptorDataSize</code> bytes in size"
+ },
+ {
+ "vuid": "VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-device-08074",
+ "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-pInfo-parameter",
+ "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkBufferCaptureDescriptorDataInfoEXT\">VkBufferCaptureDescriptorDataInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetBufferOpaqueCaptureDescriptorDataEXT-pData-parameter",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a pointer value"
+ }
+ ]
+ },
+ "VkBufferCaptureDescriptorDataInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkBufferCaptureDescriptorDataInfoEXT-buffer-08075",
+ "text": " <code>buffer</code> <strong class=\"purple\">must</strong> have been created with <code>VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> set in <a href=\"#VkBufferCreateInfo\">VkBufferCreateInfo</a>::<code>flags</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCaptureDescriptorDataInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCaptureDescriptorDataInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkBufferCaptureDescriptorDataInfoEXT-buffer-parameter",
+ "text": " <code>buffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle"
+ }
+ ]
+ },
+ "vkGetImageOpaqueCaptureDescriptorDataEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-None-08076",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-pData-08077",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> point to a buffer that is at least <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>imageCaptureReplayDescriptorDataSize</code> bytes in size"
+ },
+ {
+ "vuid": "VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-device-08078",
+ "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-pInfo-parameter",
+ "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageCaptureDescriptorDataInfoEXT\">VkImageCaptureDescriptorDataInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetImageOpaqueCaptureDescriptorDataEXT-pData-parameter",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a pointer value"
+ }
+ ]
+ },
+ "VkImageCaptureDescriptorDataInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkImageCaptureDescriptorDataInfoEXT-image-08079",
+ "text": " <code>image</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> set in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a>::<code>flags</code>"
+ },
+ {
+ "vuid": "VUID-VkImageCaptureDescriptorDataInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkImageCaptureDescriptorDataInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkImageCaptureDescriptorDataInfoEXT-image-parameter",
+ "text": " <code>image</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle"
+ }
+ ]
+ },
+ "vkGetImageViewOpaqueCaptureDescriptorDataEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-None-08080",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-pData-08081",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> point to a buffer that is at least <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>imageViewCaptureReplayDescriptorDataSize</code> bytes in size"
+ },
+ {
+ "vuid": "VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-device-08082",
+ "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-pInfo-parameter",
+ "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkImageViewCaptureDescriptorDataInfoEXT\">VkImageViewCaptureDescriptorDataInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetImageViewOpaqueCaptureDescriptorDataEXT-pData-parameter",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a pointer value"
+ }
+ ]
+ },
+ "VkImageViewCaptureDescriptorDataInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkImageViewCaptureDescriptorDataInfoEXT-imageView-08083",
+ "text": " <code>imageView</code> <strong class=\"purple\">must</strong> have been created with <code>VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> set in <a href=\"#VkImageViewCreateInfo\">VkImageViewCreateInfo</a>::<code>flags</code>"
+ },
+ {
+ "vuid": "VUID-VkImageViewCaptureDescriptorDataInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkImageViewCaptureDescriptorDataInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkImageViewCaptureDescriptorDataInfoEXT-imageView-parameter",
+ "text": " <code>imageView</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageView\">VkImageView</a> handle"
+ }
+ ]
+ },
+ "vkGetSamplerOpaqueCaptureDescriptorDataEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-None-08084",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-pData-08085",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> point to a buffer that is at least <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>samplerCaptureReplayDescriptorDataSize</code> bytes in size"
+ },
+ {
+ "vuid": "VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-device-08086",
+ "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-pInfo-parameter",
+ "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkSamplerCaptureDescriptorDataInfoEXT\">VkSamplerCaptureDescriptorDataInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetSamplerOpaqueCaptureDescriptorDataEXT-pData-parameter",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a pointer value"
+ }
+ ]
+ },
+ "VkSamplerCaptureDescriptorDataInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkSamplerCaptureDescriptorDataInfoEXT-sampler-08087",
+ "text": " <code>sampler</code> <strong class=\"purple\">must</strong> have been created with <code>VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> set in <a href=\"#VkSamplerCreateInfo\">VkSamplerCreateInfo</a>::<code>flags</code>"
+ },
+ {
+ "vuid": "VUID-VkSamplerCaptureDescriptorDataInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkSamplerCaptureDescriptorDataInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkSamplerCaptureDescriptorDataInfoEXT-sampler-parameter",
+ "text": " <code>sampler</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSampler\">VkSampler</a> handle"
+ }
+ ]
+ },
+ "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT": {
+ "(VK_EXT_descriptor_buffer)+(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+ {
+ "vuid": "VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-None-08088",
+ "text": " The <a href=\"#features-descriptorBuffer\">descriptorBufferCaptureReplay</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-pData-08089",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> point to a buffer that is at least <a href=\"#VkPhysicalDeviceDescriptorBufferPropertiesEXT\">VkPhysicalDeviceDescriptorBufferPropertiesEXT</a>::<code>accelerationStructureCaptureReplayDescriptorDataSize</code> bytes in size"
+ },
+ {
+ "vuid": "VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-device-08090",
+ "text": " If <code>device</code> was created with multiple physical devices, then the <a href=\"#features-bufferDeviceAddressMultiDevice\">bufferDeviceAddressMultiDevice</a> feature <strong class=\"purple\">must</strong> be enabled"
+ },
+ {
+ "vuid": "VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-device-parameter",
+ "text": " <code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle"
+ },
+ {
+ "vuid": "VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-pInfo-parameter",
+ "text": " <code>pInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkAccelerationStructureCaptureDescriptorDataInfoEXT\">VkAccelerationStructureCaptureDescriptorDataInfoEXT</a> structure"
+ },
+ {
+ "vuid": "VUID-vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT-pData-parameter",
+ "text": " <code>pData</code> <strong class=\"purple\">must</strong> be a pointer value"
+ }
+ ]
+ },
+ "VkAccelerationStructureCaptureDescriptorDataInfoEXT": {
+ "(VK_EXT_descriptor_buffer)+(VK_NV_ray_tracing,VK_KHR_acceleration_structure)": [
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructure-08091",
+ "text": " If <code>accelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> then <code>accelerationStructure</code> <strong class=\"purple\">must</strong> have been created with <code>VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> set in <a href=\"#VkAccelerationStructureCreateInfoKHR\">VkAccelerationStructureCreateInfoKHR</a>::<code>createFlags</code>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructureNV-08092",
+ "text": " If <code>accelerationStructureNV</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> then <code>accelerationStructureNV</code> <strong class=\"purple\">must</strong> have been created with <code>VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT</code> set in <a href=\"#VkAccelerationStructureCreateInfoNV\">VkAccelerationStructureCreateInfoNV</a>::info::<code>flags</code>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructure-08093",
+ "text": " If <code>accelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> then <code>accelerationStructureNV</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructureNV-08094",
+ "text": " If <code>accelerationStructureNV</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a> then <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-pNext-pNext",
+ "text": " <code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructure-parameter",
+ "text": " If <code>accelerationStructure</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>accelerationStructure</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureKHR\">VkAccelerationStructureKHR</a> handle"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-accelerationStructureNV-parameter",
+ "text": " If <code>accelerationStructureNV</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>accelerationStructureNV</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkAccelerationStructureNV\">VkAccelerationStructureNV</a> handle"
+ },
+ {
+ "vuid": "VUID-VkAccelerationStructureCaptureDescriptorDataInfoEXT-commonparent",
+ "text": " Both of <code>accelerationStructure</code>, and <code>accelerationStructureNV</code> that are valid handles of non-ignored parameters <strong class=\"purple\">must</strong> have been created, allocated, or retrieved from the same <a href=\"#VkDevice\">VkDevice</a>"
+ }
+ ]
+ },
+ "VkOpaqueCaptureDescriptorDataCreateInfoEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkOpaqueCaptureDescriptorDataCreateInfoEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT</code>"
+ },
+ {
+ "vuid": "VUID-VkOpaqueCaptureDescriptorDataCreateInfoEXT-opaqueCaptureDescriptorData-parameter",
+ "text": " <code>opaqueCaptureDescriptorData</code> <strong class=\"purple\">must</strong> be a pointer value"
+ }
+ ]
+ },
"BaryCoordKHR": {
"(VK_NV_fragment_shader_barycentric,VK_KHR_fragment_shader_barycentric)": [
{
@@ -30829,10 +31879,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDraw-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDraw-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -31013,6 +32059,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDraw-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDraw-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDraw-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDraw-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDraw-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDraw-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDraw-None-02705",
@@ -31719,10 +32793,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawIndexed-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawIndexed-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -31911,6 +32981,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexed-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawIndexed-None-02705",
@@ -32617,10 +33715,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMultiEXT-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMultiEXT-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -32817,6 +33911,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_EXT_multi_draw)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_multi_draw)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiEXT-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_EXT_multi_draw)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMultiEXT-None-02705",
@@ -33523,10 +34645,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -33735,6 +34853,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_EXT_multi_draw)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_multi_draw)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_EXT_multi_draw)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-02705",
@@ -34441,10 +35587,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawIndirect-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawIndirect-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -34665,6 +35807,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirect-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawIndirect-None-02705",
@@ -35373,10 +36543,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawIndirectCount-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawIndirectCount-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -35617,6 +36783,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectCount-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawIndirectCount-None-02705",
@@ -36319,10 +37513,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -36547,6 +37737,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-02705",
@@ -37259,10 +38477,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -37507,6 +38721,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_VERSION_1_2,VK_KHR_draw_indirect_count)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-02705",
@@ -38209,10 +39451,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -38425,6 +39663,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_EXT_transform_feedback)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_transform_feedback)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_EXT_transform_feedback)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-02705",
@@ -39217,10 +40483,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -39397,6 +40659,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-02705",
@@ -40061,10 +41351,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -40277,6 +41563,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-02705",
@@ -40953,10 +42267,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -41189,6 +42499,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_NV_mesh_shader)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02705",
@@ -41863,10 +43201,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -42071,6 +43405,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-02705",
@@ -42713,10 +44075,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -42929,6 +44287,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-02705",
@@ -43611,10 +44997,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -43847,6 +45229,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_mesh_shader,VK_EXT_mesh_shader)+(VK_EXT_mesh_shader)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02705",
@@ -48431,10 +49841,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDispatch-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDispatch-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -48571,6 +49977,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDispatch-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDispatch-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatch-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatch-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatch-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatch-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDispatch-None-02705",
@@ -48701,10 +50135,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDispatchIndirect-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDispatchIndirect-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -48853,6 +50283,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchIndirect-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDispatchIndirect-None-02705",
@@ -48989,10 +50447,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdDispatchBase-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdDispatchBase-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -49145,6 +50599,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_VERSION_1_1,VK_KHR_device_group)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDispatchBase-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_VERSION_1_1,VK_KHR_device_group)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdDispatchBase-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchBase-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchBase-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchBase-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdDispatchBase-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_VERSION_1_1,VK_KHR_device_group)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdDispatchBase-None-02705",
@@ -49275,10 +50757,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -49407,6 +50885,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_HUAWEI_subpass_shading)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_HUAWEI_subpass_shading)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_HUAWEI_subpass_shading)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-02705",
@@ -49851,10 +51357,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -50051,6 +51553,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_device_generated_commands)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_device_generated_commands)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_device_generated_commands)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-02705",
@@ -57227,10 +58757,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdTraceRaysNV-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdTraceRaysNV-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -57471,6 +58997,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysNV-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdTraceRaysNV-None-02705",
@@ -57587,10 +59141,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdTraceRaysKHR-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdTraceRaysKHR-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -57867,6 +59417,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysKHR-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdTraceRaysKHR-None-02705",
@@ -58063,10 +59641,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -58347,6 +59921,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-02705",
@@ -58489,10 +60091,6 @@
"text": " For each set <em>n</em> that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for set <em>n</em>, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
},
{
- "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-02699",
- "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
- },
- {
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-02700",
"text": " A valid pipeline <strong class=\"purple\">must</strong> be bound to the pipeline bind point used by this command"
},
@@ -58649,6 +60247,34 @@
"text": " If the <a href=\"#features-maintenance4\"><code>maintenance4</code></a> feature is not enabled, then for each push constant that is statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command, a push constant value <strong class=\"purple\">must</strong> have been set for the same pipeline bind point, with a <code>VkPipelineLayout</code> that is compatible for push constants, with the <code>VkPipelineLayout</code> used to create the current <code>VkPipeline</code>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>"
}
],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_maintenance1)+!(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-02699",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid as described by <a href=\"#descriptor-validity\">descriptor validity</a> if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command"
+ }
+ ],
+ "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_maintenance1)+(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08114",
+ "text": " Descriptors in each bound descriptor set, specified via <code>vkCmdBindDescriptorSets</code>, <strong class=\"purple\">must</strong> be valid if they are statically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was not created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08115",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdBindDescriptorSets</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created without <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08116",
+ "text": " Descriptors in bound descriptor buffers, specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, <strong class=\"purple\">must</strong> be valid if they are dynamically used by the <code>VkPipeline</code> bound to the pipeline bind point used by this command and the bound <code>VkPipeline</code> was created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08117",
+ "text": " If the descriptors used by the <code>VkPipeline</code> bound to the pipeline bind point were specified via <code>vkCmdSetDescriptorBufferOffsetsEXT</code>, the bound <code>VkPipeline</code> <strong class=\"purple\">must</strong> have been created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>"
+ },
+ {
+ "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08119",
+ "text": " If a descriptor is dynamically used with a <code>VkPipeline</code> created with <code>VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT</code>, the descriptor memory <strong class=\"purple\">must</strong> be resident."
+ }
+ ],
"(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_maintenance1)+!(VK_EXT_pipeline_robustness)": [
{
"vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-02705",
@@ -61902,6 +63528,14 @@
}
]
},
+ "VkPhysicalDeviceDescriptorBufferFeaturesEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceDescriptorBufferFeaturesEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT</code>"
+ }
+ ]
+ },
"VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT": {
"(VK_EXT_pageable_device_local_memory)": [
{
@@ -62562,6 +64196,22 @@
}
]
},
+ "VkPhysicalDeviceDescriptorBufferPropertiesEXT": {
+ "(VK_EXT_descriptor_buffer)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceDescriptorBufferPropertiesEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT</code>"
+ }
+ ]
+ },
+ "VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT": {
+ "(VK_EXT_descriptor_buffer)+(VK_EXT_fragment_density_map)": [
+ {
+ "vuid": "VUID-VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT-sType-sType",
+ "text": " <code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT</code>"
+ }
+ ]
+ },
"VkPhysicalDeviceSubpassShadingPropertiesHUAWEI": {
"(VK_HUAWEI_subpass_shading)": [
{
@@ -64552,11 +66202,15 @@
},
{
"vuid": "VUID-StandaloneSpirv-MeshEXT-07330",
- "text": " In mesh shaders using the <code>MeshEXT</code> {ExecutionModel} the <code>OutputVertices</code> <code>OpExecutionMode</code> <strong class=\"purple\">must</strong> be greater than 0"
+ "text": " In mesh shaders using the <code>MeshEXT</code> {ExecutionModel} the <code>OutputVertices</code> {ExecutionMode} <strong class=\"purple\">must</strong> be greater than 0"
},
{
"vuid": "VUID-StandaloneSpirv-MeshEXT-07331",
- "text": " In mesh shaders using the <code>MeshEXT</code> {ExecutionModel} the <code>OutputPrimitivesEXT</code> <code>OpExecutionMode</code> <strong class=\"purple\">must</strong> be greater than 0"
+ "text": " In mesh shaders using the <code>MeshEXT</code> {ExecutionModel} the <code>OutputPrimitivesEXT</code> {ExecutionMode} <strong class=\"purple\">must</strong> be greater than 0"
+ },
+ {
+ "vuid": "VUID-StandaloneSpirv-MeshEXT-07728",
+ "text": " In mesh shaders using the <code>MeshEXT</code> or <code>MeshNV</code> {ExecutionModel} and the <code>OutputPoints</code> {ExecutionMode}, a <code>PointSize</code> decorated variable <strong class=\"purple\">must</strong> be written to"
},
{
"vuid": "VUID-StandaloneSpirv-Input-07290",
diff --git a/registry/vk.xml b/registry/vk.xml
index 01cfc01..f961463 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -159,7 +159,7 @@ branch of the member gitlab server.
<type category="define" requires="VK_MAKE_API_VERSION">// Vulkan 1.3 version number
#define <name>VK_API_VERSION_1_3</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, 0)// Patch version should always be set to 0</type>
<type category="define">// Version of this file
-#define <name>VK_HEADER_VERSION</name> 234</type>
+#define <name>VK_HEADER_VERSION</name> 235</type>
<type category="define" requires="VK_HEADER_VERSION">// Complete version of this file
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 3, VK_HEADER_VERSION)</type>
@@ -6676,6 +6676,123 @@ typedef void* <name>MTLSharedEvent_id</name>;
<member optional="true"><type>size_t</type> <name>extraCount</name></member>
<member len="extraCount">const <type>void</type>* const * <name>pExtras</name></member>
</type>
+ <type category="struct" name="VkPhysicalDeviceDescriptorBufferFeaturesEXT" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkBool32</type> <name>descriptorBuffer</name></member>
+ <member><type>VkBool32</type> <name>descriptorBufferCaptureReplay</name></member>
+ <member><type>VkBool32</type> <name>descriptorBufferImageLayoutIgnored</name></member>
+ <member><type>VkBool32</type> <name>descriptorBufferPushDescriptors</name></member>
+ </type>
+ <type category="struct" name="VkPhysicalDeviceDescriptorBufferPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member limittype="noauto"><type>VkBool32</type> <name>combinedImageSamplerDescriptorSingleArray</name></member>
+ <member limittype="noauto"><type>VkBool32</type> <name>bufferlessPushDescriptors</name></member>
+ <member limittype="noauto"><type>VkBool32</type> <name>allowSamplerImageViewPostSubmitCreation</name></member>
+ <member limittype="noauto"><type>VkDeviceSize</type> <name>descriptorBufferOffsetAlignment</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxDescriptorBufferBindings</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxResourceDescriptorBufferBindings</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxSamplerDescriptorBufferBindings</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxEmbeddedImmutableSamplerBindings</name></member>
+ <member limittype="max"><type>uint32_t</type> <name>maxEmbeddedImmutableSamplers</name></member>
+ <member limittype="noauto"><type>size_t</type> <name>bufferCaptureReplayDescriptorDataSize</name></member>
+ <member limittype="noauto"><type>size_t</type> <name>imageCaptureReplayDescriptorDataSize</name></member>
+ <member limittype="noauto"><type>size_t</type> <name>imageViewCaptureReplayDescriptorDataSize</name></member>
+ <member limittype="noauto"><type>size_t</type> <name>samplerCaptureReplayDescriptorDataSize</name></member>
+ <member limittype="noauto"><type>size_t</type> <name>accelerationStructureCaptureReplayDescriptorDataSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>samplerDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>combinedImageSamplerDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>sampledImageDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>storageImageDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>uniformTexelBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>robustUniformTexelBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>storageTexelBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>robustStorageTexelBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>uniformBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>robustUniformBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>storageBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>robustStorageBufferDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>inputAttachmentDescriptorSize</name></member>
+ <member limittype="max"><type>size_t</type> <name>accelerationStructureDescriptorSize</name></member>
+ <member limittype="max"><type>VkDeviceSize</type> <name>maxSamplerDescriptorBufferRange</name></member>
+ <member limittype="max"><type>VkDeviceSize</type> <name>maxResourceDescriptorBufferRange</name></member>
+ <member limittype="max"><type>VkDeviceSize</type> <name>samplerDescriptorBufferAddressSpaceSize</name></member>
+ <member limittype="max"><type>VkDeviceSize</type> <name>resourceDescriptorBufferAddressSpaceSize</name></member>
+ <member limittype="max"><type>VkDeviceSize</type> <name>descriptorBufferAddressSpaceSize</name></member>
+ </type>
+ <type category="struct" name="VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT" returnedonly="true" structextends="VkPhysicalDeviceProperties2">
+ <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member limittype="max"><type>size_t</type> <name>combinedImageSamplerDensityMapDescriptorSize</name></member>
+ </type>
+ <type category="struct" name="VkDescriptorAddressInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkDeviceAddress</type> <name>address</name></member>
+ <member><type>VkDeviceSize</type> <name>range</name></member>
+ <member><type>VkFormat</type> <name>format</name></member>
+ </type>
+ <type category="struct" name="VkDescriptorBufferBindingInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member><type>VkDeviceAddress</type> <name>address</name></member>
+ <member><type>VkBufferUsageFlags</type> <name>usage</name></member>
+ </type>
+ <type category="struct" name="VkDescriptorBufferBindingPushDescriptorBufferHandleEXT" structextends="VkDescriptorBufferBindingInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true"><type>void</type>* <name>pNext</name></member>
+ <member ><type>VkBuffer</type> <name>buffer</name></member>
+ </type>
+ <type category="union" name="VkDescriptorDataEXT">
+ <member selection="VK_DESCRIPTOR_TYPE_SAMPLER">const <type>VkSampler</type>* <name>pSampler</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER">const <type>VkDescriptorImageInfo</type>* <name>pCombinedImageSampler</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT">const <type>VkDescriptorImageInfo</type>* <name>pInputAttachmentImage</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE" optional="true">const <type>VkDescriptorImageInfo</type>* <name>pSampledImage</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_STORAGE_IMAGE" optional="true">const <type>VkDescriptorImageInfo</type>* <name>pStorageImage</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER" optional="true">const <type>VkDescriptorAddressInfoEXT</type>* <name>pUniformTexelBuffer</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER" optional="true">const <type>VkDescriptorAddressInfoEXT</type>* <name>pStorageTexelBuffer</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER" optional="true">const <type>VkDescriptorAddressInfoEXT</type>* <name>pUniformBuffer</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_STORAGE_BUFFER" optional="true">const <type>VkDescriptorAddressInfoEXT</type>* <name>pStorageBuffer</name></member>
+ <member selection="VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR,VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"> <type>VkDeviceAddress</type> <name>accelerationStructure</name></member>
+ </type>
+ <type category="struct" name="VkDescriptorGetInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkDescriptorType</type> <name>type</name></member>
+ <member selector="type" noautovalidity="true"><type>VkDescriptorDataEXT</type> <name>data</name></member>
+ </type>
+ <type category="struct" name="VkBufferCaptureDescriptorDataInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkBuffer</type> <name>buffer</name></member>
+ </type>
+ <type category="struct" name="VkImageCaptureDescriptorDataInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkImage</type> <name>image</name></member>
+ </type>
+ <type category="struct" name="VkImageViewCaptureDescriptorDataInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkImageView</type> <name>imageView</name></member>
+ </type>
+ <type category="struct" name="VkSamplerCaptureDescriptorDataInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member><type>VkSampler</type> <name>sampler</name></member>
+ </type>
+ <type category="struct" name="VkAccelerationStructureCaptureDescriptorDataInfoEXT">
+ <member values="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member optional="true"><type>VkAccelerationStructureKHR</type> <name>accelerationStructure</name></member>
+ <member optional="true"><type>VkAccelerationStructureNV</type> <name>accelerationStructureNV</name></member>
+ </type>
+ <type category="struct" name="VkOpaqueCaptureDescriptorDataCreateInfoEXT" structextends="VkBufferCreateInfo,VkImageCreateInfo,VkImageViewCreateInfo,VkSamplerCreateInfo,VkAccelerationStructureCreateInfoKHR,VkAccelerationStructureCreateInfoNV">
+ <member values="VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT"><type>VkStructureType</type> <name>sType</name></member>
+ <member optional="true">const <type>void</type>* <name>pNext</name></member>
+ <member>const <type>void</type>* <name>opaqueCaptureDescriptorData</name></member>
+ </type>
<type category="struct" name="VkPhysicalDeviceShaderIntegerDotProductFeatures" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
<member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"><type>VkStructureType</type> <name>sType</name></member>
<member optional="true"><type>void</type>* <name>pNext</name></member>
@@ -8731,6 +8848,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="21" name="VK_DRIVER_ID_SAMSUNG_PROPRIETARY" comment="Samsung Electronics Co., Ltd."/>
<enum value="22" name="VK_DRIVER_ID_MESA_VENUS" comment="Mesa open source project"/>
<enum value="23" name="VK_DRIVER_ID_MESA_DOZEN" comment="Mesa open source project"/>
+ <enum value="24" name="VK_DRIVER_ID_MESA_NVK" comment="Mesa open source project"/>
</enums>
<enums name="VkConditionalRenderingFlagBitsEXT" type="bitmask">
<enum bitpos="0" name="VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"/>
@@ -9891,7 +10009,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param optional="true" externsync="true"><type>VkBufferView</type> <name>bufferView</name></param>
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
</command>
- <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_COMPRESSION_EXHAUSTED_EXT">
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_COMPRESSION_EXHAUSTED_EXT,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR">
<proto><type>VkResult</type> <name>vkCreateImage</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkImageCreateInfo</type>* <name>pCreateInfo</name></param>
@@ -9911,7 +10029,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param>const <type>VkImageSubresource</type>* <name>pSubresource</name></param>
<param><type>VkSubresourceLayout</type>* <name>pLayout</name></param>
</command>
- <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR">
<proto><type>VkResult</type> <name>vkCreateImageView</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkImageViewCreateInfo</type>* <name>pCreateInfo</name></param>
@@ -10007,7 +10125,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param optional="true" externsync="true"><type>VkPipelineLayout</type> <name>pipelineLayout</name></param>
<param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
</command>
- <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR">
<proto><type>VkResult</type> <name>vkCreateSampler</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param>const <type>VkSamplerCreateInfo</type>* <name>pCreateInfo</name></param>
@@ -12843,6 +12961,79 @@ typedef void* <name>MTLSharedEvent_id</name>;
<param>const <type>VkCuLaunchInfoNVX</type>* <name>pLaunchInfo</name></param>
</command>
<command>
+ <proto><type>void</type> <name>vkGetDescriptorSetLayoutSizeEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param><type>VkDescriptorSetLayout</type> <name>layout</name></param>
+ <param><type>VkDeviceSize</type>* <name>pLayoutSizeInBytes</name></param>
+ </command>
+ <command>
+ <proto><type>void</type> <name>vkGetDescriptorSetLayoutBindingOffsetEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param><type>VkDescriptorSetLayout</type> <name>layout</name></param>
+ <param><type>uint32_t</type> <name>binding</name></param>
+ <param><type>VkDeviceSize</type>* <name>pOffset</name></param>
+ </command>
+ <command>
+ <proto><type>void</type> <name>vkGetDescriptorEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkDescriptorGetInfoEXT</type>* <name>pDescriptorInfo</name></param>
+ <param><type>size_t</type> <name>dataSize</name></param>
+ <param len="dataSize"><type>void</type>* <name>pDescriptor</name></param>
+ </command>
+ <command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
+ <proto><type>void</type> <name>vkCmdBindDescriptorBuffersEXT</name></proto>
+ <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>uint32_t</type> <name>bufferCount</name></param>
+ <param len="bufferCount">const <type>VkDescriptorBufferBindingInfoEXT</type>* <name>pBindingInfos</name></param>
+ </command>
+ <command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
+ <proto><type>void</type> <name>vkCmdSetDescriptorBufferOffsetsEXT</name></proto>
+ <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkPipelineBindPoint</type> <name>pipelineBindPoint</name></param>
+ <param><type>VkPipelineLayout</type> <name>layout</name></param>
+ <param><type>uint32_t</type> <name>firstSet</name></param>
+ <param><type>uint32_t</type> <name>setCount</name></param>
+ <param len="setCount">const <type>uint32_t</type>* <name>pBufferIndices</name></param>
+ <param len="setCount">const <type>VkDeviceSize</type>* <name>pOffsets</name></param>
+ </command>
+ <command queues="graphics,compute" renderpass="both" cmdbufferlevel="primary,secondary" tasks="state">
+ <proto><type>void</type> <name>vkCmdBindDescriptorBufferEmbeddedSamplersEXT</name></proto>
+ <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
+ <param><type>VkPipelineBindPoint</type> <name>pipelineBindPoint</name></param>
+ <param><type>VkPipelineLayout</type> <name>layout</name></param>
+ <param><type>uint32_t</type> <name>set</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetBufferOpaqueCaptureDescriptorDataEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkBufferCaptureDescriptorDataInfoEXT</type>* <name>pInfo</name></param>
+ <param><type>void</type>* <name>pData</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetImageOpaqueCaptureDescriptorDataEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkImageCaptureDescriptorDataInfoEXT</type>* <name>pInfo</name></param>
+ <param><type>void</type>* <name>pData</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetImageViewOpaqueCaptureDescriptorDataEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkImageViewCaptureDescriptorDataInfoEXT</type>* <name>pInfo</name></param>
+ <param><type>void</type>* <name>pData</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetSamplerOpaqueCaptureDescriptorDataEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkSamplerCaptureDescriptorDataInfoEXT</type>* <name>pInfo</name></param>
+ <param><type>void</type>* <name>pData</name></param>
+ </command>
+ <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+ <proto><type>VkResult</type> <name>vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT</name></proto>
+ <param><type>VkDevice</type> <name>device</name></param>
+ <param>const <type>VkAccelerationStructureCaptureDescriptorDataInfoEXT</type>* <name>pInfo</name></param>
+ <param><type>void</type>* <name>pData</name></param>
+ </command>
+ <command>
<proto><type>void</type> <name>vkSetDeviceMemoryPriorityEXT</name></proto>
<param><type>VkDevice</type> <name>device</name></param>
<param><type>VkDeviceMemory</type> <name>memory</name></param>
@@ -18753,21 +18944,62 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_AMD_extension_316&quot;" name="VK_AMD_EXTENSION_316_EXTENSION_NAME"/>
</require>
</extension>
- <extension name="VK_AMD_extension_317" number="317" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
- <require>
- <enum value="0" name="VK_AMD_EXTENSION_317_SPEC_VERSION"/>
- <enum value="&quot;VK_AMD_extension_317&quot;" name="VK_AMD_EXTENSION_317_EXTENSION_NAME"/>
- <enum bitpos="4" extends="VkDescriptorSetLayoutCreateFlagBits" name="VK_DESCRIPTOR_SET_LAYOUT_CREATE_RESERVED_4_BIT_AMD"/>
- <enum bitpos="5" extends="VkDescriptorSetLayoutCreateFlagBits" name="VK_DESCRIPTOR_SET_LAYOUT_CREATE_RESERVED_5_BIT_AMD"/>
- <enum bitpos="21" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_21_BIT_AMD"/>
- <enum bitpos="22" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESERVED_22_BIT_AMD"/>
- <enum bitpos="5" extends="VkBufferCreateFlagBits" name="VK_BUFFER_CREATE_RESERVED_5_BIT_AMD"/>
- <enum bitpos="16" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_RESERVED_16_BIT_AMD"/>
- <enum bitpos="3" extends="VkSamplerCreateFlagBits" name="VK_SAMPLER_CREATE_RESERVED_3_BIT_AMD"/>
- <enum bitpos="41" extends="VkAccessFlagBits2" name="VK_ACCESS_2_RESERVED_41_BIT_AMD"/>
- <enum bitpos="2" extends="VkImageViewCreateFlagBits" name="VK_IMAGE_VIEW_CREATE_RESERVED_2_BIT_AMD"/>
- <enum bitpos="29" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_RESERVED_29_AMD"/>
- <enum bitpos="3" extends="VkAccelerationStructureCreateFlagBitsKHR" name="VK_ACCELERATION_STRUCTURE_CREATE_RESERVED_3_BIT_AMD"/>
+ <extension name="VK_EXT_descriptor_buffer" number="317" type="device" author="EXT" requires="VK_KHR_get_physical_device_properties2,VK_KHR_buffer_device_address,VK_KHR_synchronization2,VK_EXT_descriptor_indexing" contact="Tobias Hector @tobski" supported="vulkan">
+ <require>
+ <enum value="1" name="VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_descriptor_buffer&quot;" name="VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME"/>
+ <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT"/>
+ <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT"/>
+ <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT"/>
+ <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT"/>
+ <enum offset="4" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT"/>
+ <enum offset="5" extends="VkStructureType" name="VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"/>
+ <enum offset="6" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"/>
+ <enum offset="7" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"/>
+ <enum offset="8" extends="VkStructureType" name="VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"/>
+ <enum offset="10" extends="VkStructureType" name="VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT"/>
+ <enum offset="11" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT"/>
+ <enum offset="12" extends="VkStructureType" name="VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT"/>
+ <enum bitpos="4" extends="VkDescriptorSetLayoutCreateFlagBits" name="VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT"/>
+ <enum bitpos="5" extends="VkDescriptorSetLayoutCreateFlagBits" name="VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT"/>
+ <enum bitpos="21" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT"/>
+ <enum bitpos="22" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT"/>
+ <enum bitpos="26" extends="VkBufferUsageFlagBits" name="VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT"/>
+ <enum bitpos="5" extends="VkBufferCreateFlagBits" name="VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"/>
+ <enum bitpos="16" extends="VkImageCreateFlagBits" name="VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"/>
+ <enum bitpos="2" extends="VkImageViewCreateFlagBits" name="VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"/>
+ <enum bitpos="3" extends="VkSamplerCreateFlagBits" name="VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"/>
+ <enum bitpos="3" extends="VkAccelerationStructureCreateFlagBitsKHR" name="VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"/>
+ <enum bitpos="41" extends="VkAccessFlagBits2" name="VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT"/>
+ <enum bitpos="29" extends="VkPipelineCreateFlagBits" name="VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT"/>
+ <type name="VkPhysicalDeviceDescriptorBufferPropertiesEXT"/>
+ <type name="VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT"/>
+ <type name="VkPhysicalDeviceDescriptorBufferFeaturesEXT"/>
+ <type name="VkDescriptorAddressInfoEXT"/>
+ <type name="VkDescriptorBufferBindingInfoEXT"/>
+ <type name="VkDescriptorBufferBindingPushDescriptorBufferHandleEXT"/>
+ <type name="VkDescriptorDataEXT"/>
+ <type name="VkDescriptorGetInfoEXT"/>
+ <type name="VkBufferCaptureDescriptorDataInfoEXT"/>
+ <type name="VkImageCaptureDescriptorDataInfoEXT"/>
+ <type name="VkImageViewCaptureDescriptorDataInfoEXT"/>
+ <type name="VkSamplerCaptureDescriptorDataInfoEXT"/>
+ <type name="VkOpaqueCaptureDescriptorDataCreateInfoEXT"/>
+ <command name="vkGetDescriptorSetLayoutSizeEXT"/>
+ <command name="vkGetDescriptorSetLayoutBindingOffsetEXT"/>
+ <command name="vkGetDescriptorEXT"/>
+ <command name="vkCmdBindDescriptorBuffersEXT"/>
+ <command name="vkCmdSetDescriptorBufferOffsetsEXT"/>
+ <command name="vkCmdBindDescriptorBufferEmbeddedSamplersEXT"/>
+ <command name="vkGetBufferOpaqueCaptureDescriptorDataEXT"/>
+ <command name="vkGetImageOpaqueCaptureDescriptorDataEXT"/>
+ <command name="vkGetImageViewOpaqueCaptureDescriptorDataEXT"/>
+ <command name="vkGetSamplerOpaqueCaptureDescriptorDataEXT"/>
+ </require>
+ <require extension="VK_KHR_acceleration_structure,VK_NV_ray_tracing">
+ <enum offset="9" extends="VkStructureType" name="VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"/>
+ <type name="VkAccelerationStructureCaptureDescriptorDataInfoEXT"/>
+ <command name="vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT"/>
</require>
</extension>
<extension name="VK_AMD_extension_318" number="318" author="AMD" contact="Martin Dinkov @mdinkov" supported="disabled">
@@ -18886,7 +19118,7 @@ typedef void* <name>MTLSharedEvent_id</name>;
<type name="VkAccelerationStructureMotionInstanceFlagsNV"/>
</require>
</extension>
- <extension name="VK_EXT_mesh_shader" number="329" type="device" requires="VK_KHR_get_physical_device_properties2,VK_KHR_spirv_1_4" author="EXT" sortorder="1" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
+ <extension name="VK_EXT_mesh_shader" number="329" type="device" requiresCore="1.1" requires="VK_KHR_get_physical_device_properties2,VK_KHR_spirv_1_4" author="EXT" sortorder="1" contact="Christoph Kubisch @pixeljetstream" supported="vulkan">
<require>
<enum value="1" name="VK_EXT_MESH_SHADER_SPEC_VERSION"/>
<enum value="&quot;VK_EXT_mesh_shader&quot;" name="VK_EXT_MESH_SHADER_EXTENSION_NAME"/>
@@ -19718,7 +19950,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
<extension name="VK_HUAWEI_extension_405" number="405" author="HUAWEI" contact="Hueilong Wang @wyvernathuawei" supported="disabled">
<require>
<enum value="0" name="VK_HUAWEI_EXTENSION_405_SPEC_VERSION"/>
- <enum value="&quot;VK_HUAWEI_extension_405&quot;" name="VK_HUAWEI_EXTENSION_405_EXTENSION_NAME"/>
+ <enum value="&quot;VK_HUAWEI_extension_405&quot;" name="VK_HUAWEI_EXTENSION_405_EXTENSION_NAME"/>
+ <enum bitpos="41" extends="VkPipelineStageFlagBits2" name="VK_PIPELINE_STAGE_2_RESEVED_41_BIT_HUAWEI"/>
+ <enum bitpos="19" extends="VkShaderStageFlagBits" name="VK_SHADER_STAGE_RESERVED_19_BIT_HUAWEI"/>
</require>
</extension>
<extension name="VK_HUAWEI_extension_406" number="406" author="HUAWEI" contact="Hueilong Wang @wyvernathuawei" supported="disabled">
@@ -20561,6 +20795,30 @@ typedef void* <name>MTLSharedEvent_id</name>;
<enum value="&quot;VK_EXT_extension_500&quot;" name="VK_EXT_EXTENSION_500_EXTENSION_NAME"/>
</require>
</extension>
+ <extension name="VK_EXT_extension_501" number="501" author="SEC" contact="Chris Hambacher @chambacher" type="device" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_501_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_501&quot;" name="VK_EXT_EXTENSION_501_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_EXT_extension_502" number="502" author="HUAWEI" contact="Pan Gao @PanGao-h" type="device" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_502_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_502&quot;" name="VK_EXT_EXTENSION_502_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_EXT_extension_503" number="503" author="HUAWEI" contact="Pan Gao @PanGao-h" type="device" supported="disabled">
+ <require>
+ <enum value="0" name="VK_EXT_EXTENSION_503_SPEC_VERSION"/>
+ <enum value="&quot;VK_EXT_extension_503&quot;" name="VK_EXT_EXTENSION_503_EXTENSION_NAME"/>
+ </require>
+ </extension>
+ <extension name="VK_NV_extension_504" number="504" author="NV" contact="Piers Daniell @pdaniell-nv" type="instance" supported="disabled">
+ <require>
+ <enum value="0" name="VK_NV_EXTENSION_504_SPEC_VERSION"/>
+ <enum value="&quot;VK_NV_extension_504&quot;" name="VK_NV_EXTENSION_504_EXTENSION_NAME"/>
+ </require>
+ </extension>
</extensions>
<formats>
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">