From d4a196d8c84e032d27f999adcea3075517c1c97f Mon Sep 17 00:00:00 2001 From: Jon Leech Date: Thu, 19 Dec 2024 21:42:01 -0800 Subject: [PATCH] Update for Vulkan-Docs 1.4.304 --- include/vulkan/vulkan.cppm | 26 + include/vulkan/vulkan.hpp | 2 +- include/vulkan/vulkan_core.h | 4 +- include/vulkan/vulkan_enums.hpp | 16 +- .../vulkan/vulkan_extension_inspection.hpp | 8 +- include/vulkan/vulkan_handles.hpp | 50 + include/vulkan/vulkan_structs.hpp | 577 ++++-- include/vulkan/vulkan_to_string.hpp | 4 +- include/vulkan/vulkan_video.hpp | 361 +++- registry/reg.py | 6 +- registry/validusage.json | 1800 +++++++---------- registry/vk.xml | 95 +- 12 files changed, 1693 insertions(+), 1256 deletions(-) diff --git a/include/vulkan/vulkan.cppm b/include/vulkan/vulkan.cppm index 0ba8645d..e48a6530 100644 --- a/include/vulkan/vulkan.cppm +++ b/include/vulkan/vulkan.cppm @@ -22,6 +22,7 @@ module; #include #include #include +#include export module vulkan_hpp; @@ -41,6 +42,7 @@ export namespace VULKAN_HPP_NAMESPACE using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderDynamic; #if !defined( VK_NO_PROTOTYPES ) using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderStatic; + using VULKAN_HPP_NAMESPACE::detail::getDispatchLoaderStatic; #endif /*VK_NO_PROTOTYPES*/ } // namespace detail @@ -2686,6 +2688,30 @@ export namespace VULKAN_HPP_NAMESPACE using VULKAN_HPP_NAMESPACE::ApiVersion14; using VULKAN_HPP_NAMESPACE::HeaderVersionComplete; + //==================== + //=== FUNCPOINTERs === + //==================== + + //=== VK_VERSION_1_0 === + using VULKAN_HPP_NAMESPACE::PFN_AllocationFunction; + using VULKAN_HPP_NAMESPACE::PFN_FreeFunction; + using VULKAN_HPP_NAMESPACE::PFN_InternalAllocationNotification; + using VULKAN_HPP_NAMESPACE::PFN_InternalFreeNotification; + using VULKAN_HPP_NAMESPACE::PFN_ReallocationFunction; + using VULKAN_HPP_NAMESPACE::PFN_VoidFunction; + + //=== VK_EXT_debug_report === + using VULKAN_HPP_NAMESPACE::PFN_DebugReportCallbackEXT; + + //=== VK_EXT_debug_utils === + using VULKAN_HPP_NAMESPACE::PFN_DebugUtilsMessengerCallbackEXT; + + //=== VK_EXT_device_memory_report === + using VULKAN_HPP_NAMESPACE::PFN_DeviceMemoryReportCallbackEXT; + + //=== VK_LUNARG_direct_driver_loading === + using VULKAN_HPP_NAMESPACE::PFN_GetInstanceProcAddrLUNARG; + //=============== //=== STRUCTs === //=============== diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 96c7cc8a..fce9f3f1 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -63,7 +63,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 303, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 304, "Wrong VK_HEADER_VERSION!" ); // includes through some other header // this results in major(x) being resolved to gnu_dev_major(x) diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index 4e716da0..f1af7ea7 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -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 // Version of this file -#define VK_HEADER_VERSION 303 +#define VK_HEADER_VERSION 304 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) @@ -5954,7 +5954,7 @@ typedef enum VkDriverId { VK_DRIVER_ID_MESA_NVK = 24, VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, VK_DRIVER_ID_MESA_HONEYKRISP = 26, - VK_DRIVER_ID_RESERVED_27 = 27, + VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27, VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index c7de3555..f879bff8 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -256,8 +256,8 @@ namespace VULKAN_HPP_NAMESPACE eErrorInvalidDeviceAddressEXT = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT, eErrorInvalidOpaqueCaptureAddressKHR = VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR, ePipelineCompileRequired = VK_PIPELINE_COMPILE_REQUIRED, - eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT, ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT, + eErrorPipelineCompileRequiredEXT = VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT, eErrorNotPermitted = VK_ERROR_NOT_PERMITTED, eErrorNotPermittedEXT = VK_ERROR_NOT_PERMITTED_EXT, eErrorNotPermittedKHR = VK_ERROR_NOT_PERMITTED_KHR, @@ -413,8 +413,8 @@ namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceMultiviewProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, ePhysicalDeviceMultiviewPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES_KHR, ePhysicalDeviceVariablePointersFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, - ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, ePhysicalDeviceVariablePointerFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES, + ePhysicalDeviceVariablePointersFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES_KHR, ePhysicalDeviceVariablePointerFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR, eProtectedSubmitInfo = VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO, ePhysicalDeviceProtectedMemoryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, @@ -495,8 +495,8 @@ namespace VULKAN_HPP_NAMESPACE ePhysicalDeviceShaderAtomicInt64Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, ePhysicalDeviceShaderAtomicInt64FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR, ePhysicalDeviceShaderFloat16Int8Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES, - ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, ePhysicalDeviceShaderFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES_KHR, + ePhysicalDeviceFloat16Int8FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR, ePhysicalDeviceFloatControlsProperties = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, ePhysicalDeviceFloatControlsPropertiesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR, eDescriptorSetLayoutBindingFlagsCreateInfo = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO, @@ -675,11 +675,11 @@ namespace VULKAN_HPP_NAMESPACE eDeviceQueueGlobalPriorityCreateInfoEXT = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT, eDeviceQueueGlobalPriorityCreateInfoKHR = VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR, ePhysicalDeviceGlobalPriorityQueryFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES, - ePhysicalDeviceGlobalPriorityQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, ePhysicalDeviceGlobalPriorityQueryFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, + ePhysicalDeviceGlobalPriorityQueryFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT, eQueueFamilyGlobalPriorityProperties = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES, - eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT, eQueueFamilyGlobalPriorityPropertiesKHR = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR, + eQueueFamilyGlobalPriorityPropertiesEXT = VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT, ePhysicalDeviceShaderSubgroupRotateFeatures = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES, ePhysicalDeviceShaderSubgroupRotateFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR, ePhysicalDeviceShaderFloatControls2Features = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES, @@ -3532,9 +3532,9 @@ namespace VULKAN_HPP_NAMESPACE eStore = VK_ATTACHMENT_STORE_OP_STORE, eDontCare = VK_ATTACHMENT_STORE_OP_DONT_CARE, eNone = VK_ATTACHMENT_STORE_OP_NONE, - eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT, eNoneKHR = VK_ATTACHMENT_STORE_OP_NONE_KHR, - eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM + eNoneQCOM = VK_ATTACHMENT_STORE_OP_NONE_QCOM, + eNoneEXT = VK_ATTACHMENT_STORE_OP_NONE_EXT }; enum class DependencyFlagBits : VkDependencyFlags @@ -4151,7 +4151,7 @@ namespace VULKAN_HPP_NAMESPACE eMesaNvk = VK_DRIVER_ID_MESA_NVK, eImaginationOpenSourceMESA = VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA, eMesaHoneykrisp = VK_DRIVER_ID_MESA_HONEYKRISP, - eReserved27 = VK_DRIVER_ID_RESERVED_27 + eVulkanScEmulationOnVulkan = VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN }; using DriverIdKHR = DriverId; diff --git a/include/vulkan/vulkan_extension_inspection.hpp b/include/vulkan/vulkan_extension_inspection.hpp index 4829143f..05365bfb 100644 --- a/include/vulkan/vulkan_extension_inspection.hpp +++ b/include/vulkan/vulkan_extension_inspection.hpp @@ -2400,7 +2400,13 @@ namespace VULKAN_HPP_NAMESPACE { { "VK_VERSION_1_0", { { "VK_KHR_cooperative_matrix", - } } } } } + } } } } }, + { "VK_EXT_vertex_attribute_robustness", + { { "VK_VERSION_1_0", + { { + "VK_KHR_get_physical_device_properties2", + } } }, + { "VK_VERSION_1_1", { {} } } } } }; auto depIt = dependencies.find( extension ); return ( depIt != dependencies.end() ) ? depIt->second : noDependencies; diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index 617126a4..304e9ed5 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -17706,5 +17706,55 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD typename ResultValueType::type enumerateInstanceVersion( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ); #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + // operators to compare vk::-handles +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + template ::value, int>::type = 0> + auto operator<=>( T const & lhs, T const & rhs ) + { + return static_cast( lhs ) <=> static_cast( rhs ); + } +#else + template ::value, int>::type = 0> + bool operator==( T const & lhs, T const & rhs ) + { + return static_cast( lhs ) == static_cast( rhs ); + } + + template ::value, int>::type = 0> + bool operator!=( T const & lhs, T const & rhs ) + { + return static_cast( lhs ) != static_cast( rhs ); + } + + template ::value, int>::type = 0> + bool operator<( T const & lhs, T const & rhs ) + { + return static_cast( lhs ) < static_cast( rhs ); + } +#endif + + template ::value, int>::type = 0> + bool operator==( T const & v, std::nullptr_t ) + { + return !v; + } + + template ::value, int>::type = 0> + bool operator==( std::nullptr_t, T const & v ) + { + return !v; + } + + template ::value, int>::type = 0> + bool operator!=( T const & v, std::nullptr_t ) + { + return !!v; + } + + template ::value, int>::type = 0> + bool operator!=( std::nullptr_t, T const & v ) + { + return !!v; + } } // namespace VULKAN_HPP_NAMESPACE #endif diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 054482cb..da82a898 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -4483,17 +4483,37 @@ namespace VULKAN_HPP_NAMESPACE using Type = AcquireProfilingLockInfoKHR; }; + typedef void *( VKAPI_PTR * PFN_AllocationFunction )( void * pUserData, + size_t size, + size_t alignment, + VULKAN_HPP_NAMESPACE::SystemAllocationScope allocationScope ); + + typedef void *( VKAPI_PTR * PFN_ReallocationFunction )( + void * pUserData, void * pOriginal, size_t size, size_t alignment, VULKAN_HPP_NAMESPACE::SystemAllocationScope allocationScope ); + + typedef void( VKAPI_PTR * PFN_FreeFunction )( void * pUserData, void * pMemory ); + + typedef void( VKAPI_PTR * PFN_InternalAllocationNotification )( void * pUserData, + size_t size, + VULKAN_HPP_NAMESPACE::InternalAllocationType allocationType, + VULKAN_HPP_NAMESPACE::SystemAllocationScope allocationScope ); + + typedef void( VKAPI_PTR * PFN_InternalFreeNotification )( void * pUserData, + size_t size, + VULKAN_HPP_NAMESPACE::InternalAllocationType allocationType, + VULKAN_HPP_NAMESPACE::SystemAllocationScope allocationScope ); + struct AllocationCallbacks { using NativeType = VkAllocationCallbacks; #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR AllocationCallbacks( void * pUserData_ = {}, - PFN_vkAllocationFunction pfnAllocation_ = {}, - PFN_vkReallocationFunction pfnReallocation_ = {}, - PFN_vkFreeFunction pfnFree_ = {}, - PFN_vkInternalAllocationNotification pfnInternalAllocation_ = {}, - PFN_vkInternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR AllocationCallbacks( void * pUserData_ = {}, + VULKAN_HPP_NAMESPACE::PFN_AllocationFunction pfnAllocation_ = {}, + VULKAN_HPP_NAMESPACE::PFN_ReallocationFunction pfnReallocation_ = {}, + VULKAN_HPP_NAMESPACE::PFN_FreeFunction pfnFree_ = {}, + VULKAN_HPP_NAMESPACE::PFN_InternalAllocationNotification pfnInternalAllocation_ = {}, + VULKAN_HPP_NAMESPACE::PFN_InternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT : pUserData{ pUserData_ } , pfnAllocation{ pfnAllocation_ } , pfnReallocation{ pfnReallocation_ } @@ -4509,6 +4529,33 @@ namespace VULKAN_HPP_NAMESPACE { } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) + + AllocationCallbacks( void * pUserData_, + PFN_vkAllocationFunction pfnAllocation_, + PFN_vkReallocationFunction pfnReallocation_ = {}, + PFN_vkFreeFunction pfnFree_ = {}, + PFN_vkInternalAllocationNotification pfnInternalAllocation_ = {}, + PFN_vkInternalFreeNotification pfnInternalFree_ = {} ) VULKAN_HPP_NOEXCEPT + : AllocationCallbacks( pUserData_, + reinterpret_cast( pfnAllocation_ ), + reinterpret_cast( pfnReallocation_ ), + reinterpret_cast( pfnFree_ ), + reinterpret_cast( pfnInternalAllocation_ ), + reinterpret_cast( pfnInternalFree_ ) ) + { + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif + AllocationCallbacks & operator=( AllocationCallbacks const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ @@ -4525,35 +4572,74 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnAllocation( PFN_vkAllocationFunction pfnAllocation_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnAllocation( VULKAN_HPP_NAMESPACE::PFN_AllocationFunction pfnAllocation_ ) VULKAN_HPP_NOEXCEPT { pfnAllocation = pfnAllocation_; return *this; } - VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnReallocation( PFN_vkReallocationFunction pfnReallocation_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnReallocation( VULKAN_HPP_NAMESPACE::PFN_ReallocationFunction pfnReallocation_ ) VULKAN_HPP_NOEXCEPT { pfnReallocation = pfnReallocation_; return *this; } - VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnFree( PFN_vkFreeFunction pfnFree_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnFree( VULKAN_HPP_NAMESPACE::PFN_FreeFunction pfnFree_ ) VULKAN_HPP_NOEXCEPT { pfnFree = pfnFree_; return *this; } - VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalAllocation( PFN_vkInternalAllocationNotification pfnInternalAllocation_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & + setPfnInternalAllocation( VULKAN_HPP_NAMESPACE::PFN_InternalAllocationNotification pfnInternalAllocation_ ) VULKAN_HPP_NOEXCEPT { pfnInternalAllocation = pfnInternalAllocation_; return *this; } - VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalFree( PFN_vkInternalFreeNotification pfnInternalFree_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 AllocationCallbacks & setPfnInternalFree( VULKAN_HPP_NAMESPACE::PFN_InternalFreeNotification pfnInternalFree_ ) VULKAN_HPP_NOEXCEPT { pfnInternalFree = pfnInternalFree_; return *this; } + +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + AllocationCallbacks & setPfnAllocation( PFN_vkAllocationFunction pfnAllocation_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnAllocation( reinterpret_cast( pfnAllocation_ ) ); + } + + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + AllocationCallbacks & setPfnReallocation( PFN_vkReallocationFunction pfnReallocation_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnReallocation( reinterpret_cast( pfnReallocation_ ) ); + } + + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + AllocationCallbacks & setPfnInternalAllocation( PFN_vkInternalAllocationNotification pfnInternalAllocation_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnInternalAllocation( reinterpret_cast( pfnInternalAllocation_ ) ); + } + + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + AllocationCallbacks & setPfnInternalFree( PFN_vkInternalFreeNotification pfnInternalFree_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnInternalFree( reinterpret_cast( pfnInternalFree_ ) ); + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ operator VkAllocationCallbacks const &() const VULKAN_HPP_NOEXCEPT @@ -4571,11 +4657,11 @@ namespace VULKAN_HPP_NAMESPACE auto # else std::tuple + VULKAN_HPP_NAMESPACE::PFN_AllocationFunction const &, + VULKAN_HPP_NAMESPACE::PFN_ReallocationFunction const &, + VULKAN_HPP_NAMESPACE::PFN_FreeFunction const &, + VULKAN_HPP_NAMESPACE::PFN_InternalAllocationNotification const &, + VULKAN_HPP_NAMESPACE::PFN_InternalFreeNotification const &> # endif reflect() const VULKAN_HPP_NOEXCEPT { @@ -4599,12 +4685,12 @@ namespace VULKAN_HPP_NAMESPACE } public: - void * pUserData = {}; - PFN_vkAllocationFunction pfnAllocation = {}; - PFN_vkReallocationFunction pfnReallocation = {}; - PFN_vkFreeFunction pfnFree = {}; - PFN_vkInternalAllocationNotification pfnInternalAllocation = {}; - PFN_vkInternalFreeNotification pfnInternalFree = {}; + void * pUserData = {}; + VULKAN_HPP_NAMESPACE::PFN_AllocationFunction pfnAllocation = {}; + VULKAN_HPP_NAMESPACE::PFN_ReallocationFunction pfnReallocation = {}; + VULKAN_HPP_NAMESPACE::PFN_FreeFunction pfnFree = {}; + VULKAN_HPP_NAMESPACE::PFN_InternalAllocationNotification pfnInternalAllocation = {}; + VULKAN_HPP_NAMESPACE::PFN_InternalFreeNotification pfnInternalFree = {}; }; struct AmigoProfilingSubmitInfoSEC @@ -21679,6 +21765,15 @@ namespace VULKAN_HPP_NAMESPACE using Type = DebugMarkerObjectTagInfoEXT; }; + typedef VULKAN_HPP_NAMESPACE::Bool32( VKAPI_PTR * PFN_DebugReportCallbackEXT )( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags, + VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT objectType, + uint64_t object, + size_t location, + int32_t messageCode, + const char * pLayerPrefix, + const char * pMessage, + void * pUserData ); + struct DebugReportCallbackCreateInfoEXT { using NativeType = VkDebugReportCallbackCreateInfoEXT; @@ -21687,10 +21782,10 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugReportCallbackCreateInfoEXT; #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_ = {}, - PFN_vkDebugReportCallbackEXT pfnCallback_ = {}, - void * pUserData_ = {}, - const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR DebugReportCallbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_ = {}, + VULKAN_HPP_NAMESPACE::PFN_DebugReportCallbackEXT pfnCallback_ = {}, + void * pUserData_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pfnCallback{ pfnCallback_ } @@ -21705,6 +21800,26 @@ namespace VULKAN_HPP_NAMESPACE { } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) + + DebugReportCallbackCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags_, + PFN_vkDebugReportCallbackEXT pfnCallback_, + void * pUserData_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : DebugReportCallbackCreateInfoEXT( flags_, reinterpret_cast( pfnCallback_ ), pUserData_, pNext_ ) + { + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif + DebugReportCallbackCreateInfoEXT & operator=( DebugReportCallbackCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ @@ -21727,7 +21842,8 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & setPfnCallback( PFN_vkDebugReportCallbackEXT pfnCallback_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 DebugReportCallbackCreateInfoEXT & + setPfnCallback( VULKAN_HPP_NAMESPACE::PFN_DebugReportCallbackEXT pfnCallback_ ) VULKAN_HPP_NOEXCEPT { pfnCallback = pfnCallback_; return *this; @@ -21738,6 +21854,23 @@ namespace VULKAN_HPP_NAMESPACE pUserData = pUserData_; return *this; } + +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + DebugReportCallbackCreateInfoEXT & setPfnCallback( PFN_vkDebugReportCallbackEXT pfnCallback_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnCallback( reinterpret_cast( pfnCallback_ ) ); + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ operator VkDebugReportCallbackCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT @@ -21757,7 +21890,7 @@ namespace VULKAN_HPP_NAMESPACE std::tuple # endif reflect() const VULKAN_HPP_NOEXCEPT @@ -21781,11 +21914,11 @@ namespace VULKAN_HPP_NAMESPACE } public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugReportCallbackCreateInfoEXT; - const void * pNext = {}; - VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags = {}; - PFN_vkDebugReportCallbackEXT pfnCallback = {}; - void * pUserData = {}; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugReportCallbackCreateInfoEXT; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::DebugReportFlagsEXT flags = {}; + VULKAN_HPP_NAMESPACE::PFN_DebugReportCallbackEXT pfnCallback = {}; + void * pUserData = {}; }; template <> @@ -22313,6 +22446,12 @@ namespace VULKAN_HPP_NAMESPACE using Type = DebugUtilsMessengerCallbackDataEXT; }; + typedef VULKAN_HPP_NAMESPACE::Bool32( VKAPI_PTR * PFN_DebugUtilsMessengerCallbackEXT )( + VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagBitsEXT messageSeverity, + VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageTypes, + const VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCallbackDataEXT * pCallbackData, + void * pUserData ); + struct DebugUtilsMessengerCreateInfoEXT { using NativeType = VkDebugUtilsMessengerCreateInfoEXT; @@ -22321,12 +22460,12 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDebugUtilsMessengerCreateInfoEXT; #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR DebugUtilsMessengerCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_ = {}, - VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_ = {}, - VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_ = {}, - PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ = {}, - void * pUserData_ = {}, - const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR DebugUtilsMessengerCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_ = {}, + VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_ = {}, + VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_ = {}, + VULKAN_HPP_NAMESPACE::PFN_DebugUtilsMessengerCallbackEXT pfnUserCallback_ = {}, + void * pUserData_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , messageSeverity{ messageSeverity_ } @@ -22343,6 +22482,33 @@ namespace VULKAN_HPP_NAMESPACE { } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) + + DebugUtilsMessengerCreateInfoEXT( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags_, + VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity_, + VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType_, + PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_, + void * pUserData_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : DebugUtilsMessengerCreateInfoEXT( flags_, + messageSeverity_, + messageType_, + reinterpret_cast( pfnUserCallback_ ), + pUserData_, + pNext_ ) + { + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif + DebugUtilsMessengerCreateInfoEXT & operator=( DebugUtilsMessengerCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ @@ -22379,7 +22545,8 @@ namespace VULKAN_HPP_NAMESPACE return *this; } - VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & setPfnUserCallback( PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR_14 DebugUtilsMessengerCreateInfoEXT & + setPfnUserCallback( VULKAN_HPP_NAMESPACE::PFN_DebugUtilsMessengerCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT { pfnUserCallback = pfnUserCallback_; return *this; @@ -22390,6 +22557,23 @@ namespace VULKAN_HPP_NAMESPACE pUserData = pUserData_; return *this; } + +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + DebugUtilsMessengerCreateInfoEXT & setPfnUserCallback( PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnUserCallback( reinterpret_cast( pfnUserCallback_ ) ); + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ operator VkDebugUtilsMessengerCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT @@ -22411,7 +22595,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT const &, VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT const &, VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT const &, - PFN_vkDebugUtilsMessengerCallbackEXT const &, + VULKAN_HPP_NAMESPACE::PFN_DebugUtilsMessengerCallbackEXT const &, void * const &> # endif reflect() const VULKAN_HPP_NOEXCEPT @@ -22436,13 +22620,13 @@ namespace VULKAN_HPP_NAMESPACE } public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugUtilsMessengerCreateInfoEXT; - const void * pNext = {}; - VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags = {}; - VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity = {}; - VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType = {}; - PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback = {}; - void * pUserData = {}; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDebugUtilsMessengerCreateInfoEXT; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::DebugUtilsMessengerCreateFlagsEXT flags = {}; + VULKAN_HPP_NAMESPACE::DebugUtilsMessageSeverityFlagsEXT messageSeverity = {}; + VULKAN_HPP_NAMESPACE::DebugUtilsMessageTypeFlagsEXT messageType = {}; + VULKAN_HPP_NAMESPACE::PFN_DebugUtilsMessengerCallbackEXT pfnUserCallback = {}; + void * pUserData = {}; }; template <> @@ -27842,6 +28026,120 @@ namespace VULKAN_HPP_NAMESPACE using Type = DeviceCreateInfo; }; + struct DeviceMemoryReportCallbackDataEXT + { + using NativeType = VkDeviceMemoryReportCallbackDataEXT; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryReportCallbackDataEXT; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( + VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_ = {}, + VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type_ = VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate, + uint64_t memoryObjectId_ = {}, + VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}, + VULKAN_HPP_NAMESPACE::ObjectType objectType_ = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, + uint64_t objectHandle_ = {}, + uint32_t heapIndex_ = {}, + void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext{ pNext_ } + , flags{ flags_ } + , type{ type_ } + , memoryObjectId{ memoryObjectId_ } + , size{ size_ } + , objectType{ objectType_ } + , objectHandle{ objectHandle_ } + , heapIndex{ heapIndex_ } + { + } + + VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + DeviceMemoryReportCallbackDataEXT( VkDeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT + : DeviceMemoryReportCallbackDataEXT( *reinterpret_cast( &rhs ) ) + { + } + + DeviceMemoryReportCallbackDataEXT & operator=( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + DeviceMemoryReportCallbackDataEXT & operator=( VkDeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + + operator VkDeviceMemoryReportCallbackDataEXT const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkDeviceMemoryReportCallbackDataEXT &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + +#if defined( VULKAN_HPP_USE_REFLECT ) +# if 14 <= VULKAN_HPP_CPP_VERSION + auto +# else + std::tuple +# endif + reflect() const VULKAN_HPP_NOEXCEPT + { + return std::tie( sType, pNext, flags, type, memoryObjectId, size, objectType, objectHandle, heapIndex ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( DeviceMemoryReportCallbackDataEXT const & ) const = default; +#else + bool operator==( DeviceMemoryReportCallbackDataEXT 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 ) && ( type == rhs.type ) && ( memoryObjectId == rhs.memoryObjectId ) && + ( size == rhs.size ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) && ( heapIndex == rhs.heapIndex ); +# endif + } + + bool operator!=( DeviceMemoryReportCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryReportCallbackDataEXT; + void * pNext = {}; + VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {}; + VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type = VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate; + uint64_t memoryObjectId = {}; + VULKAN_HPP_NAMESPACE::DeviceSize size = {}; + VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown; + uint64_t objectHandle = {}; + uint32_t heapIndex = {}; + }; + + template <> + struct CppType + { + using Type = DeviceMemoryReportCallbackDataEXT; + }; + + typedef void( VKAPI_PTR * PFN_DeviceMemoryReportCallbackEXT )( const VULKAN_HPP_NAMESPACE::DeviceMemoryReportCallbackDataEXT * pCallbackData, + void * pUserData ); + struct DeviceDeviceMemoryReportCreateInfoEXT { using NativeType = VkDeviceDeviceMemoryReportCreateInfoEXT; @@ -27850,10 +28148,10 @@ namespace VULKAN_HPP_NAMESPACE static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT; #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT( VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_ = {}, - PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_ = {}, - void * pUserData_ = {}, - const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + VULKAN_HPP_CONSTEXPR DeviceDeviceMemoryReportCreateInfoEXT( VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_ = {}, + VULKAN_HPP_NAMESPACE::PFN_DeviceMemoryReportCallbackEXT pfnUserCallback_ = {}, + void * pUserData_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } , pfnUserCallback{ pfnUserCallback_ } @@ -27868,6 +28166,29 @@ namespace VULKAN_HPP_NAMESPACE { } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This constructor is deprecated. Use the one taking function pointer types from the vk-namespace instead." ) + + DeviceDeviceMemoryReportCreateInfoEXT( VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_, + PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_, + void * pUserData_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : DeviceDeviceMemoryReportCreateInfoEXT( flags_, + reinterpret_cast( pfnUserCallback_ ), + pUserData_, + pNext_ ) + { + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif + DeviceDeviceMemoryReportCreateInfoEXT & operator=( DeviceDeviceMemoryReportCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; #endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ @@ -27891,7 +28212,7 @@ namespace VULKAN_HPP_NAMESPACE } VULKAN_HPP_CONSTEXPR_14 DeviceDeviceMemoryReportCreateInfoEXT & - setPfnUserCallback( PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT + setPfnUserCallback( VULKAN_HPP_NAMESPACE::PFN_DeviceMemoryReportCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT { pfnUserCallback = pfnUserCallback_; return *this; @@ -27902,6 +28223,23 @@ namespace VULKAN_HPP_NAMESPACE pUserData = pUserData_; return *this; } + +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic push +# if defined( __clang__ ) +# pragma clang diagnostic ignored "-Wunknown-warning-option" +# endif +# pragma GCC diagnostic ignored "-Wcast-function-type" +# endif + VULKAN_HPP_DEPRECATED( "This setter is deprecated. Use the one taking a function pointer type from the vk-namespace instead." ) + + DeviceDeviceMemoryReportCreateInfoEXT & setPfnUserCallback( PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback_ ) VULKAN_HPP_NOEXCEPT + { + return setPfnUserCallback( reinterpret_cast( pfnUserCallback_ ) ); + } +# if defined( __clang__ ) || defined( __GNUC__ ) +# pragma GCC diagnostic pop +# endif #endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ operator VkDeviceDeviceMemoryReportCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT @@ -27921,7 +28259,7 @@ namespace VULKAN_HPP_NAMESPACE std::tuple # endif reflect() const VULKAN_HPP_NOEXCEPT @@ -27946,11 +28284,11 @@ namespace VULKAN_HPP_NAMESPACE } public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT; - const void * pNext = {}; - VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {}; - PFN_vkDeviceMemoryReportCallbackEXT pfnUserCallback = {}; - void * pUserData = {}; + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceDeviceMemoryReportCreateInfoEXT; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {}; + VULKAN_HPP_NAMESPACE::PFN_DeviceMemoryReportCallbackEXT pfnUserCallback = {}; + void * pUserData = {}; }; template <> @@ -30634,117 +30972,6 @@ namespace VULKAN_HPP_NAMESPACE using Type = DeviceMemoryOverallocationCreateInfoAMD; }; - struct DeviceMemoryReportCallbackDataEXT - { - using NativeType = VkDeviceMemoryReportCallbackDataEXT; - - static const bool allowDuplicate = false; - static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDeviceMemoryReportCallbackDataEXT; - -#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) - VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( - VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags_ = {}, - VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type_ = VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate, - uint64_t memoryObjectId_ = {}, - VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}, - VULKAN_HPP_NAMESPACE::ObjectType objectType_ = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown, - uint64_t objectHandle_ = {}, - uint32_t heapIndex_ = {}, - void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT - : pNext{ pNext_ } - , flags{ flags_ } - , type{ type_ } - , memoryObjectId{ memoryObjectId_ } - , size{ size_ } - , objectType{ objectType_ } - , objectHandle{ objectHandle_ } - , heapIndex{ heapIndex_ } - { - } - - VULKAN_HPP_CONSTEXPR DeviceMemoryReportCallbackDataEXT( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; - - DeviceMemoryReportCallbackDataEXT( VkDeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT - : DeviceMemoryReportCallbackDataEXT( *reinterpret_cast( &rhs ) ) - { - } - - DeviceMemoryReportCallbackDataEXT & operator=( DeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default; -#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ - - DeviceMemoryReportCallbackDataEXT & operator=( VkDeviceMemoryReportCallbackDataEXT const & rhs ) VULKAN_HPP_NOEXCEPT - { - *this = *reinterpret_cast( &rhs ); - return *this; - } - - operator VkDeviceMemoryReportCallbackDataEXT const &() const VULKAN_HPP_NOEXCEPT - { - return *reinterpret_cast( this ); - } - - operator VkDeviceMemoryReportCallbackDataEXT &() VULKAN_HPP_NOEXCEPT - { - return *reinterpret_cast( this ); - } - -#if defined( VULKAN_HPP_USE_REFLECT ) -# if 14 <= VULKAN_HPP_CPP_VERSION - auto -# else - std::tuple -# endif - reflect() const VULKAN_HPP_NOEXCEPT - { - return std::tie( sType, pNext, flags, type, memoryObjectId, size, objectType, objectHandle, heapIndex ); - } -#endif - -#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) - auto operator<=>( DeviceMemoryReportCallbackDataEXT const & ) const = default; -#else - bool operator==( DeviceMemoryReportCallbackDataEXT 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 ) && ( type == rhs.type ) && ( memoryObjectId == rhs.memoryObjectId ) && - ( size == rhs.size ) && ( objectType == rhs.objectType ) && ( objectHandle == rhs.objectHandle ) && ( heapIndex == rhs.heapIndex ); -# endif - } - - bool operator!=( DeviceMemoryReportCallbackDataEXT const & rhs ) const VULKAN_HPP_NOEXCEPT - { - return !operator==( rhs ); - } -#endif - - public: - VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDeviceMemoryReportCallbackDataEXT; - void * pNext = {}; - VULKAN_HPP_NAMESPACE::DeviceMemoryReportFlagsEXT flags = {}; - VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT type = VULKAN_HPP_NAMESPACE::DeviceMemoryReportEventTypeEXT::eAllocate; - uint64_t memoryObjectId = {}; - VULKAN_HPP_NAMESPACE::DeviceSize size = {}; - VULKAN_HPP_NAMESPACE::ObjectType objectType = VULKAN_HPP_NAMESPACE::ObjectType::eUnknown; - uint64_t objectHandle = {}; - uint32_t heapIndex = {}; - }; - - template <> - struct CppType - { - using Type = DeviceMemoryReportCallbackDataEXT; - }; - #if defined( VK_ENABLE_BETA_EXTENSIONS ) union DeviceOrHostAddressConstAMDX { @@ -31301,6 +31528,8 @@ namespace VULKAN_HPP_NAMESPACE using Type = DeviceQueueShaderCoreControlCreateInfoARM; }; + typedef PFN_vkVoidFunction( VKAPI_PTR * PFN_GetInstanceProcAddrLUNARG )( VULKAN_HPP_NAMESPACE::Instance instance, const char * pName ); + struct DirectDriverLoadingInfoLUNARG { using NativeType = VkDirectDriverLoadingInfoLUNARG; @@ -31310,7 +31539,7 @@ namespace VULKAN_HPP_NAMESPACE #if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) VULKAN_HPP_CONSTEXPR DirectDriverLoadingInfoLUNARG( VULKAN_HPP_NAMESPACE::DirectDriverLoadingFlagsLUNARG flags_ = {}, - PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr_ = {}, + VULKAN_HPP_NAMESPACE::PFN_GetInstanceProcAddrLUNARG pfnGetInstanceProcAddr_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } , flags{ flags_ } @@ -31348,7 +31577,7 @@ namespace VULKAN_HPP_NAMESPACE } VULKAN_HPP_CONSTEXPR_14 DirectDriverLoadingInfoLUNARG & - setPfnGetInstanceProcAddr( PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr_ ) VULKAN_HPP_NOEXCEPT + setPfnGetInstanceProcAddr( VULKAN_HPP_NAMESPACE::PFN_GetInstanceProcAddrLUNARG pfnGetInstanceProcAddr_ ) VULKAN_HPP_NOEXCEPT { pfnGetInstanceProcAddr = pfnGetInstanceProcAddr_; return *this; @@ -31372,7 +31601,7 @@ namespace VULKAN_HPP_NAMESPACE std::tuple + VULKAN_HPP_NAMESPACE::PFN_GetInstanceProcAddrLUNARG const &> # endif reflect() const VULKAN_HPP_NOEXCEPT { @@ -31398,7 +31627,7 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eDirectDriverLoadingInfoLUNARG; void * pNext = {}; VULKAN_HPP_NAMESPACE::DirectDriverLoadingFlagsLUNARG flags = {}; - PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr = {}; + VULKAN_HPP_NAMESPACE::PFN_GetInstanceProcAddrLUNARG pfnGetInstanceProcAddr = {}; }; template <> diff --git a/include/vulkan/vulkan_to_string.hpp b/include/vulkan/vulkan_to_string.hpp index 971dc254..e8d8eeb1 100644 --- a/include/vulkan/vulkan_to_string.hpp +++ b/include/vulkan/vulkan_to_string.hpp @@ -8,7 +8,7 @@ #ifndef VULKAN_TO_STRING_HPP #define VULKAN_TO_STRING_HPP -#include +#include // ignore warnings on using deprecated enum values in this header #if defined( __clang__ ) || defined( __GNUC__ ) @@ -6748,7 +6748,7 @@ namespace VULKAN_HPP_NAMESPACE case DriverId::eMesaNvk: return "MesaNvk"; case DriverId::eImaginationOpenSourceMESA: return "ImaginationOpenSourceMESA"; case DriverId::eMesaHoneykrisp: return "MesaHoneykrisp"; - case DriverId::eReserved27: return "Reserved27"; + case DriverId::eVulkanScEmulationOnVulkan: return "VulkanScEmulationOnVulkan"; default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast( value ) ) + " )"; } } diff --git a/include/vulkan/vulkan_video.hpp b/include/vulkan/vulkan_video.hpp index ee88975f..696e685c 100644 --- a/include/vulkan/vulkan_video.hpp +++ b/include/vulkan/vulkan_video.hpp @@ -364,19 +364,21 @@ namespace VULKAN_HPP_NAMESPACE enum class AV1ColorPrimaries { - eBt709 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709, - eBtUnspecified = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED, - eBt470M = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M, - eBt470BG = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G, - eBt601 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601, - eSmpte240 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240, - eGenericFilm = STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM, - eBt2020 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020, - eXyz = STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ, - eSmpte431 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431, - eSmpte432 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432, - eEbu3213 = STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213, - eInvalid = STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID + eBt709 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709, + eUnspecified = STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED, + eBtUnspecified VULKAN_HPP_DEPRECATED_17( "eBtUnspecified is deprecated, eUnspecified should be used instead." ) = + STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED, + eBt470M = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M, + eBt470BG = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G, + eBt601 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601, + eSmpte240 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_240, + eGenericFilm = STD_VIDEO_AV1_COLOR_PRIMARIES_GENERIC_FILM, + eBt2020 = STD_VIDEO_AV1_COLOR_PRIMARIES_BT_2020, + eXyz = STD_VIDEO_AV1_COLOR_PRIMARIES_XYZ, + eSmpte431 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_431, + eSmpte432 = STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432, + eEbu3213 = STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213, + eInvalid = STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID }; enum class AV1TransferCharacteristics @@ -3717,6 +3719,339 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NAMESPACE::ArrayWrapper1D SavedOrderHints = {}; }; + //=== vulkan_video_codec_av1std_encode === + + struct EncodeAV1DecoderModelInfo + { + using NativeType = StdVideoEncodeAV1DecoderModelInfo; + + operator StdVideoEncodeAV1DecoderModelInfo const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1DecoderModelInfo &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1DecoderModelInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( buffer_delay_length_minus_1 == rhs.buffer_delay_length_minus_1 ) && + ( buffer_removal_time_length_minus_1 == rhs.buffer_removal_time_length_minus_1 ) && + ( frame_presentation_time_length_minus_1 == rhs.frame_presentation_time_length_minus_1 ) && ( reserved1 == rhs.reserved1 ) && + ( num_units_in_decoding_tick == rhs.num_units_in_decoding_tick ); + } + + bool operator!=( EncodeAV1DecoderModelInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + uint8_t buffer_delay_length_minus_1 = {}; + uint8_t buffer_removal_time_length_minus_1 = {}; + uint8_t frame_presentation_time_length_minus_1 = {}; + uint8_t reserved1 = {}; + uint32_t num_units_in_decoding_tick = {}; + }; + + struct EncodeAV1ExtensionHeader + { + using NativeType = StdVideoEncodeAV1ExtensionHeader; + + operator StdVideoEncodeAV1ExtensionHeader const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1ExtensionHeader &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1ExtensionHeader const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( temporal_id == rhs.temporal_id ) && ( spatial_id == rhs.spatial_id ); + } + + bool operator!=( EncodeAV1ExtensionHeader const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + uint8_t temporal_id = {}; + uint8_t spatial_id = {}; + }; + + struct EncodeAV1OperatingPointInfoFlags + { + using NativeType = StdVideoEncodeAV1OperatingPointInfoFlags; + + operator StdVideoEncodeAV1OperatingPointInfoFlags const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1OperatingPointInfoFlags &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1OperatingPointInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( decoder_model_present_for_this_op == rhs.decoder_model_present_for_this_op ) && ( low_delay_mode_flag == rhs.low_delay_mode_flag ) && + ( initial_display_delay_present_for_this_op == rhs.initial_display_delay_present_for_this_op ) && ( reserved == rhs.reserved ); + } + + bool operator!=( EncodeAV1OperatingPointInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + uint32_t decoder_model_present_for_this_op : 1; + uint32_t low_delay_mode_flag : 1; + uint32_t initial_display_delay_present_for_this_op : 1; + uint32_t reserved : 29; + }; + + struct EncodeAV1OperatingPointInfo + { + using NativeType = StdVideoEncodeAV1OperatingPointInfo; + + operator StdVideoEncodeAV1OperatingPointInfo const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1OperatingPointInfo &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1OperatingPointInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( flags == rhs.flags ) && ( operating_point_idc == rhs.operating_point_idc ) && ( seq_level_idx == rhs.seq_level_idx ) && + ( seq_tier == rhs.seq_tier ) && ( decoder_buffer_delay == rhs.decoder_buffer_delay ) && ( encoder_buffer_delay == rhs.encoder_buffer_delay ) && + ( initial_display_delay_minus_1 == rhs.initial_display_delay_minus_1 ); + } + + bool operator!=( EncodeAV1OperatingPointInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1OperatingPointInfoFlags flags = {}; + uint16_t operating_point_idc = {}; + uint8_t seq_level_idx = {}; + uint8_t seq_tier = {}; + uint32_t decoder_buffer_delay = {}; + uint32_t encoder_buffer_delay = {}; + uint8_t initial_display_delay_minus_1 = {}; + }; + + struct EncodeAV1PictureInfoFlags + { + using NativeType = StdVideoEncodeAV1PictureInfoFlags; + + operator StdVideoEncodeAV1PictureInfoFlags const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1PictureInfoFlags &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( error_resilient_mode == rhs.error_resilient_mode ) && ( disable_cdf_update == rhs.disable_cdf_update ) && + ( use_superres == rhs.use_superres ) && ( render_and_frame_size_different == rhs.render_and_frame_size_different ) && + ( allow_screen_content_tools == rhs.allow_screen_content_tools ) && ( is_filter_switchable == rhs.is_filter_switchable ) && + ( force_integer_mv == rhs.force_integer_mv ) && ( frame_size_override_flag == rhs.frame_size_override_flag ) && + ( buffer_removal_time_present_flag == rhs.buffer_removal_time_present_flag ) && ( allow_intrabc == rhs.allow_intrabc ) && + ( frame_refs_short_signaling == rhs.frame_refs_short_signaling ) && ( allow_high_precision_mv == rhs.allow_high_precision_mv ) && + ( is_motion_mode_switchable == rhs.is_motion_mode_switchable ) && ( use_ref_frame_mvs == rhs.use_ref_frame_mvs ) && + ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && ( allow_warped_motion == rhs.allow_warped_motion ) && + ( reduced_tx_set == rhs.reduced_tx_set ) && ( skip_mode_present == rhs.skip_mode_present ) && ( delta_q_present == rhs.delta_q_present ) && + ( delta_lf_present == rhs.delta_lf_present ) && ( delta_lf_multi == rhs.delta_lf_multi ) && + ( segmentation_enabled == rhs.segmentation_enabled ) && ( segmentation_update_map == rhs.segmentation_update_map ) && + ( segmentation_temporal_update == rhs.segmentation_temporal_update ) && ( segmentation_update_data == rhs.segmentation_update_data ) && + ( UsesLr == rhs.UsesLr ) && ( usesChromaLr == rhs.usesChromaLr ) && ( show_frame == rhs.show_frame ) && + ( showable_frame == rhs.showable_frame ) && ( reserved == rhs.reserved ); + } + + bool operator!=( EncodeAV1PictureInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + uint32_t error_resilient_mode : 1; + uint32_t disable_cdf_update : 1; + uint32_t use_superres : 1; + uint32_t render_and_frame_size_different : 1; + uint32_t allow_screen_content_tools : 1; + uint32_t is_filter_switchable : 1; + uint32_t force_integer_mv : 1; + uint32_t frame_size_override_flag : 1; + uint32_t buffer_removal_time_present_flag : 1; + uint32_t allow_intrabc : 1; + uint32_t frame_refs_short_signaling : 1; + uint32_t allow_high_precision_mv : 1; + uint32_t is_motion_mode_switchable : 1; + uint32_t use_ref_frame_mvs : 1; + uint32_t disable_frame_end_update_cdf : 1; + uint32_t allow_warped_motion : 1; + uint32_t reduced_tx_set : 1; + uint32_t skip_mode_present : 1; + uint32_t delta_q_present : 1; + uint32_t delta_lf_present : 1; + uint32_t delta_lf_multi : 1; + uint32_t segmentation_enabled : 1; + uint32_t segmentation_update_map : 1; + uint32_t segmentation_temporal_update : 1; + uint32_t segmentation_update_data : 1; + uint32_t UsesLr : 1; + uint32_t usesChromaLr : 1; + uint32_t show_frame : 1; + uint32_t showable_frame : 1; + uint32_t reserved : 3; + }; + + struct EncodeAV1PictureInfo + { + using NativeType = StdVideoEncodeAV1PictureInfo; + + operator StdVideoEncodeAV1PictureInfo const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1PictureInfo &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( flags == rhs.flags ) && ( frame_type == rhs.frame_type ) && ( frame_presentation_time == rhs.frame_presentation_time ) && + ( current_frame_id == rhs.current_frame_id ) && ( order_hint == rhs.order_hint ) && ( primary_ref_frame == rhs.primary_ref_frame ) && + ( refresh_frame_flags == rhs.refresh_frame_flags ) && ( coded_denom == rhs.coded_denom ) && + ( render_width_minus_1 == rhs.render_width_minus_1 ) && ( render_height_minus_1 == rhs.render_height_minus_1 ) && + ( interpolation_filter == rhs.interpolation_filter ) && ( TxMode == rhs.TxMode ) && ( delta_q_res == rhs.delta_q_res ) && + ( delta_lf_res == rhs.delta_lf_res ) && ( ref_order_hint == rhs.ref_order_hint ) && ( ref_frame_idx == rhs.ref_frame_idx ) && + ( reserved1 == rhs.reserved1 ) && ( delta_frame_id_minus_1 == rhs.delta_frame_id_minus_1 ) && ( pTileInfo == rhs.pTileInfo ) && + ( pQuantization == rhs.pQuantization ) && ( pSegmentation == rhs.pSegmentation ) && ( pLoopFilter == rhs.pLoopFilter ) && + ( pCDEF == rhs.pCDEF ) && ( pLoopRestoration == rhs.pLoopRestoration ) && ( pGlobalMotion == rhs.pGlobalMotion ) && + ( pExtensionHeader == rhs.pExtensionHeader ) && ( pBufferRemovalTimes == rhs.pBufferRemovalTimes ); + } + + bool operator!=( EncodeAV1PictureInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1PictureInfoFlags flags = {}; + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1FrameType frame_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1FrameType::eKey; + uint32_t frame_presentation_time = {}; + uint32_t current_frame_id = {}; + uint8_t order_hint = {}; + uint8_t primary_ref_frame = {}; + uint8_t refresh_frame_flags = {}; + uint8_t coded_denom = {}; + uint16_t render_width_minus_1 = {}; + uint16_t render_height_minus_1 = {}; + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1InterpolationFilter interpolation_filter = + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1InterpolationFilter::eEighttap; + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1TxMode TxMode = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1TxMode::eOnly4X4; + uint8_t delta_q_res = {}; + uint8_t delta_lf_res = {}; + VULKAN_HPP_NAMESPACE::ArrayWrapper1D ref_order_hint = {}; + VULKAN_HPP_NAMESPACE::ArrayWrapper1D ref_frame_idx = {}; + VULKAN_HPP_NAMESPACE::ArrayWrapper1D reserved1 = {}; + VULKAN_HPP_NAMESPACE::ArrayWrapper1D delta_frame_id_minus_1 = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1TileInfo * pTileInfo = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1Quantization * pQuantization = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1Segmentation * pSegmentation = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1LoopFilter * pLoopFilter = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1CDEF * pCDEF = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1LoopRestoration * pLoopRestoration = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1GlobalMotion * pGlobalMotion = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ExtensionHeader * pExtensionHeader = {}; + const uint32_t * pBufferRemovalTimes = {}; + }; + + struct EncodeAV1ReferenceInfoFlags + { + using NativeType = StdVideoEncodeAV1ReferenceInfoFlags; + + operator StdVideoEncodeAV1ReferenceInfoFlags const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1ReferenceInfoFlags &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( disable_frame_end_update_cdf == rhs.disable_frame_end_update_cdf ) && ( segmentation_enabled == rhs.segmentation_enabled ) && + ( reserved == rhs.reserved ); + } + + bool operator!=( EncodeAV1ReferenceInfoFlags const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + uint32_t disable_frame_end_update_cdf : 1; + uint32_t segmentation_enabled : 1; + uint32_t reserved : 30; + }; + + struct EncodeAV1ReferenceInfo + { + using NativeType = StdVideoEncodeAV1ReferenceInfo; + + operator StdVideoEncodeAV1ReferenceInfo const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator StdVideoEncodeAV1ReferenceInfo &() VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + bool operator==( EncodeAV1ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return ( flags == rhs.flags ) && ( RefFrameId == rhs.RefFrameId ) && ( frame_type == rhs.frame_type ) && ( OrderHint == rhs.OrderHint ) && + ( reserved1 == rhs.reserved1 ) && ( pExtensionHeader == rhs.pExtensionHeader ); + } + + bool operator!=( EncodeAV1ReferenceInfo const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } + + public: + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ReferenceInfoFlags flags = {}; + uint32_t RefFrameId = {}; + VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1FrameType frame_type = VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::AV1FrameType::eKey; + uint8_t OrderHint = {}; + VULKAN_HPP_NAMESPACE::ArrayWrapper1D reserved1 = {}; + const VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ExtensionHeader * pExtensionHeader = {}; + }; + } // namespace VULKAN_HPP_VIDEO_NAMESPACE } // namespace VULKAN_HPP_NAMESPACE #endif diff --git a/registry/reg.py b/registry/reg.py index 2d51f1f9..30a661ae 100644 --- a/registry/reg.py +++ b/registry/reg.py @@ -134,8 +134,10 @@ def mergeAPIs(tree, fromApiNames, toApiName): definitionName = child.get('name') definitionVariants = parent.findall(f"{child.tag}[@name='{definitionName}']") elif child.tag in ['require']: - definitionName = child.get('feature') - definitionVariants = parent.findall(f"{child.tag}[@feature='{definitionName}']") + # No way to correlate require tags because they do not have a definite identifier in the way they + # are used in the latest forms of the XML so the best we can do is simply enable all of them + if child.get('api') in fromApiNames: + child.set('api', toApiName) elif child.tag in ['command']: definitionName = child.find('proto/name').text definitionVariants = parent.findall(f"{child.tag}/proto/name[.='{definitionName}']/../..") diff --git a/registry/validusage.json b/registry/validusage.json index 1d121c6d..69d8212c 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.4.303", - "comment": "from git branch: github-main commit: c7a3955e47d223c6a37fb29e2061c973eec98d0a", - "date": "2024-12-02 08:35:14Z" + "api version": "1.4.304", + "comment": "from git branch: github-main commit: b04fc6a9c5893fe0f8345844a1d62ebed94d09d9", + "date": "2024-12-20 05:02:28Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -2020,27 +2020,27 @@ "page": "chapters/cmdbuffers.html" }, { - "vuid": "VUID-VkSubmitInfo2KHR-commandBuffer-06192", + "vuid": "VUID-VkSubmitInfo2-commandBuffer-06192", "text": "If any commandBuffer member of an element of pCommandBufferInfos contains any resumed render pass instances, they must be suspended by a render pass instance earlier in submission order within pCommandBufferInfos", "page": "chapters/cmdbuffers.html" }, { - "vuid": "VUID-VkSubmitInfo2KHR-commandBuffer-06010", + "vuid": "VUID-VkSubmitInfo2-commandBuffer-06010", "text": "If any commandBuffer member of an element of pCommandBufferInfos contains any suspended render pass instances, they must be resumed by a render pass instance later in submission order within pCommandBufferInfos", "page": "chapters/cmdbuffers.html" }, { - "vuid": "VUID-VkSubmitInfo2KHR-commandBuffer-06011", + "vuid": "VUID-VkSubmitInfo2-commandBuffer-06011", "text": "If any commandBuffer member of an element of pCommandBufferInfos contains any suspended render pass instances, there must be no action or synchronization commands between that render pass instance and the render pass instance that resumes it", "page": "chapters/cmdbuffers.html" }, { - "vuid": "VUID-VkSubmitInfo2KHR-commandBuffer-06012", + "vuid": "VUID-VkSubmitInfo2-commandBuffer-06012", "text": "If any commandBuffer member of an element of pCommandBufferInfos contains any suspended render pass instances, there must be no render pass instances between that render pass instance and the render pass instance that resumes it", "page": "chapters/cmdbuffers.html" }, { - "vuid": "VUID-VkSubmitInfo2KHR-variableSampleLocations-06013", + "vuid": "VUID-VkSubmitInfo2-variableSampleLocations-06013", "text": "If the variableSampleLocations limit is not supported, and any commandBuffer member of an element of pCommandBufferInfos contains any suspended render pass instances, where a graphics pipeline has been bound, any pipelines bound in the render pass instance that resumes it, or any subsequent render pass instances that resume from that one and so on, must use the same sample locations", "page": "chapters/cmdbuffers.html" }, @@ -5496,6 +5496,11 @@ "text": "If a buffer or image memory barrier does not specify an release operation, the respective dstStageMask member of the element of the pBufferMemoryBarriers or pImageMemoryBarriers members of pDependencyInfo must only include pipeline stages valid for the queue family that was used to create the command pool that commandBuffer was allocated from", "page": "chapters/synchronization.html" }, + { + "vuid": "VUID-vkCmdPipelineBarrier2-srcQueueFamilyIndex-10387", + "text": "If a buffer or image memory barrier specifies a queue family ownership transfer operation, either the srcQueueFamilyIndex or dstQueueFamilyIndex member of the element of the pBufferMemoryBarriers or pImageMemoryBarriers members of pDependencyInfo and the queue family index that was used to create the command pool that commandBuffer was allocated from must be equal", + "page": "chapters/synchronization.html" + }, { "vuid": "VUID-vkCmdPipelineBarrier2-commandBuffer-parameter", "text": "commandBuffer must be a valid VkCommandBuffer handle", @@ -5765,6 +5770,11 @@ "text": "If either srcStageMask or dstStageMask includes VK_PIPELINE_STAGE_HOST_BIT, for any element of pBufferMemoryBarriers, srcQueueFamilyIndex and dstQueueFamilyIndex must be equal", "page": "chapters/synchronization.html" }, + { + "vuid": "VUID-vkCmdPipelineBarrier-srcQueueFamilyIndex-10388", + "text": "If a buffer or image memory barrier specifies a queue family ownership transfer operation, either the srcQueueFamilyIndex or dstQueueFamilyIndex member and the queue family index that was used to create the command pool that commandBuffer was allocated from must be equal", + "page": "chapters/synchronization.html" + }, { "vuid": "VUID-vkCmdPipelineBarrier-commandBuffer-parameter", "text": "commandBuffer must be a valid VkCommandBuffer handle", @@ -8463,7 +8473,7 @@ "VkCalibratedTimestampInfoKHR": { "core": [ { - "vuid": "VUID-VkCalibratedTimestampInfoEXT-timeDomain-02354", + "vuid": "VUID-VkCalibratedTimestampInfoKHR-timeDomain-02354", "text": "timeDomain must be one of the VkTimeDomainKHR values returned by vkGetPhysicalDeviceCalibrateableTimeDomainsKHR", "page": "chapters/synchronization.html" }, @@ -13613,6 +13623,26 @@ "text": "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and if a push constant block is declared in a shader, the block must be contained inside the element of pPushConstantRanges that matches the stage", "page": "chapters/shaders.html" }, + { + "vuid": "VUID-VkShaderCreateInfoEXT-codeType-10383", + "text": "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and a resource variable is declared in a shader, the corresponding descriptor set in pSetLayouts must match the shader stage", + "page": "chapters/shaders.html" + }, + { + "vuid": "VUID-VkShaderCreateInfoEXT-codeType-10384", + "text": "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in pSetLayouts must match the descriptor type", + "page": "chapters/shaders.html" + }, + { + "vuid": "VUID-VkShaderCreateInfoEXT-codeType-10385", + "text": "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and a resource variable is declared in a shader as an array, the corresponding descriptor set in pSetLayouts must match the descriptor count", + "page": "chapters/shaders.html" + }, + { + "vuid": "VUID-VkShaderCreateInfoEXT-codeType-10386", + "text": "If codeType is VK_SHADER_CODE_TYPE_SPIRV_EXT, and a resource variable is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK", + "page": "chapters/shaders.html" + }, { "vuid": "VUID-VkShaderCreateInfoEXT-sType-sType", "text": "sType must be VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT", @@ -14694,17 +14724,22 @@ }, { "vuid": "VUID-VkComputePipelineCreateInfo-layout-07988", - "text": "If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage", + "text": "If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkComputePipelineCreateInfo-layout-07990", - "text": "If a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type", + "text": "If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkComputePipelineCreateInfo-layout-07991", - "text": "If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count", + "text": "If a resource variable is declared in a shader as an array, the corresponding descriptor set in layout must match the descriptor count", + "page": "chapters/pipelines.html" + }, + { + "vuid": "VUID-VkComputePipelineCreateInfo-None-10391", + "text": "If a resource variables is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK", "page": "chapters/pipelines.html" }, { @@ -15459,17 +15494,22 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-07988", - "text": "If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage", + "text": "If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-07990", - "text": "If a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type", + "text": "If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-07991", - "text": "If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count", + "text": "If a resource variable is declared in a shader as an array, the corresponding descriptor set in layout must match the descriptor count", + "page": "chapters/pipelines.html" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-None-10391", + "text": "If a resource variables is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK", "page": "chapters/pipelines.html" }, { @@ -15959,7 +15999,7 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03378", - "text": "If the extendedDynamicState feature is not enabled, and the value of VkApplicationInfo::apiVersion used to create the VkInstance is less than Version 1.3 there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_CULL_MODE, VK_DYNAMIC_STATE_FRONT_FACE, VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, or VK_DYNAMIC_STATE_STENCIL_OP", + "text": "If the extendedDynamicState feature is not enabled, and the minimum value of VkApplicationInfo::apiVersion used to create the VkInstance and apiVersion supported by the physical device is less than Version 1.3 there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_CULL_MODE, VK_DYNAMIC_STATE_FRONT_FACE, VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT, VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT, VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE, VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE, VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE, VK_DYNAMIC_STATE_DEPTH_COMPARE_OP, VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE, VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE, or VK_DYNAMIC_STATE_STENCIL_OP", "page": "chapters/pipelines.html" }, { @@ -15989,7 +16029,7 @@ }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04868", - "text": "If the extendedDynamicState2 feature is not enabled, and the value of VkApplicationInfo::apiVersion used to create the VkInstance is less than Version 1.3 there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, or VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE", + "text": "If the extendedDynamicState2 feature is not enabled, and the minimum value of VkApplicationInfo::apiVersion used to create the VkInstance and apiVersion supported by the physical device is less than Version 1.3 there must be no element of the pDynamicStates member of pDynamicState set to VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE, VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE, or VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE", "page": "chapters/pipelines.html" }, { @@ -17564,17 +17604,22 @@ }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-07988", - "text": "If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage", + "text": "If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-07990", - "text": "If a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type", + "text": "If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-07991", - "text": "If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count", + "text": "If a resource variable is declared in a shader as an array, the corresponding descriptor set in layout must match the descriptor count", + "page": "chapters/pipelines.html" + }, + { + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-None-10391", + "text": "If a resource variables is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK", "page": "chapters/pipelines.html" }, { @@ -17763,17 +17808,22 @@ }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-07988", - "text": "If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage", + "text": "If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-07990", - "text": "If a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type", + "text": "If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type", "page": "chapters/pipelines.html" }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-07991", - "text": "If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count", + "text": "If a resource variable is declared in a shader as an array, the corresponding descriptor set in layout must match the descriptor count", + "page": "chapters/pipelines.html" + }, + { + "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-None-10391", + "text": "If a resource variables is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK", "page": "chapters/pipelines.html" }, { @@ -25696,6 +25746,11 @@ }, "vkDestroyMicromapEXT": { "core": [ + { + "vuid": "VUID-vkDestroyMicromapEXT-micromap-10382", + "text": "The micromap feature must be enabled", + "page": "chapters/resources.html" + }, { "vuid": "VUID-vkDestroyMicromapEXT-micromap-07441", "text": "All submitted commands that refer to micromap must have completed execution", @@ -42629,10 +42684,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDraw-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDraw-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDraw-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDraw-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDraw-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -42773,21 +42838,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDraw-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDraw-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDraw-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDraw-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -43060,7 +43110,7 @@ }, { "vuid": "VUID-vkCmdDraw-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -43523,11 +43573,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDraw-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDraw-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -43953,26 +43998,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDraw-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDraw-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDraw-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDraw-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDraw-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -44103,6 +44128,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDraw-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDraw-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDraw-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -44178,6 +44213,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDraw-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDraw-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDraw-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDraw-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDraw-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDraw-pNext-09461", "text": "If the bound graphics pipeline state was created with VkPipelineVertexInputDivisorStateCreateInfo in the pNext chain of VkGraphicsPipelineCreateInfo::pVertexInputState, any member of VkPipelineVertexInputDivisorStateCreateInfo::pVertexBindingDivisors has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorProperties::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", @@ -44243,10 +44303,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawIndexed-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawIndexed-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexed-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -44387,21 +44457,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexed-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -44674,7 +44729,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexed-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -45137,11 +45192,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexed-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -45567,26 +45617,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexed-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexed-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -45717,6 +45747,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexed-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexed-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -45792,6 +45832,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexed-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexed-None-07312", "text": "If the maintenance6 feature is not enabled, a valid index buffer must be bound", @@ -45867,10 +45932,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMultiEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMultiEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -46011,21 +46086,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -46298,7 +46358,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -46761,11 +46821,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -47191,26 +47246,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -47341,6 +47376,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMultiEXT-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -47416,6 +47461,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiEXT-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMultiEXT-pNext-09461", "text": "If the bound graphics pipeline state was created with VkPipelineVertexInputDivisorStateCreateInfo in the pNext chain of VkGraphicsPipelineCreateInfo::pVertexInputState, any member of VkPipelineVertexInputDivisorStateCreateInfo::pVertexBindingDivisors has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorProperties::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", @@ -47501,10 +47571,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -47645,21 +47725,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -47932,7 +47997,7 @@ }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -48395,11 +48460,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -48825,26 +48885,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -48975,6 +49015,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -49050,6 +49100,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMultiIndexedEXT-None-07312", "text": "If the maintenance6 feature is not enabled, a valid index buffer must be bound", @@ -49150,10 +49225,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawIndirect-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawIndirect-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirect-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -49294,21 +49379,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirect-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -49581,7 +49651,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirect-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -50044,11 +50114,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirect-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -50474,26 +50539,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirect-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirect-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -50609,6 +50654,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirect-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirect-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -50684,6 +50739,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirect-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirect-buffer-02708", "text": "If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", @@ -50813,10 +50893,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawIndirectCount-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawIndirectCount-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -50957,21 +51047,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -51244,7 +51319,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -51707,11 +51782,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -52137,26 +52207,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectCount-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -52272,6 +52322,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirectCount-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -52347,6 +52407,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectCount-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirectCount-buffer-02708", "text": "If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", @@ -52477,10 +52562,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawIndexedIndirect-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -52621,21 +52716,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -52908,7 +52988,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -53371,11 +53451,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -53801,26 +53876,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -53936,6 +53991,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -54011,6 +54076,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirect-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirect-buffer-02708", "text": "If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", @@ -54150,10 +54240,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -54294,21 +54394,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -54581,7 +54666,7 @@ }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -55044,11 +55129,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -55474,26 +55554,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -55609,6 +55669,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -55684,6 +55754,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndexedIndirectCount-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndexedIndirectCount-buffer-02708", "text": "If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object", @@ -55819,10 +55914,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -55963,21 +56068,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -56250,7 +56340,7 @@ }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -56713,11 +56803,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -57143,26 +57228,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -57278,6 +57343,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -57353,6 +57428,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawIndirectByteCountEXT-pNext-09461", "text": "If the bound graphics pipeline state was created with VkPipelineVertexInputDivisorStateCreateInfo in the pNext chain of VkGraphicsPipelineCreateInfo::pVertexInputState, any member of VkPipelineVertexInputDivisorStateCreateInfo::pVertexBindingDivisors has a value other than 1 in divisor, and VkPhysicalDeviceVertexAttributeDivisorProperties::supportsNonZeroFirstInstance is VK_FALSE, then firstInstance must be 0", @@ -57590,10 +57690,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMeshTasksNV-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -57734,21 +57844,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -58021,7 +58116,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -58484,11 +58579,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -58914,26 +59004,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksNV-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -59119,10 +59189,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -59263,21 +59343,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -59550,7 +59615,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -60013,11 +60078,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -60443,26 +60503,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectNV-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -60707,10 +60747,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -60851,21 +60901,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -61138,7 +61173,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -61601,11 +61636,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -62031,26 +62061,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -62306,10 +62316,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -62450,21 +62470,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -62737,7 +62742,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -63200,11 +63205,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -63630,26 +63630,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -63870,10 +63850,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -64014,21 +64004,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -64301,7 +64276,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -64764,11 +64739,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -65194,26 +65164,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -65493,10 +65443,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -65637,21 +65597,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -65924,7 +65869,7 @@ }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -66387,11 +66332,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -66817,26 +66757,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -67092,10 +67012,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -67236,21 +67166,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -67523,7 +67438,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -67986,11 +67901,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -68416,26 +68326,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawClusterHUAWEI-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -68636,10 +68526,20 @@ "page": "chapters/drawing.html" }, { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/drawing.html" }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/drawing.html" + }, + { + "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/drawing.html" + }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -68780,21 +68680,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -69067,7 +68952,7 @@ }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, { @@ -69530,11 +69415,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -69960,26 +69840,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/drawing.html" }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/drawing.html" - }, - { - "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/drawing.html" - }, { "vuid": "VUID-vkCmdDrawClusterIndirectHUAWEI-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -75070,10 +74930,20 @@ "page": "chapters/dispatch.html" }, { - "vuid": "VUID-vkCmdDispatch-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDispatch-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/dispatch.html" }, + { + "vuid": "VUID-vkCmdDispatch-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/dispatch.html" + }, + { + "vuid": "VUID-vkCmdDispatch-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/dispatch.html" + }, { "vuid": "VUID-vkCmdDispatch-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -75214,21 +75084,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/dispatch.html" }, - { - "vuid": "VUID-vkCmdDispatch-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdDispatch-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdDispatch-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/dispatch.html" - }, { "vuid": "VUID-vkCmdDispatch-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -75474,10 +75329,20 @@ "page": "chapters/dispatch.html" }, { - "vuid": "VUID-vkCmdDispatchIndirect-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDispatchIndirect-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/dispatch.html" }, + { + "vuid": "VUID-vkCmdDispatchIndirect-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/dispatch.html" + }, + { + "vuid": "VUID-vkCmdDispatchIndirect-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/dispatch.html" + }, { "vuid": "VUID-vkCmdDispatchIndirect-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -75618,21 +75483,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/dispatch.html" }, - { - "vuid": "VUID-vkCmdDispatchIndirect-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdDispatchIndirect-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdDispatchIndirect-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/dispatch.html" - }, { "vuid": "VUID-vkCmdDispatchIndirect-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -75902,10 +75752,20 @@ "page": "chapters/dispatch.html" }, { - "vuid": "VUID-vkCmdDispatchBase-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDispatchBase-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/dispatch.html" }, + { + "vuid": "VUID-vkCmdDispatchBase-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/dispatch.html" + }, + { + "vuid": "VUID-vkCmdDispatchBase-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/dispatch.html" + }, { "vuid": "VUID-vkCmdDispatchBase-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -76046,21 +75906,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/dispatch.html" }, - { - "vuid": "VUID-vkCmdDispatchBase-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdDispatchBase-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdDispatchBase-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/dispatch.html" - }, { "vuid": "VUID-vkCmdDispatchBase-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -76326,10 +76171,20 @@ "page": "chapters/dispatch.html" }, { - "vuid": "VUID-vkCmdSubpassShadingHUAWEI-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/dispatch.html" }, + { + "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/dispatch.html" + }, + { + "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/dispatch.html" + }, { "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -76470,21 +76325,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/dispatch.html" }, - { - "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/dispatch.html" - }, - { - "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/dispatch.html" - }, { "vuid": "VUID-vkCmdSubpassShadingHUAWEI-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -78324,10 +78164,20 @@ "page": "chapters/device_generated_commands/generatedcommands.html" }, { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/device_generated_commands/generatedcommands.html" }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -78468,21 +78318,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/device_generated_commands/generatedcommands.html" }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -78755,7 +78590,7 @@ }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/device_generated_commands/generatedcommands.html" }, { @@ -79218,11 +79053,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/device_generated_commands/generatedcommands.html" }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -79648,26 +79478,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/device_generated_commands/generatedcommands.html" }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -79783,6 +79593,16 @@ "text": "If the robustBufferAccess feature is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS for vertexInputs, then for a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description", "page": "chapters/device_generated_commands/generatedcommands.html" }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-format-10389", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is a packed format, and legacyVertexAttributes is not enabled, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the format", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-format-10390", + "text": "For each vertex attribute accessed by this command, if its VkVertexInputAttributeDescription::format or VkVertexInputAttributeDescription2EXT::format is not a packed format, and either legacyVertexAttributes is not enabled or format has 64-bit components, the value of attribAddress, calculated as described in Vertex Input Calculation, must be a multiple of the size of the components of the format", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07842", "text": "If there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -79858,6 +79678,31 @@ "text": "There must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages", "page": "chapters/device_generated_commands/generatedcommands.html" }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-07619", + "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08684", + "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08685", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08686", + "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-None-08687", + "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02970", "text": "commandBuffer must not be a protected command buffer", @@ -80171,10 +80016,20 @@ "page": "chapters/device_generated_commands/generatedcommands.html" }, { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/device_generated_commands/generatedcommands.html" }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, + { + "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/device_generated_commands/generatedcommands.html" + }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -80315,21 +80170,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/device_generated_commands/generatedcommands.html" }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -80602,7 +80442,7 @@ }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-07834", - "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBounds or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", + "text": "If a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled, the current value of rasterizerDiscardEnable is VK_FALSE, and the current value of depthBiasEnable is VK_TRUE, then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", "page": "chapters/device_generated_commands/generatedcommands.html" }, { @@ -81065,11 +80905,6 @@ "text": "If the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream", "page": "chapters/device_generated_commands/generatedcommands.html" }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-07619", - "text": "If a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled, then vkCmdSetTessellationDomainOriginEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-07620", "text": "If the depthClamp feature is enabled, a shader object is bound to any graphics stage or a graphics pipeline is bound which was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled, and the current value of rasterizerDiscardEnable is VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called and not subsequently invalidated in the current command buffer prior to this drawing command", @@ -81495,26 +81330,6 @@ "text": "If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command", "page": "chapters/device_generated_commands/generatedcommands.html" }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08684", - "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08685", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08686", - "text": "If there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, - { - "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08687", - "text": "If there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT", - "page": "chapters/device_generated_commands/generatedcommands.html" - }, { "vuid": "VUID-vkCmdExecuteGeneratedCommandsEXT-None-08688", "text": "If there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT", @@ -90276,10 +90091,20 @@ "page": "chapters/raytracing.html" }, { - "vuid": "VUID-vkCmdTraceRaysNV-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdTraceRaysNV-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/raytracing.html" }, + { + "vuid": "VUID-vkCmdTraceRaysNV-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/raytracing.html" + }, + { + "vuid": "VUID-vkCmdTraceRaysNV-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/raytracing.html" + }, { "vuid": "VUID-vkCmdTraceRaysNV-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -90420,21 +90245,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/raytracing.html" }, - { - "vuid": "VUID-vkCmdTraceRaysNV-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysNV-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysNV-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/raytracing.html" - }, { "vuid": "VUID-vkCmdTraceRaysNV-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -90800,10 +90610,20 @@ "page": "chapters/raytracing.html" }, { - "vuid": "VUID-vkCmdTraceRaysKHR-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdTraceRaysKHR-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/raytracing.html" }, + { + "vuid": "VUID-vkCmdTraceRaysKHR-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/raytracing.html" + }, + { + "vuid": "VUID-vkCmdTraceRaysKHR-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/raytracing.html" + }, { "vuid": "VUID-vkCmdTraceRaysKHR-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -90944,21 +90764,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/raytracing.html" }, - { - "vuid": "VUID-vkCmdTraceRaysKHR-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysKHR-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysKHR-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/raytracing.html" - }, { "vuid": "VUID-vkCmdTraceRaysKHR-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -91453,10 +91258,20 @@ "page": "chapters/raytracing.html" }, { - "vuid": "VUID-vkCmdTraceRaysIndirectKHR-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/raytracing.html" }, + { + "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/raytracing.html" + }, + { + "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/raytracing.html" + }, { "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -91597,21 +91412,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/raytracing.html" }, - { - "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/raytracing.html" - }, { "vuid": "VUID-vkCmdTraceRaysIndirectKHR-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -92056,10 +91856,20 @@ "page": "chapters/raytracing.html" }, { - "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/raytracing.html" }, + { + "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/raytracing.html" + }, + { + "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/raytracing.html" + }, { "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -92200,21 +92010,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/raytracing.html" }, - { - "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/raytracing.html" - }, - { - "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/raytracing.html" - }, { "vuid": "VUID-vkCmdTraceRaysIndirect2KHR-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -97472,17 +97267,22 @@ }, { "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07988", - "text": "If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage", + "text": "If a resource variable is declared in a shader, the corresponding descriptor set in layout must match the shader stage", "page": "chapters/executiongraphs.html" }, { "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07990", - "text": "If a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type", + "text": "If a resource variable is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, the corresponding descriptor set in layout must match the descriptor type", "page": "chapters/executiongraphs.html" }, { "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07991", - "text": "If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count", + "text": "If a resource variable is declared in a shader as an array, the corresponding descriptor set in layout must match the descriptor count", + "page": "chapters/executiongraphs.html" + }, + { + "vuid": "VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-10391", + "text": "If a resource variables is declared in a shader as an array of descriptors, then the descriptor type of that variable must not be VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK", "page": "chapters/executiongraphs.html" }, { @@ -97835,10 +97635,20 @@ "page": "chapters/executiongraphs.html" }, { - "vuid": "VUID-vkCmdDispatchGraphAMDX-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/executiongraphs.html" }, + { + "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/executiongraphs.html" + }, + { + "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/executiongraphs.html" + }, { "vuid": "VUID-vkCmdDispatchGraphAMDX-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -97979,21 +97789,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/executiongraphs.html" }, - { - "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/executiongraphs.html" - }, - { - "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/executiongraphs.html" - }, - { - "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/executiongraphs.html" - }, { "vuid": "VUID-vkCmdDispatchGraphAMDX-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -98289,10 +98084,20 @@ "page": "chapters/executiongraphs.html" }, { - "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/executiongraphs.html" }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/executiongraphs.html" + }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/executiongraphs.html" + }, { "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -98433,21 +98238,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/executiongraphs.html" }, - { - "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/executiongraphs.html" - }, - { - "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/executiongraphs.html" - }, - { - "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/executiongraphs.html" - }, { "vuid": "VUID-vkCmdDispatchGraphIndirectAMDX-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -98763,10 +98553,20 @@ "page": "chapters/executiongraphs.html" }, { - "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-unnormalizedCoordinates-09636", + "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08609", "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view’s viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D", "page": "chapters/executiongraphs.html" }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08610", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name", + "page": "chapters/executiongraphs.html" + }, + { + "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08611", + "text": "If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values", + "page": "chapters/executiongraphs.html" + }, { "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-06479", "text": "If a VkImageView is sampled with depth comparison, the image view’s format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT", @@ -98907,21 +98707,6 @@ "text": "If a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state specified statically in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound", "page": "chapters/executiongraphs.html" }, - { - "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08609", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage", - "page": "chapters/executiongraphs.html" - }, - { - "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08610", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage", - "page": "chapters/executiongraphs.html" - }, - { - "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08611", - "text": "If the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage", - "page": "chapters/executiongraphs.html" - }, { "vuid": "VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08607", "text": "If the shaderObject feature is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command", @@ -105567,21 +105352,6 @@ "text": "Each OpEntryPoint must not have more than one variable decorated with InputAttachmentIndex per image aspect of the attachment image bound to it, either explicitly or implicitly as described by input attachment interface", "page": "appendices/spirvenv.html" }, - { - "vuid": "VUID-RuntimeSpirv-shaderTileImageColorReadAccess-08728", - "text": "If the shaderTileImageColorReadAccess feature is not enabled, OpColorAttachmentReadEXT operation must not be used", - "page": "appendices/spirvenv.html" - }, - { - "vuid": "VUID-RuntimeSpirv-shaderTileImageDepthReadAccess-08729", - "text": "If the shaderTileImageDepthReadAccess feature is not enabled, OpDepthAttachmentReadEXT operation must not be used", - "page": "appendices/spirvenv.html" - }, - { - "vuid": "VUID-RuntimeSpirv-shaderTileImageStencilReadAccess-08730", - "text": "If the shaderTileImageStencilReadAccess feature is not enabled, OpStencilAttachmentReadEXT operation must not be used", - "page": "appendices/spirvenv.html" - }, { "vuid": "VUID-RuntimeSpirv-minSampleShading-08731", "text": "If sample shading is enabled and minSampleShading is 1.0, the sample operand of any OpColorAttachmentReadEXT, OpDepthAttachmentReadEXT, or OpStencilAttachmentReadEXT operation must evaluate to the value of the coverage index for any given fragment invocation", diff --git a/registry/vk.xml b/registry/vk.xml index 8d90b8d1..12f5551a 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -179,11 +179,11 @@ branch of the member gitlab server. #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0 // Version of this file -#define VK_HEADER_VERSION 303 +#define VK_HEADER_VERSION 304 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) // Version of this file -#define VK_HEADER_VERSION 16 +#define VK_HEADER_VERSION 17 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, VK_HEADER_VERSION) @@ -2042,7 +2042,7 @@ typedef void* MTLSharedEvent_id; uint32_t maxViewportDimensions[2]max viewport dimensions (x,y) float viewportBoundsRange[2]viewport bounds range (min,max) uint32_t viewportSubPixelBitsnumber bits of subpixel precision for viewport - size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) + size_t minMemoryMapAlignmentmin required alignment of pointers returned by MapMemory (bytes) VkDeviceSize minTexelBufferOffsetAlignmentmin required alignment for texel buffer offsets (bytes) VkDeviceSize minUniformBufferOffsetAlignmentmin required alignment for uniform buffer sizes and offsets (bytes) VkDeviceSize minStorageBufferOffsetAlignmentmin required alignment for storage buffer offsets (bytes) @@ -3847,7 +3847,7 @@ typedef void* MTLSharedEvent_id; VkStructureType sType void* pNext VkBool32 blockTexelViewCompatibleMultipleLayers - uint32_t maxCombinedImageSamplerDescriptorCount + uint32_t maxCombinedImageSamplerDescriptorCount VkBool32 fragmentShadingRateClampCombinerInputs @@ -5860,7 +5860,7 @@ typedef void* MTLSharedEvent_id; VkBool32 nonStrictSinglePixelWideLinesUseParallelogram VkBool32 nonStrictWideLinesUseParallelogram VkBool32 blockTexelViewCompatibleMultipleLayers - uint32_t maxCombinedImageSamplerDescriptorCount + uint32_t maxCombinedImageSamplerDescriptorCount VkBool32 fragmentShadingRateClampCombinerInputs VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers @@ -11045,7 +11045,7 @@ typedef void* MTLSharedEvent_id; - + @@ -17959,6 +17959,10 @@ typedef void* MTLSharedEvent_id; + + + + @@ -19018,7 +19022,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19332,7 +19336,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19347,7 +19351,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19359,7 +19363,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19473,7 +19477,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19504,7 +19508,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19835,7 +19839,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20110,7 +20114,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20375,7 +20379,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20478,7 +20482,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20531,7 +20535,7 @@ typedef void* MTLSharedEvent_id; - + @@ -20757,7 +20761,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21107,12 +21111,14 @@ typedef void* MTLSharedEvent_id; - + + + @@ -21433,15 +21439,14 @@ typedef void* MTLSharedEvent_id; + + + - - - - @@ -21504,7 +21509,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21529,7 +21534,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21715,7 +21720,7 @@ typedef void* MTLSharedEvent_id; - + @@ -21778,7 +21783,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22803,7 +22808,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22882,7 +22887,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23000,13 +23005,15 @@ typedef void* MTLSharedEvent_id; - + + + @@ -23179,7 +23186,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23218,7 +23225,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23273,7 +23280,7 @@ typedef void* MTLSharedEvent_id; - + @@ -23625,7 +23632,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24121,7 +24128,7 @@ typedef void* MTLSharedEvent_id; - + @@ -24275,7 +24282,7 @@ typedef void* MTLSharedEvent_id; - + @@ -25296,7 +25303,7 @@ typedef void* MTLSharedEvent_id; - + @@ -26414,7 +26421,7 @@ typedef void* MTLSharedEvent_id; - + @@ -26423,6 +26430,18 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + +