Update for Vulkan-Docs 1.4.326

This commit is contained in:
Jon Leech 2025-08-29 20:32:05 +01:00 committed by Jon Leech
parent be73614e1d
commit d1cd37e925
18 changed files with 854 additions and 830 deletions

View file

@ -5063,7 +5063,6 @@ export namespace VULKAN_HPP_NAMESPACE
#if defined( VK_USE_PLATFORM_OHOS ) #if defined( VK_USE_PLATFORM_OHOS )
//=== VK_OHOS_surface === //=== VK_OHOS_surface ===
using VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS;
using VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS; using VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS;
#endif /*VK_USE_PLATFORM_OHOS*/ #endif /*VK_USE_PLATFORM_OHOS*/
@ -9023,7 +9022,7 @@ export namespace std
#if defined( VK_USE_PLATFORM_OHOS ) #if defined( VK_USE_PLATFORM_OHOS )
//=== VK_OHOS_surface === //=== VK_OHOS_surface ===
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS>; struct hash<VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS>;
#endif /*VK_USE_PLATFORM_OHOS*/ #endif /*VK_USE_PLATFORM_OHOS*/
//=== VK_HUAWEI_hdr_vivid === //=== VK_HUAWEI_hdr_vivid ===

View file

@ -56,7 +56,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
# endif # endif
#endif #endif
static_assert( VK_HEADER_VERSION == 325, "Wrong VK_HEADER_VERSION!" ); static_assert( VK_HEADER_VERSION == 326, "Wrong VK_HEADER_VERSION!" );
// <tuple> includes <sys/sysmacros.h> through some other header // <tuple> includes <sys/sysmacros.h> through some other header
// this results in major(x) being resolved to gnu_dev_major(x) // this results in major(x) being resolved to gnu_dev_major(x)
@ -9433,7 +9433,7 @@ namespace VULKAN_HPP_NAMESPACE
}; };
template <> template <>
struct StructExtends<ShaderModuleCreateInfo, DataGraphPipelineShaderModuleCreateInfoARM> struct StructExtends<ShaderModuleCreateInfo, DataGraphPipelineCreateInfoARM>
{ {
enum enum
{ {

View file

@ -69,7 +69,7 @@ extern "C" {
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file // Version of this file
#define VK_HEADER_VERSION 325 #define VK_HEADER_VERSION 326
// Complete version of this file // Complete version of this file
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
@ -1305,7 +1305,7 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586001, VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586001,
VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002, VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002,
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003, VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003,
VK_STRUCTURE_TYPE_OH_SURFACE_CREATE_INFO_OHOS = 1000587000, VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS = 1000685000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000,
VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000,
@ -18131,7 +18131,7 @@ typedef struct VkDeviceDiagnosticsConfigCreateInfoNV {
// VK_QCOM_tile_shading is a preprocessor guard. Do not pass it to API calls. // VK_QCOM_tile_shading is a preprocessor guard. Do not pass it to API calls.
#define VK_QCOM_tile_shading 1 #define VK_QCOM_tile_shading 1
#define VK_QCOM_TILE_SHADING_SPEC_VERSION 1 #define VK_QCOM_TILE_SHADING_SPEC_VERSION 2
#define VK_QCOM_TILE_SHADING_EXTENSION_NAME "VK_QCOM_tile_shading" #define VK_QCOM_TILE_SHADING_EXTENSION_NAME "VK_QCOM_tile_shading"
typedef enum VkTileShadingRenderPassFlagBitsQCOM { typedef enum VkTileShadingRenderPassFlagBitsQCOM {

View file

@ -1665,7 +1665,7 @@ namespace VULKAN_HPP_NAMESPACE
eVideoDecodeH265InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR, eVideoDecodeH265InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR,
eVideoDecodeAv1InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR, eVideoDecodeAv1InlineSessionParametersInfoKHR = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR,
#if defined( VK_USE_PLATFORM_OHOS ) #if defined( VK_USE_PLATFORM_OHOS )
eOhSurfaceCreateInfoOHOS = VK_STRUCTURE_TYPE_OH_SURFACE_CREATE_INFO_OHOS, eSurfaceCreateInfoOHOS = VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS,
#endif /*VK_USE_PLATFORM_OHOS*/ #endif /*VK_USE_PLATFORM_OHOS*/
ePhysicalDeviceHdrVividFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI, ePhysicalDeviceHdrVividFeaturesHUAWEI = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI,
eHdrVividDynamicMetadataHUAWEI = VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI, eHdrVividDynamicMetadataHUAWEI = VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI,

View file

@ -2132,8 +2132,7 @@ namespace VULKAN_HPP_NAMESPACE
#if defined( VK_USE_PLATFORM_OHOS ) #if defined( VK_USE_PLATFORM_OHOS )
//=== VK_OHOS_surface === //=== VK_OHOS_surface ===
struct OHSurfaceCreateInfoOHOS; struct SurfaceCreateInfoOHOS;
using SurfaceCreateInfoOHOS = OHSurfaceCreateInfoOHOS;
#endif /*VK_USE_PLATFORM_OHOS*/ #endif /*VK_USE_PLATFORM_OHOS*/
//=== VK_HUAWEI_hdr_vivid === //=== VK_HUAWEI_hdr_vivid ===
@ -2917,10 +2916,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_surfaceKHR == VK_NULL_HANDLE; return m_surfaceKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( SurfaceKHR const & ) const = default;
#endif
private: private:
VkSurfaceKHR m_surfaceKHR = {}; VkSurfaceKHR m_surfaceKHR = {};
}; };
@ -3016,10 +3011,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_debugReportCallbackEXT == VK_NULL_HANDLE; return m_debugReportCallbackEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DebugReportCallbackEXT const & ) const = default;
#endif
private: private:
VkDebugReportCallbackEXT m_debugReportCallbackEXT = {}; VkDebugReportCallbackEXT m_debugReportCallbackEXT = {};
}; };
@ -3115,10 +3106,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_debugUtilsMessengerEXT == VK_NULL_HANDLE; return m_debugUtilsMessengerEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DebugUtilsMessengerEXT const & ) const = default;
#endif
private: private:
VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {}; VkDebugUtilsMessengerEXT m_debugUtilsMessengerEXT = {};
}; };
@ -3205,10 +3192,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_displayKHR == VK_NULL_HANDLE; return m_displayKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DisplayKHR const & ) const = default;
#endif
private: private:
VkDisplayKHR m_displayKHR = {}; VkDisplayKHR m_displayKHR = {};
}; };
@ -3301,10 +3284,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_swapchainKHR == VK_NULL_HANDLE; return m_swapchainKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( SwapchainKHR const & ) const = default;
#endif
private: private:
VkSwapchainKHR m_swapchainKHR = {}; VkSwapchainKHR m_swapchainKHR = {};
}; };
@ -3397,10 +3376,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_semaphore == VK_NULL_HANDLE; return m_semaphore == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Semaphore const & ) const = default;
#endif
private: private:
VkSemaphore m_semaphore = {}; VkSemaphore m_semaphore = {};
}; };
@ -3493,10 +3468,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_fence == VK_NULL_HANDLE; return m_fence == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Fence const & ) const = default;
#endif
private: private:
VkFence m_fence = {}; VkFence m_fence = {};
}; };
@ -3596,10 +3567,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_performanceConfigurationINTEL == VK_NULL_HANDLE; return m_performanceConfigurationINTEL == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PerformanceConfigurationINTEL const & ) const = default;
#endif
private: private:
VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {}; VkPerformanceConfigurationINTEL m_performanceConfigurationINTEL = {};
}; };
@ -3686,10 +3653,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_queryPool == VK_NULL_HANDLE; return m_queryPool == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( QueryPool const & ) const = default;
#endif
private: private:
VkQueryPool m_queryPool = {}; VkQueryPool m_queryPool = {};
}; };
@ -3782,10 +3745,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_buffer == VK_NULL_HANDLE; return m_buffer == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Buffer const & ) const = default;
#endif
private: private:
VkBuffer m_buffer = {}; VkBuffer m_buffer = {};
}; };
@ -3878,10 +3837,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_pipelineLayout == VK_NULL_HANDLE; return m_pipelineLayout == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PipelineLayout const & ) const = default;
#endif
private: private:
VkPipelineLayout m_pipelineLayout = {}; VkPipelineLayout m_pipelineLayout = {};
}; };
@ -3974,10 +3929,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_descriptorSet == VK_NULL_HANDLE; return m_descriptorSet == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DescriptorSet const & ) const = default;
#endif
private: private:
VkDescriptorSet m_descriptorSet = {}; VkDescriptorSet m_descriptorSet = {};
}; };
@ -4070,10 +4021,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_imageView == VK_NULL_HANDLE; return m_imageView == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( ImageView const & ) const = default;
#endif
private: private:
VkImageView m_imageView = {}; VkImageView m_imageView = {};
}; };
@ -4166,10 +4113,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_pipeline == VK_NULL_HANDLE; return m_pipeline == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Pipeline const & ) const = default;
#endif
private: private:
VkPipeline m_pipeline = {}; VkPipeline m_pipeline = {};
}; };
@ -4262,10 +4205,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_shaderEXT == VK_NULL_HANDLE; return m_shaderEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( ShaderEXT const & ) const = default;
#endif
private: private:
VkShaderEXT m_shaderEXT = {}; VkShaderEXT m_shaderEXT = {};
}; };
@ -4352,10 +4291,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_image == VK_NULL_HANDLE; return m_image == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Image const & ) const = default;
#endif
private: private:
VkImage m_image = {}; VkImage m_image = {};
}; };
@ -4453,10 +4388,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_accelerationStructureNV == VK_NULL_HANDLE; return m_accelerationStructureNV == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( AccelerationStructureNV const & ) const = default;
#endif
private: private:
VkAccelerationStructureNV m_accelerationStructureNV = {}; VkAccelerationStructureNV m_accelerationStructureNV = {};
}; };
@ -4555,10 +4486,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_dataGraphPipelineSessionARM == VK_NULL_HANDLE; return m_dataGraphPipelineSessionARM == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DataGraphPipelineSessionARM const & ) const = default;
#endif
private: private:
VkDataGraphPipelineSessionARM m_dataGraphPipelineSessionARM = {}; VkDataGraphPipelineSessionARM m_dataGraphPipelineSessionARM = {};
}; };
@ -4648,10 +4575,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_opticalFlowSessionNV == VK_NULL_HANDLE; return m_opticalFlowSessionNV == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( OpticalFlowSessionNV const & ) const = default;
#endif
private: private:
VkOpticalFlowSessionNV m_opticalFlowSessionNV = {}; VkOpticalFlowSessionNV m_opticalFlowSessionNV = {};
}; };
@ -4744,10 +4667,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_descriptorUpdateTemplate == VK_NULL_HANDLE; return m_descriptorUpdateTemplate == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DescriptorUpdateTemplate const & ) const = default;
#endif
private: private:
VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {}; VkDescriptorUpdateTemplate m_descriptorUpdateTemplate = {};
}; };
@ -4842,10 +4761,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_event == VK_NULL_HANDLE; return m_event == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Event const & ) const = default;
#endif
private: private:
VkEvent m_event = {}; VkEvent m_event = {};
}; };
@ -4944,10 +4859,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_accelerationStructureKHR == VK_NULL_HANDLE; return m_accelerationStructureKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( AccelerationStructureKHR const & ) const = default;
#endif
private: private:
VkAccelerationStructureKHR m_accelerationStructureKHR = {}; VkAccelerationStructureKHR m_accelerationStructureKHR = {};
}; };
@ -5040,10 +4951,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_micromapEXT == VK_NULL_HANDLE; return m_micromapEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( MicromapEXT const & ) const = default;
#endif
private: private:
VkMicromapEXT m_micromapEXT = {}; VkMicromapEXT m_micromapEXT = {};
}; };
@ -8140,10 +8047,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_commandBuffer == VK_NULL_HANDLE; return m_commandBuffer == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CommandBuffer const & ) const = default;
#endif
private: private:
VkCommandBuffer m_commandBuffer = {}; VkCommandBuffer m_commandBuffer = {};
}; };
@ -8236,10 +8139,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_deviceMemory == VK_NULL_HANDLE; return m_deviceMemory == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DeviceMemory const & ) const = default;
#endif
private: private:
VkDeviceMemory m_deviceMemory = {}; VkDeviceMemory m_deviceMemory = {};
}; };
@ -8332,10 +8231,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_videoSessionKHR == VK_NULL_HANDLE; return m_videoSessionKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( VideoSessionKHR const & ) const = default;
#endif
private: private:
VkVideoSessionKHR m_videoSessionKHR = {}; VkVideoSessionKHR m_videoSessionKHR = {};
}; };
@ -8425,10 +8320,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_deferredOperationKHR == VK_NULL_HANDLE; return m_deferredOperationKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DeferredOperationKHR const & ) const = default;
#endif
private: private:
VkDeferredOperationKHR m_deferredOperationKHR = {}; VkDeferredOperationKHR m_deferredOperationKHR = {};
}; };
@ -8521,10 +8412,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_bufferCollectionFUCHSIA == VK_NULL_HANDLE; return m_bufferCollectionFUCHSIA == VK_NULL_HANDLE;
} }
# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( BufferCollectionFUCHSIA const & ) const = default;
# endif
private: private:
VkBufferCollectionFUCHSIA m_bufferCollectionFUCHSIA = {}; VkBufferCollectionFUCHSIA m_bufferCollectionFUCHSIA = {};
}; };
@ -8618,10 +8505,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_bufferView == VK_NULL_HANDLE; return m_bufferView == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( BufferView const & ) const = default;
#endif
private: private:
VkBufferView m_bufferView = {}; VkBufferView m_bufferView = {};
}; };
@ -8714,10 +8597,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_commandPool == VK_NULL_HANDLE; return m_commandPool == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CommandPool const & ) const = default;
#endif
private: private:
VkCommandPool m_commandPool = {}; VkCommandPool m_commandPool = {};
}; };
@ -8810,10 +8689,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_pipelineCache == VK_NULL_HANDLE; return m_pipelineCache == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PipelineCache const & ) const = default;
#endif
private: private:
VkPipelineCache m_pipelineCache = {}; VkPipelineCache m_pipelineCache = {};
}; };
@ -8906,10 +8781,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_cuFunctionNVX == VK_NULL_HANDLE; return m_cuFunctionNVX == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CuFunctionNVX const & ) const = default;
#endif
private: private:
VkCuFunctionNVX m_cuFunctionNVX = {}; VkCuFunctionNVX m_cuFunctionNVX = {};
}; };
@ -9002,10 +8873,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_cuModuleNVX == VK_NULL_HANDLE; return m_cuModuleNVX == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CuModuleNVX const & ) const = default;
#endif
private: private:
VkCuModuleNVX m_cuModuleNVX = {}; VkCuModuleNVX m_cuModuleNVX = {};
}; };
@ -9099,10 +8966,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_cudaFunctionNV == VK_NULL_HANDLE; return m_cudaFunctionNV == VK_NULL_HANDLE;
} }
# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CudaFunctionNV const & ) const = default;
# endif
private: private:
VkCudaFunctionNV m_cudaFunctionNV = {}; VkCudaFunctionNV m_cudaFunctionNV = {};
}; };
@ -9197,10 +9060,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_cudaModuleNV == VK_NULL_HANDLE; return m_cudaModuleNV == VK_NULL_HANDLE;
} }
# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( CudaModuleNV const & ) const = default;
# endif
private: private:
VkCudaModuleNV m_cudaModuleNV = {}; VkCudaModuleNV m_cudaModuleNV = {};
}; };
@ -9294,10 +9153,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_descriptorPool == VK_NULL_HANDLE; return m_descriptorPool == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DescriptorPool const & ) const = default;
#endif
private: private:
VkDescriptorPool m_descriptorPool = {}; VkDescriptorPool m_descriptorPool = {};
}; };
@ -9393,10 +9248,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_descriptorSetLayout == VK_NULL_HANDLE; return m_descriptorSetLayout == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DescriptorSetLayout const & ) const = default;
#endif
private: private:
VkDescriptorSetLayout m_descriptorSetLayout = {}; VkDescriptorSetLayout m_descriptorSetLayout = {};
}; };
@ -9502,10 +9353,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_externalComputeQueueNV == VK_NULL_HANDLE; return m_externalComputeQueueNV == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( ExternalComputeQueueNV const & ) const = default;
#endif
private: private:
VkExternalComputeQueueNV m_externalComputeQueueNV = {}; VkExternalComputeQueueNV m_externalComputeQueueNV = {};
}; };
@ -9592,10 +9439,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_framebuffer == VK_NULL_HANDLE; return m_framebuffer == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Framebuffer const & ) const = default;
#endif
private: private:
VkFramebuffer m_framebuffer = {}; VkFramebuffer m_framebuffer = {};
}; };
@ -9694,10 +9537,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_indirectCommandsLayoutEXT == VK_NULL_HANDLE; return m_indirectCommandsLayoutEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( IndirectCommandsLayoutEXT const & ) const = default;
#endif
private: private:
VkIndirectCommandsLayoutEXT m_indirectCommandsLayoutEXT = {}; VkIndirectCommandsLayoutEXT m_indirectCommandsLayoutEXT = {};
}; };
@ -9790,10 +9629,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_indirectCommandsLayoutNV == VK_NULL_HANDLE; return m_indirectCommandsLayoutNV == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( IndirectCommandsLayoutNV const & ) const = default;
#endif
private: private:
VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {}; VkIndirectCommandsLayoutNV m_indirectCommandsLayoutNV = {};
}; };
@ -9885,10 +9720,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_indirectExecutionSetEXT == VK_NULL_HANDLE; return m_indirectExecutionSetEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( IndirectExecutionSetEXT const & ) const = default;
#endif
private: private:
VkIndirectExecutionSetEXT m_indirectExecutionSetEXT = {}; VkIndirectExecutionSetEXT m_indirectExecutionSetEXT = {};
}; };
@ -9975,10 +9806,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_privateDataSlot == VK_NULL_HANDLE; return m_privateDataSlot == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PrivateDataSlot const & ) const = default;
#endif
private: private:
VkPrivateDataSlot m_privateDataSlot = {}; VkPrivateDataSlot m_privateDataSlot = {};
}; };
@ -10067,10 +9894,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_renderPass == VK_NULL_HANDLE; return m_renderPass == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( RenderPass const & ) const = default;
#endif
private: private:
VkRenderPass m_renderPass = {}; VkRenderPass m_renderPass = {};
}; };
@ -10163,10 +9986,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_sampler == VK_NULL_HANDLE; return m_sampler == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Sampler const & ) const = default;
#endif
private: private:
VkSampler m_sampler = {}; VkSampler m_sampler = {};
}; };
@ -10262,10 +10081,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_samplerYcbcrConversion == VK_NULL_HANDLE; return m_samplerYcbcrConversion == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( SamplerYcbcrConversion const & ) const = default;
#endif
private: private:
VkSamplerYcbcrConversion m_samplerYcbcrConversion = {}; VkSamplerYcbcrConversion m_samplerYcbcrConversion = {};
}; };
@ -10360,10 +10175,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_shaderModule == VK_NULL_HANDLE; return m_shaderModule == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( ShaderModule const & ) const = default;
#endif
private: private:
VkShaderModule m_shaderModule = {}; VkShaderModule m_shaderModule = {};
}; };
@ -10456,10 +10267,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_tensorARM == VK_NULL_HANDLE; return m_tensorARM == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( TensorARM const & ) const = default;
#endif
private: private:
VkTensorARM m_tensorARM = {}; VkTensorARM m_tensorARM = {};
}; };
@ -10546,10 +10353,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_tensorViewARM == VK_NULL_HANDLE; return m_tensorViewARM == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( TensorViewARM const & ) const = default;
#endif
private: private:
VkTensorViewARM m_tensorViewARM = {}; VkTensorViewARM m_tensorViewARM = {};
}; };
@ -10638,10 +10441,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_validationCacheEXT == VK_NULL_HANDLE; return m_validationCacheEXT == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( ValidationCacheEXT const & ) const = default;
#endif
private: private:
VkValidationCacheEXT m_validationCacheEXT = {}; VkValidationCacheEXT m_validationCacheEXT = {};
}; };
@ -10740,10 +10539,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_videoSessionParametersKHR == VK_NULL_HANDLE; return m_videoSessionParametersKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( VideoSessionParametersKHR const & ) const = default;
#endif
private: private:
VkVideoSessionParametersKHR m_videoSessionParametersKHR = {}; VkVideoSessionParametersKHR m_videoSessionParametersKHR = {};
}; };
@ -10830,10 +10625,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_pipelineBinaryKHR == VK_NULL_HANDLE; return m_pipelineBinaryKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PipelineBinaryKHR const & ) const = default;
#endif
private: private:
VkPipelineBinaryKHR m_pipelineBinaryKHR = {}; VkPipelineBinaryKHR m_pipelineBinaryKHR = {};
}; };
@ -11107,10 +10898,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_queue == VK_NULL_HANDLE; return m_queue == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Queue const & ) const = default;
#endif
private: private:
VkQueue m_queue = {}; VkQueue m_queue = {};
}; };
@ -18361,10 +18148,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_device == VK_NULL_HANDLE; return m_device == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Device const & ) const = default;
#endif
private: private:
VkDevice m_device = {}; VkDevice m_device = {};
}; };
@ -18457,10 +18240,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_displayModeKHR == VK_NULL_HANDLE; return m_displayModeKHR == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( DisplayModeKHR const & ) const = default;
#endif
private: private:
VkDisplayModeKHR m_displayModeKHR = {}; VkDisplayModeKHR m_displayModeKHR = {};
}; };
@ -20420,10 +20199,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_physicalDevice == VK_NULL_HANDLE; return m_physicalDevice == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( PhysicalDevice const & ) const = default;
#endif
private: private:
VkPhysicalDevice m_physicalDevice = {}; VkPhysicalDevice m_physicalDevice = {};
}; };
@ -21232,10 +21007,6 @@ namespace VULKAN_HPP_NAMESPACE
return m_instance == VK_NULL_HANDLE; return m_instance == VK_NULL_HANDLE;
} }
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( Instance const & ) const = default;
#endif
private: private:
VkInstance m_instance = {}; VkInstance m_instance = {};
}; };
@ -21354,7 +21125,6 @@ namespace VULKAN_HPP_NAMESPACE
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
// operators to compare VULKAN_HPP_NAMESPACE::-handles // operators to compare VULKAN_HPP_NAMESPACE::-handles
#if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0> template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
bool operator==( T const & lhs, T const & rhs ) bool operator==( T const & lhs, T const & rhs )
{ {
@ -21390,7 +21160,6 @@ namespace VULKAN_HPP_NAMESPACE
{ {
return static_cast<typename T::NativeType>( lhs ) >= static_cast<typename T::NativeType>( rhs ); return static_cast<typename T::NativeType>( lhs ) >= static_cast<typename T::NativeType>( rhs );
} }
#endif
template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0> template <typename T, typename std::enable_if<isVulkanHandleType<T>::value, int>::type = 0>
bool operator==( T const & v, std::nullptr_t ) bool operator==( T const & v, std::nullptr_t )

View file

@ -8381,22 +8381,6 @@ namespace std
} }
}; };
# if defined( VK_USE_PLATFORM_OHOS )
template <>
struct hash<VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS const & oHSurfaceCreateInfoOHOS ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, oHSurfaceCreateInfoOHOS.sType );
VULKAN_HPP_HASH_COMBINE( seed, oHSurfaceCreateInfoOHOS.pNext );
VULKAN_HPP_HASH_COMBINE( seed, oHSurfaceCreateInfoOHOS.flags );
VULKAN_HPP_HASH_COMBINE( seed, oHSurfaceCreateInfoOHOS.window );
return seed;
}
};
# endif /*VK_USE_PLATFORM_OHOS*/
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT> struct hash<VULKAN_HPP_NAMESPACE::OpaqueCaptureDescriptorDataCreateInfoEXT>
{ {
@ -17729,6 +17713,22 @@ namespace std
} }
}; };
# if defined( VK_USE_PLATFORM_OHOS )
template <>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS>
{
std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS const & surfaceCreateInfoOHOS ) const VULKAN_HPP_NOEXCEPT
{
std::size_t seed = 0;
VULKAN_HPP_HASH_COMBINE( seed, surfaceCreateInfoOHOS.sType );
VULKAN_HPP_HASH_COMBINE( seed, surfaceCreateInfoOHOS.pNext );
VULKAN_HPP_HASH_COMBINE( seed, surfaceCreateInfoOHOS.flags );
VULKAN_HPP_HASH_COMBINE( seed, surfaceCreateInfoOHOS.window );
return seed;
}
};
# endif /*VK_USE_PLATFORM_OHOS*/
template <> template <>
struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR> struct hash<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>
{ {

View file

@ -274,6 +274,21 @@ namespace VULKAN_HPP_NAMESPACE
} // namespace detail } // namespace detail
} // namespace VULKAN_HPP_NAMESPACE } // namespace VULKAN_HPP_NAMESPACE
#if !defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE )
# define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE VULKAN_HPP_NAMESPACE::detail::DispatchLoaderDynamic
#endif
#if !defined( VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE )
# define VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE VULKAN_HPP_NAMESPACE::detail::DispatchLoaderStatic
#endif
#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER_TYPE )
# if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
# define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE
# else
# define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE
# endif
#endif
#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER ) #if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
# if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 # if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
# define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::detail::defaultDispatchLoaderDynamic # define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::detail::defaultDispatchLoaderDynamic
@ -291,14 +306,6 @@ namespace VULKAN_HPP_NAMESPACE
# endif # endif
#endif #endif
#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER_TYPE )
# if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
# define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::detail::DispatchLoaderDynamic
# else
# define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::detail::DispatchLoaderStatic
# endif
#endif
#if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER ) #if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER )
# define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT # define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT
# define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT # define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT

View file

@ -25,14 +25,12 @@ typedef struct NativeWindow OHNativeWindow;
#define VK_OHOS_SURFACE_SPEC_VERSION 1 #define VK_OHOS_SURFACE_SPEC_VERSION 1
#define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface" #define VK_OHOS_SURFACE_EXTENSION_NAME "VK_OHOS_surface"
typedef VkFlags VkSurfaceCreateFlagsOHOS; typedef VkFlags VkSurfaceCreateFlagsOHOS;
typedef struct VkOHSurfaceCreateInfoOHOS { typedef struct VkSurfaceCreateInfoOHOS {
VkStructureType sType; VkStructureType sType;
const void* pNext; const void* pNext;
VkSurfaceCreateFlagsOHOS flags; VkSurfaceCreateFlagsOHOS flags;
OHNativeWindow* window; OHNativeWindow* window;
} VkOHSurfaceCreateInfoOHOS; } VkSurfaceCreateInfoOHOS;
typedef VkOHSurfaceCreateInfoOHOS VkSurfaceCreateInfoOHOS;
typedef VkResult (VKAPI_PTR *PFN_vkCreateSurfaceOHOS)(VkInstance instance, const VkSurfaceCreateInfoOHOS* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); typedef VkResult (VKAPI_PTR *PFN_vkCreateSurfaceOHOS)(VkInstance instance, const VkSurfaceCreateInfoOHOS* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);

View file

@ -3597,6 +3597,11 @@ namespace VULKAN_HPP_NAMESPACE
template <typename X, typename Y, typename... Z> template <typename X, typename Y, typename... Z>
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2( Format format ) const VULKAN_HPP_NOEXCEPT; VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2( Format format ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html
VULKAN_HPP_NODISCARD Result getImageFormatProperties2( const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html
VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties2>::type VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties2>::type
@ -3729,6 +3734,11 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_KHR_video_queue === //=== VK_KHR_video_queue ===
// wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html
VULKAN_HPP_NODISCARD Result getVideoCapabilitiesKHR( const VideoProfileInfoKHR * pVideoProfile,
VideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<VideoCapabilitiesKHR>::type getVideoCapabilitiesKHR( const VideoProfileInfoKHR & videoProfile ) const; VULKAN_HPP_NODISCARD typename ResultValueType<VideoCapabilitiesKHR>::type getVideoCapabilitiesKHR( const VideoProfileInfoKHR & videoProfile ) const;
@ -3790,6 +3800,11 @@ namespace VULKAN_HPP_NAMESPACE
template <typename X, typename Y, typename... Z> template <typename X, typename Y, typename... Z>
VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2KHR( Format format ) const VULKAN_HPP_NOEXCEPT; VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...> getFormatProperties2KHR( Format format ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html
VULKAN_HPP_NODISCARD Result getImageFormatProperties2KHR( const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties2>::type VULKAN_HPP_NODISCARD typename ResultValueType<ImageFormatProperties2>::type
@ -3876,6 +3891,11 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_KHR_get_surface_capabilities2 === //=== VK_KHR_get_surface_capabilities2 ===
// wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html
VULKAN_HPP_NODISCARD Result getSurfaceCapabilities2KHR( const PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
SurfaceCapabilities2KHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceCapabilities2KHR>::type VULKAN_HPP_NODISCARD typename ResultValueType<SurfaceCapabilities2KHR>::type
@ -3970,6 +3990,12 @@ namespace VULKAN_HPP_NAMESPACE
//=== VK_KHR_video_encode_queue === //=== VK_KHR_video_encode_queue ===
// wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html
VULKAN_HPP_NODISCARD Result
getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html
VULKAN_HPP_NODISCARD typename ResultValueType<VideoEncodeQualityLevelPropertiesKHR>::type VULKAN_HPP_NODISCARD typename ResultValueType<VideoEncodeQualityLevelPropertiesKHR>::type
@ -4706,6 +4732,11 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VK_USE_PLATFORM_ANDROID_KHR ) # if defined( VK_USE_PLATFORM_ANDROID_KHR )
//=== VK_ANDROID_external_memory_android_hardware_buffer === //=== VK_ANDROID_external_memory_android_hardware_buffer ===
// wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html
VULKAN_HPP_NODISCARD Result getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer * buffer,
AndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html
VULKAN_HPP_NODISCARD typename ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type VULKAN_HPP_NODISCARD typename ResultValueType<AndroidHardwareBufferPropertiesANDROID>::type
@ -5501,6 +5532,11 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VK_USE_PLATFORM_SCREEN_QNX ) # if defined( VK_USE_PLATFORM_SCREEN_QNX )
//=== VK_QNX_external_memory_screen_buffer === //=== VK_QNX_external_memory_screen_buffer ===
// wrapper function for command vkGetScreenBufferPropertiesQNX, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html
VULKAN_HPP_NODISCARD Result getScreenBufferPropertiesQNX( const struct _screen_buffer * buffer,
ScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT;
// wrapper function for command vkGetScreenBufferPropertiesQNX, see // wrapper function for command vkGetScreenBufferPropertiesQNX, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html
VULKAN_HPP_NODISCARD typename ResultValueType<ScreenBufferPropertiesQNX>::type getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer ) const; VULKAN_HPP_NODISCARD typename ResultValueType<ScreenBufferPropertiesQNX>::type getScreenBufferPropertiesQNX( const struct _screen_buffer & buffer ) const;
@ -16824,6 +16860,19 @@ namespace VULKAN_HPP_NAMESPACE
return structureChain; return structureChain;
} }
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2(
const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2 &&
"Function <vkGetPhysicalDeviceImageFormatProperties2> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" );
return static_cast<Result>(
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2( static_cast<VkPhysicalDevice>( m_physicalDevice ),
reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ),
reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) );
}
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties2>::type VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties2>::type
@ -18782,6 +18831,17 @@ namespace VULKAN_HPP_NAMESPACE
} }
//=== VK_KHR_video_queue === //=== VK_KHR_video_queue ===
// wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getVideoCapabilitiesKHR( const VideoProfileInfoKHR * pVideoProfile,
VideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR &&
"Function <vkGetPhysicalDeviceVideoCapabilitiesKHR> requires <VK_KHR_video_queue>" );
return static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR( static_cast<VkPhysicalDevice>( m_physicalDevice ),
reinterpret_cast<const VkVideoProfileInfoKHR *>( pVideoProfile ),
reinterpret_cast<VkVideoCapabilitiesKHR *>( pCapabilities ) ) );
}
// wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see // wrapper function for command vkGetPhysicalDeviceVideoCapabilitiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoCapabilitiesKHR.html
@ -19500,6 +19560,19 @@ namespace VULKAN_HPP_NAMESPACE
return structureChain; return structureChain;
} }
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getImageFormatProperties2KHR(
const PhysicalDeviceImageFormatInfo2 * pImageFormatInfo, ImageFormatProperties2 * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR &&
"Function <vkGetPhysicalDeviceImageFormatProperties2KHR> requires <VK_KHR_get_physical_device_properties2> or <VK_VERSION_1_1>" );
return static_cast<Result>(
getDispatcher()->vkGetPhysicalDeviceImageFormatProperties2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ),
reinterpret_cast<const VkPhysicalDeviceImageFormatInfo2 *>( pImageFormatInfo ),
reinterpret_cast<VkImageFormatProperties2 *>( pImageFormatProperties ) ) );
}
// wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see // wrapper function for command vkGetPhysicalDeviceImageFormatProperties2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceImageFormatProperties2KHR.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties2>::type VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<ImageFormatProperties2>::type
@ -20487,6 +20560,18 @@ namespace VULKAN_HPP_NAMESPACE
} }
//=== VK_KHR_get_surface_capabilities2 === //=== VK_KHR_get_surface_capabilities2 ===
// wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result PhysicalDevice::getSurfaceCapabilities2KHR(
const PhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo, SurfaceCapabilities2KHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR &&
"Function <vkGetPhysicalDeviceSurfaceCapabilities2KHR> requires <VK_KHR_get_surface_capabilities2>" );
return static_cast<Result>(
getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2KHR( static_cast<VkPhysicalDevice>( m_physicalDevice ),
reinterpret_cast<const VkPhysicalDeviceSurfaceInfo2KHR *>( pSurfaceInfo ),
reinterpret_cast<VkSurfaceCapabilities2KHR *>( pSurfaceCapabilities ) ) );
}
// wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see // wrapper function for command vkGetPhysicalDeviceSurfaceCapabilities2KHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceSurfaceCapabilities2KHR.html
@ -20920,6 +21005,16 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VK_USE_PLATFORM_ANDROID_KHR ) # if defined( VK_USE_PLATFORM_ANDROID_KHR )
//=== VK_ANDROID_external_memory_android_hardware_buffer === //=== VK_ANDROID_external_memory_android_hardware_buffer ===
// wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getAndroidHardwareBufferPropertiesANDROID(
const struct AHardwareBuffer * buffer, AndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID &&
"Function <vkGetAndroidHardwareBufferPropertiesANDROID> requires <VK_ANDROID_external_memory_android_hardware_buffer>" );
return static_cast<Result>( getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID(
static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkAndroidHardwareBufferPropertiesANDROID *>( pProperties ) ) );
}
// wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see // wrapper function for command vkGetAndroidHardwareBufferPropertiesANDROID, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetAndroidHardwareBufferPropertiesANDROID.html
@ -23787,6 +23882,19 @@ namespace VULKAN_HPP_NAMESPACE
} }
//=== VK_KHR_video_encode_queue === //=== VK_KHR_video_encode_queue ===
// wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
PhysicalDevice::getVideoEncodeQualityLevelPropertiesKHR( const PhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
VideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR &&
"Function <vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR> requires <VK_KHR_video_encode_queue>" );
return static_cast<Result>( getDispatcher()->vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
static_cast<VkPhysicalDevice>( m_physicalDevice ),
reinterpret_cast<const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR *>( pQualityLevelInfo ),
reinterpret_cast<VkVideoEncodeQualityLevelPropertiesKHR *>( pQualityLevelProperties ) ) );
}
// wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see // wrapper function for command vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR.html
@ -26824,6 +26932,16 @@ namespace VULKAN_HPP_NAMESPACE
# if defined( VK_USE_PLATFORM_SCREEN_QNX ) # if defined( VK_USE_PLATFORM_SCREEN_QNX )
//=== VK_QNX_external_memory_screen_buffer === //=== VK_QNX_external_memory_screen_buffer ===
// wrapper function for command vkGetScreenBufferPropertiesQNX, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html
VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getScreenBufferPropertiesQNX( const struct _screen_buffer * buffer,
ScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
{
VULKAN_HPP_ASSERT( getDispatcher()->vkGetScreenBufferPropertiesQNX &&
"Function <vkGetScreenBufferPropertiesQNX> requires <VK_QNX_external_memory_screen_buffer>" );
return static_cast<Result>( getDispatcher()->vkGetScreenBufferPropertiesQNX(
static_cast<VkDevice>( m_device ), buffer, reinterpret_cast<VkScreenBufferPropertiesQNX *>( pProperties ) ) );
}
// wrapper function for command vkGetScreenBufferPropertiesQNX, see // wrapper function for command vkGetScreenBufferPropertiesQNX, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html // https://registry.khronos.org/vulkan/specs/latest/man/html/vkGetScreenBufferPropertiesQNX.html

View file

@ -17,7 +17,6 @@
namespace VULKAN_HPP_NAMESPACE namespace VULKAN_HPP_NAMESPACE
{ {
#if !defined( VULKAN_HPP_NO_SMART_HANDLE ) #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
template <typename HandleType> template <typename HandleType>
class SharedHandleTraits; class SharedHandleTraits;
@ -310,7 +309,6 @@ namespace VULKAN_HPP_NAMESPACE
namespace detail namespace detail
{ {
// Silence the function cast warnings. // Silence the function cast warnings.
# if defined( __GNUC__ ) && !defined( __clang__ ) && !defined( __INTEL_COMPILER ) # if defined( __GNUC__ ) && !defined( __clang__ ) && !defined( __INTEL_COMPILER )
# pragma GCC diagnostic push # pragma GCC diagnostic push
@ -465,7 +463,6 @@ namespace VULKAN_HPP_NAMESPACE
# elif defined( __clang__ ) && ( __clang_major__ >= 13 ) && !defined( __INTEL_COMPILER ) # elif defined( __clang__ ) && ( __clang_major__ >= 13 ) && !defined( __INTEL_COMPILER )
# pragma clang diagnostic pop # pragma clang diagnostic pop
# endif # endif
} // namespace detail } // namespace detail
//====================== //======================
@ -1045,6 +1042,7 @@ namespace VULKAN_HPP_NAMESPACE
using SharedIndirectExecutionSetEXT = SharedHandle<IndirectExecutionSetEXT>; using SharedIndirectExecutionSetEXT = SharedHandle<IndirectExecutionSetEXT>;
// a number of SharedHandle specializations
enum class SwapchainOwns enum class SwapchainOwns
{ {
no, no,

View file

@ -9020,11 +9020,11 @@ VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPAC
#if defined( VK_USE_PLATFORM_OHOS ) #if defined( VK_USE_PLATFORM_OHOS )
//=== VK_OHOS_surface === //=== VK_OHOS_surface ===
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS ) == sizeof( VkOHSurfaceCreateInfoOHOS ), VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS ) == sizeof( VkSurfaceCreateInfoOHOS ),
"struct and wrapper have different size!" ); "struct and wrapper have different size!" );
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS>::value, "struct wrapper is not a standard layout!" ); VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS>::value, "struct wrapper is not a standard layout!" );
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::OHSurfaceCreateInfoOHOS>::value, VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SurfaceCreateInfoOHOS>::value,
"OHSurfaceCreateInfoOHOS is not nothrow_move_constructible!" ); "SurfaceCreateInfoOHOS is not nothrow_move_constructible!" );
#endif /*VK_USE_PLATFORM_OHOS*/ #endif /*VK_USE_PLATFORM_OHOS*/
//=== VK_HUAWEI_hdr_vivid === //=== VK_HUAWEI_hdr_vivid ===

View file

@ -35049,11 +35049,12 @@ namespace VULKAN_HPP_NAMESPACE
, flags( flags_ ) , flags( flags_ )
, queueCreateInfoCount( static_cast<uint32_t>( queueCreateInfos_.size() ) ) , queueCreateInfoCount( static_cast<uint32_t>( queueCreateInfos_.size() ) )
, pQueueCreateInfos( queueCreateInfos_.data() ) , pQueueCreateInfos( queueCreateInfos_.data() )
, enabledLayerCount( static_cast<uint32_t>( pEnabledLayerNames_.size() ) )
, ppEnabledLayerNames( pEnabledLayerNames_.data() )
, enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) ) , enabledExtensionCount( static_cast<uint32_t>( pEnabledExtensionNames_.size() ) )
, ppEnabledExtensionNames( pEnabledExtensionNames_.data() ) , ppEnabledExtensionNames( pEnabledExtensionNames_.data() )
, pEnabledFeatures( pEnabledFeatures_ ) , pEnabledFeatures( pEnabledFeatures_ )
{ {
detail::ignore( pEnabledLayerNames_ );
} }
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/ # endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
@ -67889,121 +67890,6 @@ namespace VULKAN_HPP_NAMESPACE
using MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT; using MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoEXT;
#if defined( VK_USE_PLATFORM_OHOS )
// wrapper struct for struct VkOHSurfaceCreateInfoOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkOHSurfaceCreateInfoOHOS.html
struct OHSurfaceCreateInfoOHOS
{
using NativeType = VkOHSurfaceCreateInfoOHOS;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOhSurfaceCreateInfoOHOS;
# if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR
OHSurfaceCreateInfoOHOS( SurfaceCreateFlagsOHOS flags_ = {}, OHNativeWindow * window_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, flags{ flags_ }
, window{ window_ }
{
}
VULKAN_HPP_CONSTEXPR OHSurfaceCreateInfoOHOS( OHSurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT = default;
OHSurfaceCreateInfoOHOS( VkOHSurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT
: OHSurfaceCreateInfoOHOS( *reinterpret_cast<OHSurfaceCreateInfoOHOS const *>( &rhs ) )
{
}
OHSurfaceCreateInfoOHOS & operator=( OHSurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT = default;
# endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
OHSurfaceCreateInfoOHOS & operator=( VkOHSurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<OHSurfaceCreateInfoOHOS const *>( &rhs );
return *this;
}
# if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 OHSurfaceCreateInfoOHOS & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 OHSurfaceCreateInfoOHOS & setFlags( SurfaceCreateFlagsOHOS flags_ ) VULKAN_HPP_NOEXCEPT
{
flags = flags_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 OHSurfaceCreateInfoOHOS & setWindow( OHNativeWindow * window_ ) VULKAN_HPP_NOEXCEPT
{
window = window_;
return *this;
}
# endif /*VULKAN_HPP_NO_SETTERS*/
operator VkOHSurfaceCreateInfoOHOS const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkOHSurfaceCreateInfoOHOS *>( this );
}
operator VkOHSurfaceCreateInfoOHOS &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkOHSurfaceCreateInfoOHOS *>( this );
}
operator VkOHSurfaceCreateInfoOHOS const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkOHSurfaceCreateInfoOHOS *>( this );
}
operator VkOHSurfaceCreateInfoOHOS *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkOHSurfaceCreateInfoOHOS *>( this );
}
# if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, SurfaceCreateFlagsOHOS const &, OHNativeWindow * const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, flags, window );
}
# endif
# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( OHSurfaceCreateInfoOHOS const & ) const = default;
# else
bool operator==( OHSurfaceCreateInfoOHOS 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 ) && ( flags == rhs.flags ) && ( window == rhs.window );
# endif
}
bool operator!=( OHSurfaceCreateInfoOHOS const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
# endif
public:
StructureType sType = StructureType::eOhSurfaceCreateInfoOHOS;
const void * pNext = {};
SurfaceCreateFlagsOHOS flags = {};
OHNativeWindow * window = {};
};
template <>
struct CppType<StructureType, StructureType::eOhSurfaceCreateInfoOHOS>
{
using Type = OHSurfaceCreateInfoOHOS;
};
using SurfaceCreateInfoOHOS = OHSurfaceCreateInfoOHOS;
#endif /*VK_USE_PLATFORM_OHOS*/
// wrapper struct for struct VkOpaqueCaptureDescriptorDataCreateInfoEXT, see // wrapper struct for struct VkOpaqueCaptureDescriptorDataCreateInfoEXT, see
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpaqueCaptureDescriptorDataCreateInfoEXT.html // https://registry.khronos.org/vulkan/specs/latest/man/html/VkOpaqueCaptureDescriptorDataCreateInfoEXT.html
struct OpaqueCaptureDescriptorDataCreateInfoEXT struct OpaqueCaptureDescriptorDataCreateInfoEXT
@ -138939,6 +138825,119 @@ namespace VULKAN_HPP_NAMESPACE
using Type = SurfaceCapabilitiesPresentWait2KHR; using Type = SurfaceCapabilitiesPresentWait2KHR;
}; };
#if defined( VK_USE_PLATFORM_OHOS )
// wrapper struct for struct VkSurfaceCreateInfoOHOS, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceCreateInfoOHOS.html
struct SurfaceCreateInfoOHOS
{
using NativeType = VkSurfaceCreateInfoOHOS;
static const bool allowDuplicate = false;
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceCreateInfoOHOS;
# if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
VULKAN_HPP_CONSTEXPR
SurfaceCreateInfoOHOS( SurfaceCreateFlagsOHOS flags_ = {}, OHNativeWindow * window_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
: pNext{ pNext_ }
, flags{ flags_ }
, window{ window_ }
{
}
VULKAN_HPP_CONSTEXPR SurfaceCreateInfoOHOS( SurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT = default;
SurfaceCreateInfoOHOS( VkSurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT
: SurfaceCreateInfoOHOS( *reinterpret_cast<SurfaceCreateInfoOHOS const *>( &rhs ) )
{
}
SurfaceCreateInfoOHOS & operator=( SurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT = default;
# endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
SurfaceCreateInfoOHOS & operator=( VkSurfaceCreateInfoOHOS const & rhs ) VULKAN_HPP_NOEXCEPT
{
*this = *reinterpret_cast<SurfaceCreateInfoOHOS const *>( &rhs );
return *this;
}
# if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
VULKAN_HPP_CONSTEXPR_14 SurfaceCreateInfoOHOS & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
{
pNext = pNext_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 SurfaceCreateInfoOHOS & setFlags( SurfaceCreateFlagsOHOS flags_ ) VULKAN_HPP_NOEXCEPT
{
flags = flags_;
return *this;
}
VULKAN_HPP_CONSTEXPR_14 SurfaceCreateInfoOHOS & setWindow( OHNativeWindow * window_ ) VULKAN_HPP_NOEXCEPT
{
window = window_;
return *this;
}
# endif /*VULKAN_HPP_NO_SETTERS*/
operator VkSurfaceCreateInfoOHOS const &() const VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<const VkSurfaceCreateInfoOHOS *>( this );
}
operator VkSurfaceCreateInfoOHOS &() VULKAN_HPP_NOEXCEPT
{
return *reinterpret_cast<VkSurfaceCreateInfoOHOS *>( this );
}
operator VkSurfaceCreateInfoOHOS const *() const VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<const VkSurfaceCreateInfoOHOS *>( this );
}
operator VkSurfaceCreateInfoOHOS *() VULKAN_HPP_NOEXCEPT
{
return reinterpret_cast<VkSurfaceCreateInfoOHOS *>( this );
}
# if defined( VULKAN_HPP_USE_REFLECT )
std::tuple<StructureType const &, const void * const &, SurfaceCreateFlagsOHOS const &, OHNativeWindow * const &> reflect() const VULKAN_HPP_NOEXCEPT
{
return std::tie( sType, pNext, flags, window );
}
# endif
# if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
auto operator<=>( SurfaceCreateInfoOHOS const & ) const = default;
# else
bool operator==( SurfaceCreateInfoOHOS 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 ) && ( flags == rhs.flags ) && ( window == rhs.window );
# endif
}
bool operator!=( SurfaceCreateInfoOHOS const & rhs ) const VULKAN_HPP_NOEXCEPT
{
return !operator==( rhs );
}
# endif
public:
StructureType sType = StructureType::eSurfaceCreateInfoOHOS;
const void * pNext = {};
SurfaceCreateFlagsOHOS flags = {};
OHNativeWindow * window = {};
};
template <>
struct CppType<StructureType, StructureType::eSurfaceCreateInfoOHOS>
{
using Type = SurfaceCreateInfoOHOS;
};
#endif /*VK_USE_PLATFORM_OHOS*/
// wrapper struct for struct VkSurfaceFormatKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceFormatKHR.html // wrapper struct for struct VkSurfaceFormatKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSurfaceFormatKHR.html
struct SurfaceFormatKHR struct SurfaceFormatKHR
{ {

View file

@ -5344,7 +5344,7 @@ namespace VULKAN_HPP_NAMESPACE
case StructureType::eVideoDecodeH265InlineSessionParametersInfoKHR : return "VideoDecodeH265InlineSessionParametersInfoKHR"; case StructureType::eVideoDecodeH265InlineSessionParametersInfoKHR : return "VideoDecodeH265InlineSessionParametersInfoKHR";
case StructureType::eVideoDecodeAv1InlineSessionParametersInfoKHR : return "VideoDecodeAv1InlineSessionParametersInfoKHR"; case StructureType::eVideoDecodeAv1InlineSessionParametersInfoKHR : return "VideoDecodeAv1InlineSessionParametersInfoKHR";
#if defined( VK_USE_PLATFORM_OHOS ) #if defined( VK_USE_PLATFORM_OHOS )
case StructureType::eOhSurfaceCreateInfoOHOS: return "OhSurfaceCreateInfoOHOS"; case StructureType::eSurfaceCreateInfoOHOS: return "SurfaceCreateInfoOHOS";
#endif /*VK_USE_PLATFORM_OHOS*/ #endif /*VK_USE_PLATFORM_OHOS*/
case StructureType::ePhysicalDeviceHdrVividFeaturesHUAWEI : return "PhysicalDeviceHdrVividFeaturesHUAWEI"; case StructureType::ePhysicalDeviceHdrVividFeaturesHUAWEI : return "PhysicalDeviceHdrVividFeaturesHUAWEI";
case StructureType::eHdrVividDynamicMetadataHUAWEI : return "HdrVividDynamicMetadataHUAWEI"; case StructureType::eHdrVividDynamicMetadataHUAWEI : return "HdrVividDynamicMetadataHUAWEI";

View file

@ -11,7 +11,7 @@ import copy
from vulkan_object import (VulkanObject, from vulkan_object import (VulkanObject,
Extension, Version, Deprecate, Handle, Param, Queues, CommandScope, Command, Extension, Version, Deprecate, Handle, Param, Queues, CommandScope, Command,
EnumField, Enum, Flag, Bitmask, ExternSync, Flags, Member, Struct, EnumField, Enum, Flag, Bitmask, ExternSync, Flags, Member, Struct,
Constant, FormatComponent, FormatPlane, Format, Constant, FormatComponent, FormatPlane, Format, FeatureRequirement,
SyncSupport, SyncEquivalent, SyncStage, SyncAccess, SyncPipelineStage, SyncPipeline, SyncSupport, SyncEquivalent, SyncStage, SyncAccess, SyncPipelineStage, SyncPipeline,
SpirvEnables, Spirv, SpirvEnables, Spirv,
VideoCodec, VideoFormat, VideoProfiles, VideoProfileMember, VideoRequiredCapabilities, VideoCodec, VideoFormat, VideoProfiles, VideoProfileMember, VideoRequiredCapabilities,
@ -114,7 +114,7 @@ def EnableCaching() -> None:
class APISpecific: class APISpecific:
# Version object factory method # Version object factory method
@staticmethod @staticmethod
def createApiVersion(targetApiName: str, name: str) -> Version: def createApiVersion(targetApiName: str, name: str, featureRequirement) -> Version:
match targetApiName: match targetApiName:
# Vulkan SC specific API version creation # Vulkan SC specific API version creation
@ -122,13 +122,13 @@ class APISpecific:
nameApi = name.replace('VK_', 'VK_API_') nameApi = name.replace('VK_', 'VK_API_')
nameApi = nameApi.replace('VKSC_', 'VKSC_API_') nameApi = nameApi.replace('VKSC_', 'VKSC_API_')
nameString = f'"{name}"' nameString = f'"{name}"'
return Version(name, nameString, nameApi) return Version(name, nameString, nameApi, featureRequirement)
# Vulkan specific API version creation # Vulkan specific API version creation
case 'vulkan': case 'vulkan':
nameApi = name.replace('VK_', 'VK_API_') nameApi = name.replace('VK_', 'VK_API_')
nameString = f'"{name}"' nameString = f'"{name}"'
return Version(name, nameString, nameApi) return Version(name, nameString, nameApi, featureRequirement)
# TODO - Currently genType in reg.py does not provide a good way to get this string to apply the C-macro # TODO - Currently genType in reg.py does not provide a good way to get this string to apply the C-macro
# We do our best to emulate the answer here the way the spec/headers will with goal to have a proper fix before these assumptions break # We do our best to emulate the answer here the way the spec/headers will with goal to have a proper fix before these assumptions break
@ -404,7 +404,11 @@ class BaseGenerator(OutputGenerator):
member.type = self.dealias(member.type, self.structAliasMap) member.type = self.dealias(member.type, self.structAliasMap)
# Replace string with Version class now we have all version created # Replace string with Version class now we have all version created
if command.deprecate and command.deprecate.version: if command.deprecate and command.deprecate.version:
command.deprecate.version = self.vk.versions[command.deprecate.version] if command.deprecate.version not in self.vk.versions:
# occurs if something like VK_VERSION_1_0, in which case we will always warn for deprecation
command.deprecate.version = None
else:
command.deprecate.version = self.vk.versions[command.deprecate.version]
# Could build up a reverse lookup map, but since these are not too large of list, just do here # Could build up a reverse lookup map, but since these are not too large of list, just do here
# (Need to be done after we have found all the aliases) # (Need to be done after we have found all the aliases)
@ -583,6 +587,16 @@ class BaseGenerator(OutputGenerator):
protect = self.vk.platforms[platform] if platform in self.vk.platforms else None protect = self.vk.platforms[platform] if platform in self.vk.platforms else None
name = interface.get('name') name = interface.get('name')
# TODO - This is just mimicking featurerequirementsgenerator.py and works because the logic is simple enough (for now)
featureRequirement = []
requires = interface.findall('./require')
for require in requires:
requireDepends = require.get('depends')
for feature in require.findall('./feature'):
featureStruct = feature.get('struct')
featureName = feature.get('name')
featureRequirement.append(FeatureRequirement(featureStruct, featureName, requireDepends))
if interface.tag == 'extension': if interface.tag == 'extension':
# Generator scripts built on BaseGenerator do not handle the `supported` attribute of extensions # Generator scripts built on BaseGenerator do not handle the `supported` attribute of extensions
# therefore historically the `generate_source.py` in individual ecosystem components hacked the # therefore historically the `generate_source.py` in individual ecosystem components hacked the
@ -614,12 +628,12 @@ class BaseGenerator(OutputGenerator):
self.currentExtension = Extension(name, nameString, specVersion, instance, device, depends, vendorTag, self.currentExtension = Extension(name, nameString, specVersion, instance, device, depends, vendorTag,
platform, protect, provisional, promotedto, deprecatedby, platform, protect, provisional, promotedto, deprecatedby,
obsoletedby, specialuse, ratified) obsoletedby, specialuse, featureRequirement, ratified)
self.vk.extensions[name] = self.currentExtension self.vk.extensions[name] = self.currentExtension
else: # version else: # version
number = interface.get('number') number = interface.get('number')
if number != '1.0': if number != '1.0':
self.currentVersion = APISpecific.createApiVersion(self.targetApiName, name) self.currentVersion = APISpecific.createApiVersion(self.targetApiName, name, featureRequirement)
self.vk.versions[name] = self.currentVersion self.vk.versions[name] = self.currentVersion
def endFeature(self): def endFeature(self):

View file

@ -1,9 +1,9 @@
{ {
"version info": { "version info": {
"schema version": 2, "schema version": 2,
"api version": "1.4.325", "api version": "1.4.326",
"comment": "from git branch: github-main commit: 72cd1f587fe55c80873fe6430d667056048a5113", "comment": "from git branch: github-main commit: 9c6d565f72ba6929c239c3e20f90b6375acad3bd",
"date": "2025-08-08 13:20:43Z" "date": "2025-08-29 19:08:13Z"
}, },
"validation": { "validation": {
"VkDeviceAddress": { "VkDeviceAddress": {
@ -1342,7 +1342,7 @@
}, },
{ {
"vuid": "VUID-VkCommandPoolCreateInfo-pNext-09909", "vuid": "VUID-VkCommandPoolCreateInfo-pNext-09909",
"text": "If the <code>pNext</code> chain includes a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure, then the queue family designated by <code>queueFamilyIndex</code> <strong class=\"purple\">must</strong> support the data graph processing engines specified in the <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure", "text": "If the <code>pNext</code> chain includes a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure, each member of <code>pProcessingEngines</code> <strong class=\"purple\">must</strong> be identical to <a href=\"#VkQueueFamilyDataGraphPropertiesARM\">VkQueueFamilyDataGraphPropertiesARM</a>::<code>engine</code> retrieved from <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM</a> with <code>queueFamilyIndex</code> and the <code>physicalDevice</code> that was used to create <code>device</code>",
"page": "chapters/cmdbuffers.html" "page": "chapters/cmdbuffers.html"
}, },
{ {
@ -2013,6 +2013,11 @@
"text": "If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Ownership Transfer Acquire Operation</a>, there <strong class=\"purple\">must</strong> exist a previously submitted <a href=\"#synchronization-queue-transfers-release\">Queue Family Ownership Transfer Release Operation</a> on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such <a href=\"#synchronization-queue-transfers-acquire\">acquire operations</a>, and which happens before the acquire operation", "text": "If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Ownership Transfer Acquire Operation</a>, there <strong class=\"purple\">must</strong> exist a previously submitted <a href=\"#synchronization-queue-transfers-release\">Queue Family Ownership Transfer Release Operation</a> on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such <a href=\"#synchronization-queue-transfers-acquire\">acquire operations</a>, and which happens before the acquire operation",
"page": "chapters/cmdbuffers.html" "page": "chapters/cmdbuffers.html"
}, },
{
"vuid": "VUID-vkQueueSubmit2-commandBuffer-10910",
"text": "If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Ownership Transfer Acquire Operation</a>, the affected resource <strong class=\"purple\">must</strong> not be modified in any way between the last matching release operation and the acquire operation",
"page": "chapters/cmdbuffers.html"
},
{ {
"vuid": "VUID-vkQueueSubmit2-commandBuffer-03880", "vuid": "VUID-vkQueueSubmit2-commandBuffer-03880",
"text": "If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> was a <a href=\"#vkCmdBeginQuery\">vkCmdBeginQuery</a> whose <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held continuously on the <code>VkDevice</code> that <code>queue</code> was retrieved from, throughout recording of those command buffers", "text": "If a command recorded into the <code>commandBuffer</code> member of any element of the <code>pCommandBufferInfos</code> member of any element of <code>pSubmits</code> was a <a href=\"#vkCmdBeginQuery\">vkCmdBeginQuery</a> whose <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held continuously on the <code>VkDevice</code> that <code>queue</code> was retrieved from, throughout recording of those command buffers",
@ -2388,6 +2393,11 @@
"text": "If any element of <code>pSubmits-&gt;pCommandBuffers</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Ownership Transfer Acquire Operation</a>, there <strong class=\"purple\">must</strong> exist a previously submitted <a href=\"#synchronization-queue-transfers-release\">Queue Family Ownership Transfer Release Operation</a> on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such <a href=\"#synchronization-queue-transfers-acquire\">acquire operations</a>, and which happens-before the acquire operation", "text": "If any element of <code>pSubmits-&gt;pCommandBuffers</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Ownership Transfer Acquire Operation</a>, there <strong class=\"purple\">must</strong> exist a previously submitted <a href=\"#synchronization-queue-transfers-release\">Queue Family Ownership Transfer Release Operation</a> on a queue in the queue family identified by the acquire operation, with parameters matching the acquire operation as defined in the definition of such <a href=\"#synchronization-queue-transfers-acquire\">acquire operations</a>, and which happens-before the acquire operation",
"page": "chapters/cmdbuffers.html" "page": "chapters/cmdbuffers.html"
}, },
{
"vuid": "VUID-vkQueueSubmit-pSubmits-10911",
"text": "If any element of <code>pSubmits-&gt;pCommandBuffers</code> includes a <a href=\"#synchronization-queue-transfers-acquire\">Queue Family Ownership Transfer Acquire Operation</a>, the affected resource <strong class=\"purple\">must</strong> not be modified in any way between the last matching release operation and the acquire operation",
"page": "chapters/cmdbuffers.html"
},
{ {
"vuid": "VUID-vkQueueSubmit-pCommandBuffers-03220", "vuid": "VUID-vkQueueSubmit-pCommandBuffers-03220",
"text": "If a command recorded into any element of <code>pCommandBuffers</code> was a <a href=\"#vkCmdBeginQuery\">vkCmdBeginQuery</a> whose <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held continuously on the <code>VkDevice</code> that <code>queue</code> was retrieved from, throughout recording of those command buffers", "text": "If a command recorded into any element of <code>pCommandBuffers</code> was a <a href=\"#vkCmdBeginQuery\">vkCmdBeginQuery</a> whose <code>queryPool</code> was created with a <code>queryType</code> of <code>VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR</code>, the <a href=\"#profiling-lock\">profiling lock</a> <strong class=\"purple\">must</strong> have been held continuously on the <code>VkDevice</code> that <code>queue</code> was retrieved from, throughout recording of those command buffers",
@ -9091,6 +9101,11 @@
"text": "If <code>commandBuffer</code> is a secondary command buffer, and the <a href=\"#features-nestedCommandBuffer\"><code>nestedCommandBuffer</code></a> feature is not enabled, <code>pRenderingInfo-&gt;flags</code> <strong class=\"purple\">must</strong> not include <code>VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT</code>", "text": "If <code>commandBuffer</code> is a secondary command buffer, and the <a href=\"#features-nestedCommandBuffer\"><code>nestedCommandBuffer</code></a> feature is not enabled, <code>pRenderingInfo-&gt;flags</code> <strong class=\"purple\">must</strong> not include <code>VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT</code>",
"page": "chapters/renderpass.html" "page": "chapters/renderpass.html"
}, },
{
"vuid": "VUID-vkCmdBeginRendering-commandBuffer-10914",
"text": "If <code>commandBuffer</code> is a secondary command buffer, <code>VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT</code> <strong class=\"purple\">must</strong> not have been set in <a href=\"#VkCommandBufferBeginInfo\">VkCommandBufferBeginInfo</a>::<code>flags</code> when <code>commandBuffer</code> began",
"page": "chapters/renderpass.html"
},
{ {
"vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09588", "vuid": "VUID-vkCmdBeginRendering-pRenderingInfo-09588",
"text": "If <code>pRenderingInfo-&gt;pDepthAttachment</code> is not <code>NULL</code> and <code>pRenderingInfo-&gt;pDepthAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pRenderingInfo-&gt;pDepthAttachment-&gt;imageView</code> <strong class=\"purple\">must</strong> be in the layout specified by <code>pRenderingInfo-&gt;pDepthAttachment-&gt;imageLayout</code>", "text": "If <code>pRenderingInfo-&gt;pDepthAttachment</code> is not <code>NULL</code> and <code>pRenderingInfo-&gt;pDepthAttachment-&gt;imageView</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>pRenderingInfo-&gt;pDepthAttachment-&gt;imageView</code> <strong class=\"purple\">must</strong> be in the layout specified by <code>pRenderingInfo-&gt;pDepthAttachment-&gt;imageLayout</code>",
@ -10390,6 +10405,11 @@
"text": "If <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM</code> <strong class=\"purple\">must</strong> not be included in <a href=\"#VkRenderPassTileShadingCreateInfoQCOM\">VkRenderPassTileShadingCreateInfoQCOM</a>::<code>flags</code>", "text": "If <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM</code> <strong class=\"purple\">must</strong> not be included in <a href=\"#VkRenderPassTileShadingCreateInfoQCOM\">VkRenderPassTileShadingCreateInfoQCOM</a>::<code>flags</code>",
"page": "chapters/renderpass.html" "page": "chapters/renderpass.html"
}, },
{
"vuid": "VUID-VkRenderPassCreateInfo-None-10915",
"text": "If any subpass preserves an attachment, there <strong class=\"purple\">must</strong> be a subpass dependency from a prior subpass which uses or preserves that attachment",
"page": "chapters/renderpass.html"
},
{ {
"vuid": "VUID-VkRenderPassCreateInfo-sType-sType", "vuid": "VUID-VkRenderPassCreateInfo-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO</code>", "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO</code>",
@ -11428,6 +11448,11 @@
"text": "If <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM</code> <strong class=\"purple\">must</strong> not be included in <a href=\"#VkRenderPassTileShadingCreateInfoQCOM\">VkRenderPassTileShadingCreateInfoQCOM</a>::<code>flags</code>", "text": "If <a href=\"#VkRenderPassFragmentDensityMapCreateInfoEXT\">VkRenderPassFragmentDensityMapCreateInfoEXT</a>::<code>fragmentDensityMapAttachment</code> is not <code>VK_ATTACHMENT_UNUSED</code>, <code>VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM</code> <strong class=\"purple\">must</strong> not be included in <a href=\"#VkRenderPassTileShadingCreateInfoQCOM\">VkRenderPassTileShadingCreateInfoQCOM</a>::<code>flags</code>",
"page": "chapters/renderpass.html" "page": "chapters/renderpass.html"
}, },
{
"vuid": "VUID-VkRenderPassCreateInfo2-None-10916",
"text": "If any subpass preserves an attachment, there <strong class=\"purple\">must</strong> be a subpass dependency from a prior subpass which uses or preserves that attachment",
"page": "chapters/renderpass.html"
},
{ {
"vuid": "VUID-VkRenderPassCreateInfo2-sType-sType", "vuid": "VUID-VkRenderPassCreateInfo2-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2</code>", "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2</code>",
@ -12621,6 +12646,11 @@
"text": "If <code>renderpass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value including <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>", "text": "If <code>renderpass</code> is not <a href=\"#VK_NULL_HANDLE\">VK_NULL_HANDLE</a>, <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as an input attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <code>usage</code> value including <code>VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT</code>",
"page": "chapters/renderpass.html" "page": "chapters/renderpass.html"
}, },
{
"vuid": "VUID-VkFramebufferCreateInfo-flags-10917",
"text": "If <code>flags</code> does not include <code>VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT</code>, each element of <code>pAttachments</code> that is used as a color attachment or resolve attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> have been created with a <a href=\"#VkImageSubresourceRange\">VkImageSubresourceRange</a>::<code>aspectMask</code> including <code>VK_IMAGE_ASPECT_PLANE_0_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_1_BIT</code>, <code>VK_IMAGE_ASPECT_PLANE_2_BIT</code>, or <code>VK_IMAGE_ASPECT_COLOR_BIT</code>",
"page": "chapters/renderpass.html"
},
{ {
"vuid": "VUID-VkFramebufferCreateInfo-pAttachments-02552", "vuid": "VUID-VkFramebufferCreateInfo-pAttachments-02552",
"text": "Each element of <code>pAttachments</code> that is used as a fragment density map attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> not have been created with a <code>flags</code> value including <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>", "text": "Each element of <code>pAttachments</code> that is used as a fragment density map attachment by <code>renderPass</code> <strong class=\"purple\">must</strong> not have been created with a <code>flags</code> value including <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>",
@ -16592,7 +16622,7 @@
}, },
{ {
"vuid": "VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-parameter", "vuid": "VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-parameter",
"text": "<code>pipelineDeviceAddressCaptureReplay</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a> value", "text": "If <code>pipelineDeviceAddressCaptureReplay</code> is not <code>0</code>, <code>pipelineDeviceAddressCaptureReplay</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a> value",
"page": "chapters/pipelines.html" "page": "chapters/pipelines.html"
} }
] ]
@ -17007,6 +17037,11 @@
"text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, the <code><a href=\"#VK_EXT_depth_range_unrestricted\">VK_EXT_depth_range_unrestricted</a></code> extension is not enabled and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS</code>, and the <code>depthBoundsTestEnable</code> member of <code>pDepthStencilState</code> is <code>VK_TRUE</code>, the <code>minDepthBounds</code> and <code>maxDepthBounds</code> members of <code>pDepthStencilState</code> <strong class=\"purple\">must</strong> be between <code>0.0</code> and <code>1.0</code>, inclusive", "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, the <code><a href=\"#VK_EXT_depth_range_unrestricted\">VK_EXT_depth_range_unrestricted</a></code> extension is not enabled and no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS</code>, and the <code>depthBoundsTestEnable</code> member of <code>pDepthStencilState</code> is <code>VK_TRUE</code>, the <code>minDepthBounds</code> and <code>maxDepthBounds</code> members of <code>pDepthStencilState</code> <strong class=\"purple\">must</strong> be between <code>0.0</code> and <code>1.0</code>, inclusive",
"page": "chapters/pipelines.html" "page": "chapters/pipelines.html"
}, },
{
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-10913",
"text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a>, no element of the <code>pDynamicStates</code> member of <code>pDynamicState</code> is <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS</code>, and <code>pDynamicStates</code> includes <code>VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE</code> or the <code>depthBoundsTestEnable</code> member of <code>pDepthStencilState</code> is <code>VK_TRUE</code>, <code>minDepthBounds</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxDepthBounds</code>",
"page": "chapters/pipelines.html"
},
{ {
"vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07610", "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07610",
"text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and <code>rasterizationSamples</code> and <code>sampleLocationsInfo</code> are not dynamic, and <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationGridSize.width</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>maxSampleLocationGridSize.width</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>", "text": "If the pipeline requires <a href=\"#pipelines-graphics-subsets-fragment-shader\">fragment shader state</a> or <a href=\"#pipelines-graphics-subsets-fragment-output\">fragment output interface state</a>, and <code>rasterizationSamples</code> and <code>sampleLocationsInfo</code> are not dynamic, and <a href=\"#VkPipelineSampleLocationsStateCreateInfoEXT\">VkPipelineSampleLocationsStateCreateInfoEXT</a>::<code>sampleLocationsEnable</code> included in the <code>pNext</code> chain of <code>pMultisampleState</code> is <code>VK_TRUE</code>, <code>sampleLocationsInfo.sampleLocationGridSize.width</code> <strong class=\"purple\">must</strong> evenly divide <a href=\"#VkMultisamplePropertiesEXT\">VkMultisamplePropertiesEXT</a>::<code>maxSampleLocationGridSize.width</code> as returned by <a href=\"#vkGetPhysicalDeviceMultisamplePropertiesEXT\">vkGetPhysicalDeviceMultisamplePropertiesEXT</a> with a <code>samples</code> parameter equaling <code>rasterizationSamples</code>",
@ -23747,7 +23782,7 @@
}, },
{ {
"vuid": "VUID-VkBufferDeviceAddressCreateInfoEXT-deviceAddress-parameter", "vuid": "VUID-VkBufferDeviceAddressCreateInfoEXT-deviceAddress-parameter",
"text": "<code>deviceAddress</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a> value", "text": "If <code>deviceAddress</code> is not <code>0</code>, <code>deviceAddress</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a> value",
"page": "chapters/resources.html" "page": "chapters/resources.html"
} }
] ]
@ -30595,7 +30630,7 @@
}, },
{ {
"vuid": "VUID-VkDescriptorSetLayoutBinding-flags-08006", "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>", "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> be less than or equal to <code>1</code>",
"page": "chapters/descriptorsets.html" "page": "chapters/descriptorsets.html"
}, },
{ {
@ -31282,6 +31317,11 @@
"text": "If <code>pPoolSizes</code> contains a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkDescriptorPoolInlineUniformBlockCreateInfo\">VkDescriptorPoolInlineUniformBlockCreateInfo</a> structure whose <code>maxInlineUniformBlockBindings</code> member is not zero", "text": "If <code>pPoolSizes</code> contains a <code>descriptorType</code> of <code>VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK</code>, the <code>pNext</code> chain <strong class=\"purple\">must</strong> include a <a href=\"#VkDescriptorPoolInlineUniformBlockCreateInfo\">VkDescriptorPoolInlineUniformBlockCreateInfo</a> structure whose <code>maxInlineUniformBlockBindings</code> member is not zero",
"page": "chapters/descriptorsets.html" "page": "chapters/descriptorsets.html"
}, },
{
"vuid": "VUID-VkDescriptorPoolCreateInfo-pNext-09946",
"text": "If a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure is included in the <code>pNext</code> chain, each member of <code>pProcessingEngines</code> <strong class=\"purple\">must</strong> be identical to an <a href=\"#VkQueueFamilyDataGraphPropertiesARM\">VkQueueFamilyDataGraphPropertiesARM</a>::<code>engine</code> retrieved from <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM</a> with the <code>physicalDevice</code> that was used to create <code>device</code>",
"page": "chapters/descriptorsets.html"
},
{ {
"vuid": "VUID-VkDescriptorPoolCreateInfo-sType-sType", "vuid": "VUID-VkDescriptorPoolCreateInfo-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO</code>", "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO</code>",
@ -33656,11 +33696,6 @@
"text": "If <code>address</code> is not zero, <code>range</code> <strong class=\"purple\">must</strong> not be <code>VK_WHOLE_SIZE</code>", "text": "If <code>address</code> is not zero, <code>range</code> <strong class=\"purple\">must</strong> not be <code>VK_WHOLE_SIZE</code>",
"page": "chapters/descriptorsets.html" "page": "chapters/descriptorsets.html"
}, },
{
"vuid": "VUID-VkDescriptorAddressInfoEXT-None-08044",
"text": "If <code>address</code> is not zero, <code>address</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a>",
"page": "chapters/descriptorsets.html"
},
{ {
"vuid": "VUID-VkDescriptorAddressInfoEXT-range-08045", "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", "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",
@ -33683,7 +33718,7 @@
}, },
{ {
"vuid": "VUID-VkDescriptorAddressInfoEXT-address-parameter", "vuid": "VUID-VkDescriptorAddressInfoEXT-address-parameter",
"text": "<code>address</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a> value", "text": "If <code>address</code> is not <code>0</code>, <code>address</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDeviceAddress\">VkDeviceAddress</a> value",
"page": "chapters/descriptorsets.html" "page": "chapters/descriptorsets.html"
}, },
{ {
@ -33754,6 +33789,11 @@
"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", "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",
"page": "chapters/descriptorsets.html" "page": "chapters/descriptorsets.html"
}, },
{
"vuid": "VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-09947",
"text": "For all elements 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_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM</code> bit set if the command pool from which <code>commandBuffer</code> was allocated from was created with any element of <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a>::pProcessingEngines with <code>isForeign</code> set to <code>VK_TRUE</code>",
"page": "chapters/descriptorsets.html"
},
{ {
"vuid": "VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-parameter", "vuid": "VUID-vkCmdBindDescriptorBuffersEXT-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle", "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
@ -47181,7 +47221,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDraw-None-09548", "vuid": "VUID-vkCmdDraw-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -48735,7 +48775,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndexed-None-09548", "vuid": "VUID-vkCmdDrawIndexed-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -50299,7 +50339,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMultiEXT-None-09548", "vuid": "VUID-vkCmdDrawMultiEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -51873,7 +51913,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-09548", "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -53462,7 +53502,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndirect-None-09548", "vuid": "VUID-vkCmdDrawIndirect-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -55065,7 +55105,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndirectCount-None-09548", "vuid": "VUID-vkCmdDrawIndirectCount-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -56669,7 +56709,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndexedIndirect-None-09548", "vuid": "VUID-vkCmdDrawIndexedIndirect-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -58282,7 +58322,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-09548", "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -59891,7 +59931,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-09548", "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -61602,7 +61642,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksNV-None-09548", "vuid": "VUID-vkCmdDrawMeshTasksNV-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -63056,7 +63096,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-09548", "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -64569,7 +64609,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09548", "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -66093,7 +66133,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksEXT-None-09548", "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -67582,7 +67622,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-09548", "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -69130,7 +69170,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09548", "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -70654,7 +70694,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawClusterHUAWEI-None-09548", "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -72123,7 +72163,7 @@
}, },
{ {
"vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-09548", "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/drawing.html" "page": "chapters/drawing.html"
}, },
{ {
@ -73894,11 +73934,6 @@
"vuid": "VUID-VkPipelineMultisampleStateCreateInfo-rasterizationSamples-parameter", "vuid": "VUID-VkPipelineMultisampleStateCreateInfo-rasterizationSamples-parameter",
"text": "<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSampleCountFlagBits\">VkSampleCountFlagBits</a> value", "text": "<code>rasterizationSamples</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkSampleCountFlagBits\">VkSampleCountFlagBits</a> value",
"page": "chapters/primsrast.html" "page": "chapters/primsrast.html"
},
{
"vuid": "VUID-VkPipelineMultisampleStateCreateInfo-pSampleMask-parameter",
"text": "If <code>pSampleMask</code> is not <code>NULL</code>, <code>pSampleMask</code> <strong class=\"purple\">must</strong> be a valid pointer to an array of \\(\\lceil{\\mathit{rasterizationSamples} \\over 32}\\rceil\\) <a href=\"#VkSampleMask\">VkSampleMask</a> values",
"page": "chapters/primsrast.html"
} }
] ]
}, },
@ -75781,6 +75816,11 @@
"text": "If the <code><a href=\"#VK_EXT_depth_range_unrestricted\">VK_EXT_depth_range_unrestricted</a></code> extension is not enabled <code>maxDepthBounds</code> <strong class=\"purple\">must</strong> be between <code>0.0</code> and <code>1.0</code>, inclusive", "text": "If the <code><a href=\"#VK_EXT_depth_range_unrestricted\">VK_EXT_depth_range_unrestricted</a></code> extension is not enabled <code>maxDepthBounds</code> <strong class=\"purple\">must</strong> be between <code>0.0</code> and <code>1.0</code>, inclusive",
"page": "chapters/fragops.html" "page": "chapters/fragops.html"
}, },
{
"vuid": "VUID-vkCmdSetDepthBounds-minDepthBounds-10912",
"text": "<code>minDepthBounds</code> <strong class=\"purple\">must</strong> be less than or equal to <code>maxDepthBounds</code>",
"page": "chapters/fragops.html"
},
{ {
"vuid": "VUID-vkCmdSetDepthBounds-commandBuffer-parameter", "vuid": "VUID-vkCmdSetDepthBounds-commandBuffer-parameter",
"text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle", "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
@ -79482,7 +79522,7 @@
}, },
{ {
"vuid": "VUID-VkIndirectCommandsLayoutCreateInfoEXT-tokenCount-11092", "vuid": "VUID-VkIndirectCommandsLayoutCreateInfoEXT-tokenCount-11092",
"text": "<code>tokenCount</code> <strong class=\"purple\">must</strong> less than or equal to <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT</a>::<code>maxIndirectCommandsTokenCount</code>", "text": "<code>tokenCount</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT\">VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT</a>::<code>maxIndirectCommandsTokenCount</code>",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -82344,7 +82384,7 @@
}, },
{ {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-09548", "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -82499,7 +82539,7 @@
}, },
{ {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-isPreprocessed-02908", "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-isPreprocessed-02908",
"text": "If <code>isPreprocessed</code> is <code>VK_TRUE</code> then <a href=\"#vkCmdPreprocessGeneratedCommandsNV\">vkCmdPreprocessGeneratedCommandsNV</a> <strong class=\"purple\">must</strong> have already been executed on the device, using the same <code>pGeneratedCommandsInfo</code> content as well as the content of the input buffers it references (all except <a href=\"#VkGeneratedCommandsInfoNV\">VkGeneratedCommandsInfoNV</a>::<code>preprocessBuffer</code>). Furthermore <code>pGeneratedCommandsInfo</code>`s <code>indirectCommandsLayout</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV</code> bit set", "text": "If <code>isPreprocessed</code> is <code>VK_TRUE</code> then <a href=\"#vkCmdPreprocessGeneratedCommandsNV\">vkCmdPreprocessGeneratedCommandsNV</a> <strong class=\"purple\">must</strong> have already been executed on the device, using the same <code>pGeneratedCommandsInfo</code> content as well as the content of the input buffers it references (all except <a href=\"#VkGeneratedCommandsInfoNV\">VkGeneratedCommandsInfoNV</a>::<code>preprocessBuffer</code>). Furthermore, <code>pGeneratedCommandsInfo</code>&#8217;s <code>indirectCommandsLayout</code> <strong class=\"purple\">must</strong> have been created with the <code>VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV</code> bit set",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -82618,7 +82658,7 @@
}, },
{ {
"vuid": "VUID-VkGeneratedCommandsInfoNV-preprocessSize-02920", "vuid": "VUID-VkGeneratedCommandsInfoNV-preprocessSize-02920",
"text": "<code>preprocessSize</code> <strong class=\"purple\">must</strong> be at least equal to the memory requirement`s size returned by <a href=\"#vkGetGeneratedCommandsMemoryRequirementsNV\">vkGetGeneratedCommandsMemoryRequirementsNV</a> using the matching inputs (<code>indirectCommandsLayout</code>, &#8230;&#8203;) as within this structure", "text": "<code>preprocessSize</code> <strong class=\"purple\">must</strong> be at least equal to the memory requirement&#8217;s size returned by <a href=\"#vkGetGeneratedCommandsMemoryRequirementsNV\">vkGetGeneratedCommandsMemoryRequirementsNV</a> using the matching inputs (<code>indirectCommandsLayout</code>, &#8230;&#8203;) as within this structure",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -84131,7 +84171,7 @@
}, },
{ {
"vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-09548", "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-09548",
"text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, and there is no shader object bound to any graphics stage, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline", "text": "If the current render pass was begun with <a href=\"#vkCmdBeginRendering\">vkCmdBeginRendering</a>, there is no shader object bound to any graphics stage, and <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> has been called inside the render pass instance, the value of each element of <a href=\"#VkRenderingAttachmentLocationInfo\">VkRenderingAttachmentLocationInfo</a>::<code>pColorAttachmentLocations</code> set by <a href=\"#vkCmdSetRenderingAttachmentLocations\">vkCmdSetRenderingAttachmentLocations</a> <strong class=\"purple\">must</strong> match the value set for the corresponding element in the bound pipeline",
"page": "chapters/device_generated_commands/generatedcommands.html" "page": "chapters/device_generated_commands/generatedcommands.html"
}, },
{ {
@ -85865,20 +85905,20 @@
} }
] ]
}, },
"VkOHSurfaceCreateInfoOHOS": { "VkSurfaceCreateInfoOHOS": {
"core": [ "core": [
{ {
"vuid": "VUID-VkOHSurfaceCreateInfoOHOS-sType-sType", "vuid": "VUID-VkSurfaceCreateInfoOHOS-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_OH_SURFACE_CREATE_INFO_OHOS</code>", "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS</code>",
"page": "chapters/VK_KHR_surface/wsi.html" "page": "chapters/VK_KHR_surface/wsi.html"
}, },
{ {
"vuid": "VUID-VkOHSurfaceCreateInfoOHOS-pNext-pNext", "vuid": "VUID-VkSurfaceCreateInfoOHOS-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>",
"page": "chapters/VK_KHR_surface/wsi.html" "page": "chapters/VK_KHR_surface/wsi.html"
}, },
{ {
"vuid": "VUID-VkOHSurfaceCreateInfoOHOS-flags-zerobitmask", "vuid": "VUID-VkSurfaceCreateInfoOHOS-flags-zerobitmask",
"text": "<code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>", "text": "<code>flags</code> <strong class=\"purple\">must</strong> be <code>0</code>",
"page": "chapters/VK_KHR_surface/wsi.html" "page": "chapters/VK_KHR_surface/wsi.html"
} }
@ -104012,8 +104052,8 @@
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-module-09769", "vuid": "VUID-VkDataGraphPipelineCreateInfoARM-layout-09769",
"text": "If a <a href=\"#interfaces-resources\">resource variable</a> is declared in <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a>::<code>module</code>, a descriptor slot in <code>layout</code> <strong class=\"purple\">must</strong> match the descriptor type", "text": "If a <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a> structure is included in the <code>pNext</code> chain and a <a href=\"#interfaces-resources\">resource variable</a> is declared in the shader module, the corresponding descriptor binding used to create <code>layout</code> <strong class=\"purple\">must</strong> have a <code>descriptorType</code> that corresponds to the type of the <a href=\"#interfaces-resources\">resource variable</a>",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
@ -104021,11 +104061,6 @@
"text": "If a <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a> structure is included in the <code>pNext</code> chain, then <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT</code>", "text": "If a <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a> structure is included in the <code>pNext</code> chain, then <code>flags</code> <strong class=\"purple\">must</strong> contain <code>VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pNext-09876",
"text": "If a <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a> structure is included in the <code>pNext</code> chain, then a <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a> structure <strong class=\"purple\">must</strong> not be included in the <code>pNext</code> chain",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pNext-09882", "vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pNext-09882",
"text": "If a <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a> structure is included in the <code>pNext</code> chain, then <code>resourceInfoCount</code> <strong class=\"purple\">must</strong> be 0 and <code>pResourceInfos</code> <strong class=\"purple\">must</strong> be <code>NULL</code>", "text": "If a <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a> structure is included in the <code>pNext</code> chain, then <code>resourceInfoCount</code> <strong class=\"purple\">must</strong> be 0 and <code>pResourceInfos</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
@ -104037,8 +104072,8 @@
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-module-09934", "vuid": "VUID-VkDataGraphPipelineCreateInfoARM-layout-09934",
"text": "If a <a href=\"#interfaces-resources\">resource variable</a> is declared in <code>module</code> as an array, a descriptor slot in <code>layout</code> <strong class=\"purple\">must</strong> match the descriptor count", "text": "If a <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a> structure is included in the <code>pNext</code> chain and an array <a href=\"#interfaces-resources\">resource variable</a> is declared in the shader module, the corresponding descriptor binding used to create <code>layout</code> <strong class=\"purple\">must</strong> have a <code>descriptorCount</code> that matches the length of the array",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
@ -104051,11 +104086,6 @@
"text": "The descriptor set layouts in <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>pSetLayouts</code> used to create <code>layout</code> <strong class=\"purple\">must</strong> not include any <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a> whose descriptor type is <code>VK_DESCRIPTOR_TYPE_MUTABLE_EXT</code>", "text": "The descriptor set layouts in <a href=\"#VkPipelineLayoutCreateInfo\">VkPipelineLayoutCreateInfo</a>::<code>pSetLayouts</code> used to create <code>layout</code> <strong class=\"purple\">must</strong> not include any <a href=\"#VkDescriptorSetLayoutBinding\">VkDescriptorSetLayoutBinding</a> whose descriptor type is <code>VK_DESCRIPTOR_TYPE_MUTABLE_EXT</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pResourceInfos-09771",
"text": "For each of the structures in <code>pResourceInfos</code>, <a href=\"#VkDataGraphPipelineResourceInfoARM\">VkDataGraphPipelineResourceInfoARM</a>::<code>descriptorSet</code> and <a href=\"#VkDataGraphPipelineResourceInfoARM\">VkDataGraphPipelineResourceInfoARM</a>::<code>binding</code> <strong class=\"purple\">must</strong> correspond to a <a href=\"#interfaces-resources\">resource variable</a> declared in <code>module</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pipelineProtectedAccess-09772", "vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pipelineProtectedAccess-09772",
"text": "If the <a href=\"#features-pipelineProtectedAccess\"><code>pipelineProtectedAccess</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT</code>", "text": "If the <a href=\"#features-pipelineProtectedAccess\"><code>pipelineProtectedAccess</code></a> feature is not enabled, <code>flags</code> <strong class=\"purple\">must</strong> not include <code>VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT</code> or <code>VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT</code>",
@ -104071,6 +104101,16 @@
"text": "If the <code>pNext</code> chain includes an <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a> structure, then its <code>pipelineStageCreationFeedbackCount</code> <strong class=\"purple\">must</strong> be 0", "text": "If the <code>pNext</code> chain includes an <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a> structure, then its <code>pipelineStageCreationFeedbackCount</code> <strong class=\"purple\">must</strong> be 0",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pNext-09948",
"text": "If a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure is included in the <code>pNext</code> chain, each member of <code>pProcessingEngines</code> <strong class=\"purple\">must</strong> be identical to an <a href=\"#VkQueueFamilyDataGraphPropertiesARM\">VkQueueFamilyDataGraphPropertiesARM</a>::<code>engine</code> retrieved from <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM</a> with the <code>physicalDevice</code> that was used to create <code>device</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pNext-09949",
"text": "If a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure is not included in the <code>pNext</code> chain, <code>VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM</code> <strong class=\"purple\">must</strong> be set in an <a href=\"#VkQueueFamilyDataGraphPropertiesARM\">VkQueueFamilyDataGraphPropertiesARM</a>::<code>engine</code> retrieved from <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM</a> with the <code>physicalDevice</code> that was used to create <code>device</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-sType-sType", "vuid": "VUID-VkDataGraphPipelineCreateInfoARM-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM</code>", "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM</code>",
@ -104078,7 +104118,7 @@
}, },
{ {
"vuid": "VUID-VkDataGraphPipelineCreateInfoARM-pNext-pNext", "vuid": "VUID-VkDataGraphPipelineCreateInfoARM-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=\"#VkDataGraphPipelineCompilerControlCreateInfoARM\">VkDataGraphPipelineCompilerControlCreateInfoARM</a>, <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a>, <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a>, <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a>, or <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</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=\"#VkDataGraphPipelineCompilerControlCreateInfoARM\">VkDataGraphPipelineCompilerControlCreateInfoARM</a>, <a href=\"#VkDataGraphPipelineIdentifierCreateInfoARM\">VkDataGraphPipelineIdentifierCreateInfoARM</a>, <a href=\"#VkDataGraphPipelineShaderModuleCreateInfoARM\">VkDataGraphPipelineShaderModuleCreateInfoARM</a>, <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a>, <a href=\"#VkPipelineCreationFeedbackCreateInfo\">VkPipelineCreationFeedbackCreateInfo</a>, or <a href=\"#VkShaderModuleCreateInfo\">VkShaderModuleCreateInfo</a>",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
@ -104164,11 +104204,6 @@
}, },
"VkDataGraphPipelineIdentifierCreateInfoARM": { "VkDataGraphPipelineIdentifierCreateInfoARM": {
"core": [ "core": [
{
"vuid": "VUID-VkDataGraphPipelineIdentifierCreateInfoARM-pIdentifer-09877",
"text": "The data provided via <code>pIdentifer</code> <strong class=\"purple\">must</strong> have been obtained by calling <a href=\"#vkGetDataGraphPipelinePropertiesARM\">vkGetDataGraphPipelinePropertiesARM</a> to query the value of the <code>VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM</code> property",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-VkDataGraphPipelineIdentifierCreateInfoARM-sType-sType", "vuid": "VUID-VkDataGraphPipelineIdentifierCreateInfoARM-sType-sType",
"text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM</code>", "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM</code>",
@ -104429,6 +104464,11 @@
}, },
"vkGetDataGraphPipelineSessionMemoryRequirementsARM": { "vkGetDataGraphPipelineSessionMemoryRequirementsARM": {
"core": [ "core": [
{
"vuid": "VUID-vkGetDataGraphPipelineSessionMemoryRequirementsARM-session-09950",
"text": "The <code>session</code> member of <code>pInfo</code> <strong class=\"purple\">must</strong> have been created with <code>device</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-vkGetDataGraphPipelineSessionMemoryRequirementsARM-bindPoint-09784", "vuid": "VUID-vkGetDataGraphPipelineSessionMemoryRequirementsARM-bindPoint-09784",
"text": "The <code>bindPoint</code> member of <code>pInfo</code> <strong class=\"purple\">must</strong> have been returned as part of a <a href=\"#VkDataGraphPipelineSessionBindPointRequirementARM\">VkDataGraphPipelineSessionBindPointRequirementARM</a> whose <code>bindPointType</code> member is <code>VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM</code> by a prior call to <a href=\"#vkGetDataGraphPipelineSessionMemoryRequirementsARM\">vkGetDataGraphPipelineSessionMemoryRequirementsARM</a> for the <code>session</code> member of <code>pInfo</code>", "text": "The <code>bindPoint</code> member of <code>pInfo</code> <strong class=\"purple\">must</strong> have been returned as part of a <a href=\"#VkDataGraphPipelineSessionBindPointRequirementARM\">VkDataGraphPipelineSessionBindPointRequirementARM</a> whose <code>bindPointType</code> member is <code>VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM</code> by a prior call to <a href=\"#vkGetDataGraphPipelineSessionMemoryRequirementsARM\">vkGetDataGraphPipelineSessionMemoryRequirementsARM</a> for the <code>session</code> member of <code>pInfo</code>",
@ -104624,6 +104664,11 @@
"text": "For each of the session bind point requirements returned by <a href=\"#vkGetDataGraphPipelineSessionBindPointRequirementsARM\">vkGetDataGraphPipelineSessionBindPointRequirementsARM</a> for <code>session</code>, <a href=\"#VkDataGraphPipelineSessionBindPointRequirementARM\">VkDataGraphPipelineSessionBindPointRequirementARM</a>::<code>numObjects</code> objects <strong class=\"purple\">must</strong> have been bound to <code>session</code>", "text": "For each of the session bind point requirements returned by <a href=\"#vkGetDataGraphPipelineSessionBindPointRequirementsARM\">vkGetDataGraphPipelineSessionBindPointRequirementsARM</a> for <code>session</code>, <a href=\"#VkDataGraphPipelineSessionBindPointRequirementARM\">VkDataGraphPipelineSessionBindPointRequirementARM</a>::<code>numObjects</code> objects <strong class=\"purple\">must</strong> have been bound to <code>session</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{
"vuid": "VUID-vkCmdDispatchDataGraphARM-dataGraphPipeline-09951",
"text": "The <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command <strong class=\"purple\">must</strong> be identical to the <code>dataGraphPipeline</code> used to create <code>session</code>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-vkCmdDispatchDataGraphARM-None-09797", "vuid": "VUID-vkCmdDispatchDataGraphARM-None-09797",
"text": "For each set <em>n</em> that is statically used by a bound data graph pipeline, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for set <em>n</em>, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> used to create the current <a href=\"#VkPipeline\">VkPipeline</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>", "text": "For each set <em>n</em> that is statically used by a bound data graph pipeline, a descriptor set <strong class=\"purple\">must</strong> have been bound to <em>n</em> at the same pipeline bind point, with a <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> that is compatible for set <em>n</em>, with the <a href=\"#VkPipelineLayout\">VkPipelineLayout</a> used to create the current <a href=\"#VkPipeline\">VkPipeline</a>, as described in <a href=\"#descriptorsets-compatibility\">Pipeline Layout Compatibility</a>",
@ -104665,8 +104710,13 @@
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
"vuid": "VUID-vkCmdDispatchDataGraphARM-commandBuffer-09940", "vuid": "VUID-vkCmdDispatchDataGraphARM-pipeline-09940",
"text": "If <code>commandBuffer</code> was allocated from a pool that was created with a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure in the <code>pNext</code> chain of <a href=\"#VkCommandPoolCreateInfo\">VkCommandPoolCreateInfo</a> that included a foreign data graph processing engine in its <code>pProcessingEngines</code> member, then all <code>VK_DESCRIPTOR_TYPE_TENSOR_ARM</code> descriptors accessed as a result of this command <strong class=\"purple\">must</strong> be tied to <a href=\"#VkTensorARM\">VkTensorARM</a> objects that have been bound to memory created from external handle types reported as supported in a <a href=\"#VkQueueFamilyDataGraphProcessingEnginePropertiesARM\">VkQueueFamilyDataGraphProcessingEnginePropertiesARM</a>::<code>foreignMemoryHandleTypes</code> structure via <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM</a> with a <code>queueFamilyIndex</code> matching the one the command pool was created for, for all the foreign data graph processing engines that were part of the <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> used to create the command pool", "text": "If the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command was created with a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure in the <code>pNext</code> chain of <a href=\"#VkDataGraphPipelineCreateInfoARM\">VkDataGraphPipelineCreateInfoARM</a> that included a foreign data graph processing engine in its <code>pProcessingEngines</code> member, then all <code>VK_DESCRIPTOR_TYPE_TENSOR_ARM</code> descriptors accessed as a result of this command <strong class=\"purple\">must</strong> be <a href=\"#VkTensorARM\">VkTensorARM</a> objects that have been bound to memory allocated with <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>::<code>handleTypes</code> with set bits that are a subset of the bits in <a href=\"#VkQueueFamilyDataGraphProcessingEnginePropertiesARM\">VkQueueFamilyDataGraphProcessingEnginePropertiesARM</a>::<code>foreignMemoryHandleTypes</code> structure queried via <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM</a> with a <code>queueFamilyIndex</code> matching the one the command pool used to create <code>commandBuffer</code> was created for and an identical <code>engineType</code>, for all the foreign data graph processing engines that were part of the <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> used to create the <a href=\"#VkPipeline\">VkPipeline</a>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{
"vuid": "VUID-vkCmdDispatchDataGraphARM-pNext-09952",
"text": "If the <a href=\"#VkPipeline\">VkPipeline</a> bound to the pipeline bind point used by this command was created with a <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> structure in the <code>pNext</code> chain of <a href=\"#VkDataGraphPipelineCreateInfoARM\">VkDataGraphPipelineCreateInfoARM</a> that included a foreign data graph processing engine in its <code>pProcessingEngines</code> member, then all <code>session</code> bound memory <strong class=\"purple\">must</strong> have been allocated with <a href=\"#VkExportMemoryAllocateInfo\">VkExportMemoryAllocateInfo</a>::<code>handleTypes</code> with set bits that are a subset of the bits in <a href=\"#VkQueueFamilyDataGraphProcessingEnginePropertiesARM\">VkQueueFamilyDataGraphProcessingEnginePropertiesARM</a>::<code>foreignMemoryHandleTypes</code> structure queried via <a href=\"#vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM\">vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM</a> with a <code>queueFamilyIndex</code> matching the one the command pool used to create <code>commandBuffer</code> was created for and an identical <code>engineType</code>, for all the foreign data graph processing engines that were part of the <a href=\"#VkDataGraphProcessingEngineCreateInfoARM\">VkDataGraphProcessingEngineCreateInfoARM</a> used to create the <a href=\"#VkPipeline\">VkPipeline</a>",
"page": "chapters/VK_ARM_data_graph/graphs.html" "page": "chapters/VK_ARM_data_graph/graphs.html"
}, },
{ {
@ -104747,11 +104797,6 @@
}, },
"vkGetDataGraphPipelineAvailablePropertiesARM": { "vkGetDataGraphPipelineAvailablePropertiesARM": {
"core": [ "core": [
{
"vuid": "VUID-vkGetDataGraphPipelineAvailablePropertiesARM-dataGraphPipeline-09887",
"text": "The <code>dataGraphPipeline</code> member of <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> have been returned by a call to <a href=\"#vkCreateDataGraphPipelinesARM\">vkCreateDataGraphPipelinesARM</a>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-vkGetDataGraphPipelineAvailablePropertiesARM-dataGraphPipeline-09888", "vuid": "VUID-vkGetDataGraphPipelineAvailablePropertiesARM-dataGraphPipeline-09888",
"text": "The <code>dataGraphPipeline</code> member of <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> have been created with <code>device</code>", "text": "The <code>dataGraphPipeline</code> member of <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> have been created with <code>device</code>",
@ -104781,11 +104826,6 @@
}, },
"vkGetDataGraphPipelinePropertiesARM": { "vkGetDataGraphPipelinePropertiesARM": {
"core": [ "core": [
{
"vuid": "VUID-vkGetDataGraphPipelinePropertiesARM-dataGraphPipeline-09869",
"text": "The <code>dataGraphPipeline</code> member of <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> have been returned by a call to <a href=\"#vkCreateDataGraphPipelinesARM\">vkCreateDataGraphPipelinesARM</a>",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-vkGetDataGraphPipelinePropertiesARM-dataGraphPipeline-09802", "vuid": "VUID-vkGetDataGraphPipelinePropertiesARM-dataGraphPipeline-09802",
"text": "The <code>dataGraphPipeline</code> member of <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> have been created with <code>device</code>", "text": "The <code>dataGraphPipeline</code> member of <code>pPipelineInfo</code> <strong class=\"purple\">must</strong> have been created with <code>device</code>",
@ -104949,6 +104989,11 @@
}, },
"VkDataGraphProcessingEngineCreateInfoARM": { "VkDataGraphProcessingEngineCreateInfoARM": {
"core": [ "core": [
{
"vuid": "VUID-VkDataGraphProcessingEngineCreateInfoARM-dataGraph-09953",
"text": "The <a href=\"#features-dataGraph\"><code>dataGraph</code></a> feature <strong class=\"purple\">must</strong> be enabled",
"page": "chapters/VK_ARM_data_graph/graphs.html"
},
{ {
"vuid": "VUID-VkDataGraphProcessingEngineCreateInfoARM-pProcessingEngines-09918", "vuid": "VUID-VkDataGraphProcessingEngineCreateInfoARM-pProcessingEngines-09918",
"text": "<code>pProcessingEngines</code> <strong class=\"purple\">must</strong> not contain identical <a href=\"#VkPhysicalDeviceDataGraphProcessingEngineARM\">VkPhysicalDeviceDataGraphProcessingEngineARM</a> structures", "text": "<code>pProcessingEngines</code> <strong class=\"purple\">must</strong> not contain identical <a href=\"#VkPhysicalDeviceDataGraphProcessingEngineARM\">VkPhysicalDeviceDataGraphProcessingEngineARM</a> structures",
@ -110583,6 +110628,11 @@
"text": "If the <code>Base</code> operand of <code>OpPtrAccessChain</code> or <code>OpUntypedPtrAccessChainKHR</code> has a <code>StorageBuffer</code> <code>Storage</code> <code>Class</code>, then the <code>VariablePointers</code> or <code>VariablePointersStorageBuffer</code> capability <strong class=\"purple\">must</strong> be declared", "text": "If the <code>Base</code> operand of <code>OpPtrAccessChain</code> or <code>OpUntypedPtrAccessChainKHR</code> has a <code>StorageBuffer</code> <code>Storage</code> <code>Class</code>, then the <code>VariablePointers</code> or <code>VariablePointersStorageBuffer</code> capability <strong class=\"purple\">must</strong> be declared",
"page": "appendices/spirvenv.html" "page": "appendices/spirvenv.html"
}, },
{
"vuid": "VUID-StandaloneSpirv-OpUntypedVariableKHR-11167",
"text": "Any <code>OpUntypedVariableKHR</code> <strong class=\"purple\">must</strong> have a <code>Data</code> <code>Type</code> operand specified",
"page": "appendices/spirvenv.html"
},
{ {
"vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04708", "vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-04708",
"text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, all instructions that support memory access operands and that use a physical pointer <strong class=\"purple\">must</strong> include the <code>Aligned</code> operand", "text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, all instructions that support memory access operands and that use a physical pointer <strong class=\"purple\">must</strong> include the <code>Aligned</code> operand",
@ -110598,6 +110648,11 @@
"text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, <code>OpConvertUToPtr</code> and <code>OpConvertPtrToU</code> <strong class=\"purple\">must</strong> use an integer type whose <code>Width</code> is 64", "text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled, <code>OpConvertUToPtr</code> and <code>OpConvertPtrToU</code> <strong class=\"purple\">must</strong> use an integer type whose <code>Width</code> is 64",
"page": "appendices/spirvenv.html" "page": "appendices/spirvenv.html"
}, },
{
"vuid": "VUID-StandaloneSpirv-PhysicalStorageBuffer64-06314",
"text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled any load or store through a physical pointer type <strong class=\"purple\">must</strong> have an <code>Aligned</code> operand which is a multiple of the size of the largest scalar type in the pointed-to type",
"page": "appendices/spirvenv.html"
},
{ {
"vuid": "VUID-StandaloneSpirv-OpTypeForwardPointer-04711", "vuid": "VUID-StandaloneSpirv-OpTypeForwardPointer-04711",
"text": "<code>OpTypeForwardPointer</code> <strong class=\"purple\">must</strong> have a <code>Storage</code> <code>Class</code> of <code>PhysicalStorageBuffer</code>", "text": "<code>OpTypeForwardPointer</code> <strong class=\"purple\">must</strong> have a <code>Storage</code> <code>Class</code> of <code>PhysicalStorageBuffer</code>",
@ -111192,11 +111247,6 @@
"text": "The XFB Stride value to <code>XfbStride</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>::<code>maxTransformFeedbackBufferDataStride</code>", "text": "The XFB Stride value to <code>XfbStride</code> <strong class=\"purple\">must</strong> be less than or equal to <a href=\"#VkPhysicalDeviceTransformFeedbackPropertiesEXT\">VkPhysicalDeviceTransformFeedbackPropertiesEXT</a>::<code>maxTransformFeedbackBufferDataStride</code>",
"page": "appendices/spirvenv.html" "page": "appendices/spirvenv.html"
}, },
{
"vuid": "VUID-RuntimeSpirv-PhysicalStorageBuffer64-06314",
"text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled any load or store through a physical pointer type <strong class=\"purple\">must</strong> be aligned to a multiple of the size of the largest scalar type in the pointed-to type",
"page": "appendices/spirvenv.html"
},
{ {
"vuid": "VUID-RuntimeSpirv-PhysicalStorageBuffer64-06315", "vuid": "VUID-RuntimeSpirv-PhysicalStorageBuffer64-06315",
"text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled the pointer value of a memory access instruction <strong class=\"purple\">must</strong> be at least as aligned as specified by the <code>Aligned</code> memory access operand", "text": "If the <code>PhysicalStorageBuffer64</code> addressing model is enabled the pointer value of a memory access instruction <strong class=\"purple\">must</strong> be at least as aligned as specified by the <code>Aligned</code> memory access operand",
@ -111887,11 +111937,6 @@
"text": "Any memory access made using an <code>OpTypeUntypedPointerKHR</code> must have an alignment that satisfies <a href=\"#interfaces-resources-layout\">Offset and Stride Assignment</a>", "text": "Any memory access made using an <code>OpTypeUntypedPointerKHR</code> must have an alignment that satisfies <a href=\"#interfaces-resources-layout\">Offset and Stride Assignment</a>",
"page": "appendices/spirvenv.html" "page": "appendices/spirvenv.html"
}, },
{
"vuid": "VUID-RuntimeSpirv-OpUntypedVariableKHR-11167",
"text": "Any <code>OpUntypedVariableKHR</code> <strong class=\"purple\">must</strong> have a <code>Data</code> <code>Type</code> operand specified",
"page": "appendices/spirvenv.html"
},
{ {
"vuid": "VUID-RuntimeSpirv-OpImage-06376", "vuid": "VUID-RuntimeSpirv-OpImage-06376",
"text": "If an <code>OpImage*Gather</code> operation has an image operand of <code>Offset</code>, <code>ConstOffset</code>, or <code>ConstOffsets</code> the offset value <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#limits-minTexelGatherOffset\"><code>minTexelGatherOffset</code></a>", "text": "If an <code>OpImage*Gather</code> operation has an image operand of <code>Offset</code>, <code>ConstOffset</code>, or <code>ConstOffsets</code> the offset value <strong class=\"purple\">must</strong> be greater than or equal to <a href=\"#limits-minTexelGatherOffset\"><code>minTexelGatherOffset</code></a>",

View file

@ -424,8 +424,8 @@ The current public version of video.xml is maintained in the default branch
<member><type>uint16_t</type> <name>elemental_duration_in_tc_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]</member> <member><type>uint16_t</type> <name>elemental_duration_in_tc_minus1</name>[<enum>STD_VIDEO_H265_SUBLAYERS_LIST_SIZE</enum>]</member>
<member><type>uint16_t</type> <name>reserved</name>[3]<comment>Reserved for future use and must be initialized with 0.</comment></member> <member><type>uint16_t</type> <name>reserved</name>[3]<comment>Reserved for future use and must be initialized with 0.</comment></member>
<!-- NOTE: These arrays are sized according to parameters coming from their encompassing structures --> <!-- NOTE: These arrays are sized according to parameters coming from their encompassing structures -->
<member optional="true" len="sps_max_sub_layers_minus1 + 1,vps_max_sub_layers_minus1 + 1">const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersNal</name><comment>if flags.nal_hrd_parameters_present_flag is set, then this must be a ptr to an array of StdVideoH265SubLayerHrdParameters with a size specified by sps_max_sub_layers_minus1 + 1 or vps_max_sub_layers_minus1 + 1, depending on whether the HRD parameters are part of the SPS or VPS, respectively.</comment></member> <member optional="true" len="*_max_sub_layers_minus1 + 1">const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersNal</name><comment>if flags.nal_hrd_parameters_present_flag is set, then this must be a ptr to an array of StdVideoH265SubLayerHrdParameters with a size specified by sps_max_sub_layers_minus1 + 1 or vps_max_sub_layers_minus1 + 1, depending on whether the HRD parameters are part of the SPS or VPS, respectively.</comment></member>
<member optional="true" len="sps_max_sub_layers_minus1 + 1,vps_max_sub_layers_minus1 + 1">const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersVcl</name><comment>if flags.vcl_hrd_parameters_present_flag is set, then this must be a ptr to an array of StdVideoH265SubLayerHrdParameters with a size specified by sps_max_sub_layers_minus1 + 1 or vps_max_sub_layers_minus1 + 1, depending on whether the HRD parameters are part of the SPS or VPS, respectively.</comment></member> <member optional="true" len="*_max_sub_layers_minus1 + 1">const <type>StdVideoH265SubLayerHrdParameters</type>* <name>pSubLayerHrdParametersVcl</name><comment>if flags.vcl_hrd_parameters_present_flag is set, then this must be a ptr to an array of StdVideoH265SubLayerHrdParameters with a size specified by sps_max_sub_layers_minus1 + 1 or vps_max_sub_layers_minus1 + 1, depending on whether the HRD parameters are part of the SPS or VPS, respectively.</comment></member>
</type> </type>
<type category="struct" name="StdVideoH265VpsFlags"> <type category="struct" name="StdVideoH265VpsFlags">
<member><type>uint32_t</type> <name>vps_temporal_id_nesting_flag</name> : 1</member> <member><type>uint32_t</type> <name>vps_temporal_id_nesting_flag</name> : 1</member>

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,14 @@
from dataclasses import dataclass, field from dataclasses import dataclass, field
from enum import IntFlag, Enum, auto from enum import IntFlag, Enum, auto
@dataclass
class FeatureRequirement:
"""Each instance of FeatureRequirement is one part of the AND operation,
unless the struct/field are the same, then the depends are AND togethered"""
struct: str
field: str # Can have comma delimiter, which are expressed as OR
depends: (str | None) # ex) "VK_EXT_descriptor_indexing", "VK_VERSION_1_2+VkPhysicalDeviceVulkan12Features::descriptorIndexing"
@dataclass @dataclass
class Extension: class Extension:
"""<extension>""" """<extension>"""
@ -27,6 +35,7 @@ class Extension:
deprecatedBy: (str | None) deprecatedBy: (str | None)
obsoletedBy: (str | None) obsoletedBy: (str | None)
specialUse: list[str] specialUse: list[str]
featureRequirement: list[FeatureRequirement]
ratified: bool ratified: bool
# These are here to allow for easy reverse lookups # These are here to allow for easy reverse lookups
@ -52,6 +61,8 @@ class Version:
nameString: str # ex) "VK_VERSION_1_1" (no marco, so has quotes) nameString: str # ex) "VK_VERSION_1_1" (no marco, so has quotes)
nameApi: str # ex) VK_API_VERSION_1_1 nameApi: str # ex) VK_API_VERSION_1_1
featureRequirement: list[FeatureRequirement]
@dataclass @dataclass
class Deprecate: class Deprecate:
"""<deprecate>""" """<deprecate>"""