diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp index 5aae991..6722dd2 100644 --- a/include/vulkan/vulkan.hpp +++ b/include/vulkan/vulkan.hpp @@ -114,7 +114,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h # include #endif -static_assert( VK_HEADER_VERSION == 243, "Wrong VK_HEADER_VERSION!" ); +static_assert( VK_HEADER_VERSION == 244, "Wrong VK_HEADER_VERSION!" ); // 32-bit vulkan is not typesafe for non-dispatchable handles, so don't allow copy constructors on this platform by default. // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION @@ -4855,6 +4855,18 @@ namespace VULKAN_HPP_NAMESPACE return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations ); } + //=== VK_KHR_map_memory2 === + + VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfoKHR * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT + { + return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData ); + } + + VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT + { + return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo ); + } + //=== VK_EXT_swapchain_maintenance1 === VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT @@ -13401,6 +13413,10 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR = 0; PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0; + //=== VK_KHR_map_memory2 === + PFN_vkMapMemory2KHR vkMapMemory2KHR = 0; + PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0; + //=== VK_EXT_swapchain_maintenance1 === PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0; @@ -14632,6 +14648,10 @@ namespace VULKAN_HPP_NAMESPACE vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) ); + //=== VK_KHR_map_memory2 === + vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) ); + vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) ); + //=== VK_EXT_swapchain_maintenance1 === vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) ); @@ -15608,6 +15628,10 @@ namespace VULKAN_HPP_NAMESPACE vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) ); + //=== VK_KHR_map_memory2 === + vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) ); + vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) ); + //=== VK_EXT_swapchain_maintenance1 === vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) ); diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h index eee2051..28090ec 100644 --- a/include/vulkan/vulkan_core.h +++ b/include/vulkan/vulkan_core.h @@ -68,7 +68,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 243 +#define VK_HEADER_VERSION 244 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) @@ -768,6 +768,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, + VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000, + VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, @@ -9835,6 +9837,41 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineExecutableInternalRepresentationsKHR #endif +#define VK_KHR_map_memory2 1 +#define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 +#define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" +typedef VkFlags VkMemoryUnmapFlagsKHR; +typedef struct VkMemoryMapInfoKHR { + VkStructureType sType; + const void* pNext; + VkMemoryMapFlags flags; + VkDeviceMemory memory; + VkDeviceSize offset; + VkDeviceSize size; +} VkMemoryMapInfoKHR; + +typedef struct VkMemoryUnmapInfoKHR { + VkStructureType sType; + const void* pNext; + VkMemoryUnmapFlagsKHR flags; + VkDeviceMemory memory; +} VkMemoryUnmapInfoKHR; + +typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData); +typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); + +#ifndef VK_NO_PROTOTYPES +VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( + VkDevice device, + const VkMemoryMapInfoKHR* pMemoryMapInfo, + void** ppData); + +VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( + VkDevice device, + const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); +#endif + + #define VK_KHR_shader_integer_dot_product 1 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp index 384643f..ef4ef4e 100644 --- a/include/vulkan/vulkan_enums.hpp +++ b/include/vulkan/vulkan_enums.hpp @@ -790,6 +790,8 @@ namespace VULKAN_HPP_NAMESPACE ePipelineExecutableInfoKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR, ePipelineExecutableStatisticKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR, ePipelineExecutableInternalRepresentationKHR = VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR, + eMemoryMapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR, + eMemoryUnmapInfoKHR = VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR, ePhysicalDeviceShaderAtomicFloat2FeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, eSurfacePresentModeEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT, eSurfacePresentScalingCapabilitiesEXT = VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT, @@ -5593,6 +5595,21 @@ namespace VULKAN_HPP_NAMESPACE eFloat64 = VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR }; + //=== VK_KHR_map_memory2 === + + enum class MemoryUnmapFlagBitsKHR : VkMemoryUnmapFlagsKHR + { + }; + + using MemoryUnmapFlagsKHR = Flags; + + template <> + struct FlagTraits + { + static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true; + static VULKAN_HPP_CONST_OR_CONSTEXPR MemoryUnmapFlagsKHR allFlags = {}; + }; + //=== VK_EXT_surface_maintenance1 === enum class PresentScalingFlagBitsEXT : VkPresentScalingFlagsEXT diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp index 6921ba0..16e98ad 100644 --- a/include/vulkan/vulkan_funcs.hpp +++ b/include/vulkan/vulkan_funcs.hpp @@ -18002,6 +18002,51 @@ namespace VULKAN_HPP_NAMESPACE } #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_KHR_map_memory2 === + + template + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR * pMemoryMapInfo, + void ** ppData, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkMapMemory2KHR( m_device, reinterpret_cast( pMemoryMapInfo ), ppData ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType::type + Device::mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR & memoryMapInfo, Dispatch const & d ) const + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + + void * pData; + VkResult result = d.vkMapMemory2KHR( m_device, reinterpret_cast( &memoryMapInfo ), &pData ); + resultCheck( static_cast( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2KHR" ); + + return createResultValueType( static_cast( result ), pData ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + template + VULKAN_HPP_INLINE Result Device::unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR * pMemoryUnmapInfo, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + return static_cast( d.vkUnmapMemory2KHR( m_device, reinterpret_cast( pMemoryUnmapInfo ) ) ); + } + +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template + VULKAN_HPP_INLINE void Device::unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR & memoryUnmapInfo, + Dispatch const & d ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION ); + + d.vkUnmapMemory2KHR( m_device, reinterpret_cast( &memoryUnmapInfo ) ); + } +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_EXT_swapchain_maintenance1 === template diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp index d19d9ed..dc36731 100644 --- a/include/vulkan/vulkan_handles.hpp +++ b/include/vulkan/vulkan_handles.hpp @@ -1130,6 +1130,10 @@ namespace VULKAN_HPP_NAMESPACE struct PipelineExecutableStatisticKHR; struct PipelineExecutableInternalRepresentationKHR; + //=== VK_KHR_map_memory2 === + struct MemoryMapInfoKHR; + struct MemoryUnmapInfoKHR; + //=== VK_EXT_shader_atomic_float2 === struct PhysicalDeviceShaderAtomicFloat2FeaturesEXT; @@ -11685,6 +11689,27 @@ namespace VULKAN_HPP_NAMESPACE Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; #endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_KHR_map_memory2 === + + template + VULKAN_HPP_NODISCARD Result mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR * pMemoryMapInfo, + void ** ppData, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template + VULKAN_HPP_NODISCARD typename ResultValueType::type mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR & memoryMapInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + + template + Result unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR * pMemoryUnmapInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE + template + void unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR & memoryUnmapInfo, + Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT; +#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */ + //=== VK_EXT_swapchain_maintenance1 === template diff --git a/include/vulkan/vulkan_hash.hpp b/include/vulkan/vulkan_hash.hpp index 4e8e212..e1f9cf0 100644 --- a/include/vulkan/vulkan_hash.hpp +++ b/include/vulkan/vulkan_hash.hpp @@ -6142,6 +6142,22 @@ namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR const & memoryMapInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, memoryMapInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, memoryMapInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, memoryMapInfoKHR.flags ); + VULKAN_HPP_HASH_COMBINE( seed, memoryMapInfoKHR.memory ); + VULKAN_HPP_HASH_COMBINE( seed, memoryMapInfoKHR.offset ); + VULKAN_HPP_HASH_COMBINE( seed, memoryMapInfoKHR.size ); + return seed; + } + }; + template <> struct hash { @@ -6207,6 +6223,20 @@ namespace std } }; + template <> + struct hash + { + std::size_t operator()( VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR const & memoryUnmapInfoKHR ) const VULKAN_HPP_NOEXCEPT + { + std::size_t seed = 0; + VULKAN_HPP_HASH_COMBINE( seed, memoryUnmapInfoKHR.sType ); + VULKAN_HPP_HASH_COMBINE( seed, memoryUnmapInfoKHR.pNext ); + VULKAN_HPP_HASH_COMBINE( seed, memoryUnmapInfoKHR.flags ); + VULKAN_HPP_HASH_COMBINE( seed, memoryUnmapInfoKHR.memory ); + return seed; + } + }; + # if defined( VK_USE_PLATFORM_WIN32_KHR ) template <> struct hash diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp index 772dea8..5f2e739 100644 --- a/include/vulkan/vulkan_raii.hpp +++ b/include/vulkan/vulkan_raii.hpp @@ -1311,6 +1311,10 @@ namespace VULKAN_HPP_NAMESPACE vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) ); + //=== VK_KHR_map_memory2 === + vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) ); + vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) ); + //=== VK_EXT_swapchain_maintenance1 === vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) ); @@ -2151,6 +2155,10 @@ namespace VULKAN_HPP_NAMESPACE PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR = 0; PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0; + //=== VK_KHR_map_memory2 === + PFN_vkMapMemory2KHR vkMapMemory2KHR = 0; + PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0; + //=== VK_EXT_swapchain_maintenance1 === PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0; @@ -3933,6 +3941,12 @@ namespace VULKAN_HPP_NAMESPACE VULKAN_HPP_NODISCARD std::vector getPipelineExecutableInternalRepresentationsKHR( const VULKAN_HPP_NAMESPACE::PipelineExecutableInfoKHR & executableInfo ) const; + //=== VK_KHR_map_memory2 === + + VULKAN_HPP_NODISCARD void * mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR & memoryMapInfo ) const; + + void unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR & memoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT; + //=== VK_EXT_swapchain_maintenance1 === void releaseSwapchainImagesEXT( const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT & releaseInfo ) const; @@ -17888,6 +17902,27 @@ namespace VULKAN_HPP_NAMESPACE return internalRepresentations; } + //=== VK_KHR_map_memory2 === + + VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE void * Device::mapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR & memoryMapInfo ) const + { + VULKAN_HPP_ASSERT( getDispatcher()->vkMapMemory2KHR && "Function requires " ); + + void * pData; + VkResult result = + getDispatcher()->vkMapMemory2KHR( static_cast( m_device ), reinterpret_cast( &memoryMapInfo ), &pData ); + resultCheck( static_cast( result ), VULKAN_HPP_NAMESPACE_STRING "::Device::mapMemory2KHR" ); + + return pData; + } + + VULKAN_HPP_INLINE void Device::unmapMemory2KHR( const VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR & memoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT + { + VULKAN_HPP_ASSERT( getDispatcher()->vkUnmapMemory2KHR && "Function requires " ); + + getDispatcher()->vkUnmapMemory2KHR( static_cast( m_device ), reinterpret_cast( &memoryUnmapInfo ) ); + } + //=== VK_EXT_swapchain_maintenance1 === VULKAN_HPP_INLINE void Device::releaseSwapchainImagesEXT( const VULKAN_HPP_NAMESPACE::ReleaseSwapchainImagesInfoEXT & releaseInfo ) const diff --git a/include/vulkan/vulkan_static_assertions.hpp b/include/vulkan/vulkan_static_assertions.hpp index 49e3e1c..e413388 100644 --- a/include/vulkan/vulkan_static_assertions.hpp +++ b/include/vulkan/vulkan_static_assertions.hpp @@ -4488,6 +4488,18 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "PipelineExecutableInternalRepresentationKHR is not nothrow_move_constructible!" ); +//=== VK_KHR_map_memory2 === + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MemoryMapInfoKHR ) == sizeof( VkMemoryMapInfoKHR ), "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "MemoryMapInfoKHR is not nothrow_move_constructible!" ); + +VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MemoryUnmapInfoKHR ) == sizeof( VkMemoryUnmapInfoKHR ), "struct and wrapper have different size!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout::value, "struct wrapper is not a standard layout!" ); +VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible::value, + "MemoryUnmapInfoKHR is not nothrow_move_constructible!" ); + //=== VK_EXT_shader_atomic_float2 === VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderAtomicFloat2FeaturesEXT ) == diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp index 9319f6b..7c4c7b1 100644 --- a/include/vulkan/vulkan_structs.hpp +++ b/include/vulkan/vulkan_structs.hpp @@ -46042,6 +46042,133 @@ namespace VULKAN_HPP_NAMESPACE using Type = MemoryHostPointerPropertiesEXT; }; + struct MemoryMapInfoKHR + { + using NativeType = VkMemoryMapInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryMapInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR MemoryMapInfoKHR( VULKAN_HPP_NAMESPACE::MemoryMapFlags flags_ = {}, + VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, + VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {}, + VULKAN_HPP_NAMESPACE::DeviceSize size_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , flags( flags_ ) + , memory( memory_ ) + , offset( offset_ ) + , size( size_ ) + { + } + + VULKAN_HPP_CONSTEXPR MemoryMapInfoKHR( MemoryMapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + MemoryMapInfoKHR( VkMemoryMapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryMapInfoKHR( *reinterpret_cast( &rhs ) ) {} + + MemoryMapInfoKHR & operator=( MemoryMapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + MemoryMapInfoKHR & operator=( VkMemoryMapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 MemoryMapInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MemoryMapInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::MemoryMapFlags flags_ ) VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MemoryMapInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT + { + memory = memory_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MemoryMapInfoKHR & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT + { + offset = offset_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MemoryMapInfoKHR & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT + { + size = size_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkMemoryMapInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkMemoryMapInfoKHR &() 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, memory, offset, size ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( MemoryMapInfoKHR const & ) const = default; +#else + bool operator==( MemoryMapInfoKHR 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 ) && ( memory == rhs.memory ) && ( offset == rhs.offset ) && + ( size == rhs.size ); +# endif + } + + bool operator!=( MemoryMapInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryMapInfoKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::MemoryMapFlags flags = {}; + VULKAN_HPP_NAMESPACE::DeviceMemory memory = {}; + VULKAN_HPP_NAMESPACE::DeviceSize offset = {}; + VULKAN_HPP_NAMESPACE::DeviceSize size = {}; + }; + + template <> + struct CppType + { + using Type = MemoryMapInfoKHR; + }; + struct MemoryOpaqueCaptureAddressAllocateInfo { using NativeType = VkMemoryOpaqueCaptureAddressAllocateInfo; @@ -46459,6 +46586,112 @@ namespace VULKAN_HPP_NAMESPACE uint32_t heapIndex = {}; }; + struct MemoryUnmapInfoKHR + { + using NativeType = VkMemoryUnmapInfoKHR; + + static const bool allowDuplicate = false; + static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eMemoryUnmapInfoKHR; + +#if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS ) + VULKAN_HPP_CONSTEXPR MemoryUnmapInfoKHR( VULKAN_HPP_NAMESPACE::MemoryUnmapFlagsKHR flags_ = {}, + VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {}, + const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT + : pNext( pNext_ ) + , flags( flags_ ) + , memory( memory_ ) + { + } + + VULKAN_HPP_CONSTEXPR MemoryUnmapInfoKHR( MemoryUnmapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; + + MemoryUnmapInfoKHR( VkMemoryUnmapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT : MemoryUnmapInfoKHR( *reinterpret_cast( &rhs ) ) {} + + MemoryUnmapInfoKHR & operator=( MemoryUnmapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT = default; +#endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/ + + MemoryUnmapInfoKHR & operator=( VkMemoryUnmapInfoKHR const & rhs ) VULKAN_HPP_NOEXCEPT + { + *this = *reinterpret_cast( &rhs ); + return *this; + } + +#if !defined( VULKAN_HPP_NO_STRUCT_SETTERS ) + VULKAN_HPP_CONSTEXPR_14 MemoryUnmapInfoKHR & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT + { + pNext = pNext_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MemoryUnmapInfoKHR & setFlags( VULKAN_HPP_NAMESPACE::MemoryUnmapFlagsKHR flags_ ) VULKAN_HPP_NOEXCEPT + { + flags = flags_; + return *this; + } + + VULKAN_HPP_CONSTEXPR_14 MemoryUnmapInfoKHR & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT + { + memory = memory_; + return *this; + } +#endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/ + + operator VkMemoryUnmapInfoKHR const &() const VULKAN_HPP_NOEXCEPT + { + return *reinterpret_cast( this ); + } + + operator VkMemoryUnmapInfoKHR &() 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, memory ); + } +#endif + +#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) + auto operator<=>( MemoryUnmapInfoKHR const & ) const = default; +#else + bool operator==( MemoryUnmapInfoKHR 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 ) && ( memory == rhs.memory ); +# endif + } + + bool operator!=( MemoryUnmapInfoKHR const & rhs ) const VULKAN_HPP_NOEXCEPT + { + return !operator==( rhs ); + } +#endif + + public: + VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eMemoryUnmapInfoKHR; + const void * pNext = {}; + VULKAN_HPP_NAMESPACE::MemoryUnmapFlagsKHR flags = {}; + VULKAN_HPP_NAMESPACE::DeviceMemory memory = {}; + }; + + template <> + struct CppType + { + using Type = MemoryUnmapInfoKHR; + }; + #if defined( VK_USE_PLATFORM_WIN32_KHR ) struct MemoryWin32HandlePropertiesKHR { diff --git a/include/vulkan/vulkan_to_string.hpp b/include/vulkan/vulkan_to_string.hpp index 2239c7b..d2408bd 100644 --- a/include/vulkan/vulkan_to_string.hpp +++ b/include/vulkan/vulkan_to_string.hpp @@ -2691,6 +2691,13 @@ namespace VULKAN_HPP_NAMESPACE return "{}"; } + //=== VK_KHR_map_memory2 === + + VULKAN_HPP_INLINE std::string to_string( MemoryUnmapFlagsKHR ) + { + return "{}"; + } + //=== VK_EXT_surface_maintenance1 === VULKAN_HPP_INLINE std::string to_string( PresentScalingFlagsEXT value ) @@ -3840,6 +3847,8 @@ namespace VULKAN_HPP_NAMESPACE case StructureType::ePipelineExecutableInfoKHR: return "PipelineExecutableInfoKHR"; case StructureType::ePipelineExecutableStatisticKHR: return "PipelineExecutableStatisticKHR"; case StructureType::ePipelineExecutableInternalRepresentationKHR: return "PipelineExecutableInternalRepresentationKHR"; + case StructureType::eMemoryMapInfoKHR: return "MemoryMapInfoKHR"; + case StructureType::eMemoryUnmapInfoKHR: return "MemoryUnmapInfoKHR"; case StructureType::ePhysicalDeviceShaderAtomicFloat2FeaturesEXT: return "PhysicalDeviceShaderAtomicFloat2FeaturesEXT"; case StructureType::eSurfacePresentModeEXT: return "SurfacePresentModeEXT"; case StructureType::eSurfacePresentScalingCapabilitiesEXT: return "SurfacePresentScalingCapabilitiesEXT"; @@ -7611,6 +7620,13 @@ namespace VULKAN_HPP_NAMESPACE } } + //=== VK_KHR_map_memory2 === + + VULKAN_HPP_INLINE std::string to_string( MemoryUnmapFlagBitsKHR ) + { + return "(void)"; + } + //=== VK_EXT_surface_maintenance1 === VULKAN_HPP_INLINE std::string to_string( PresentScalingFlagBitsEXT value ) diff --git a/registry/validusage.json b/registry/validusage.json index f17850b..24bdf5c 100644 --- a/registry/validusage.json +++ b/registry/validusage.json @@ -1,9 +1,9 @@ { "version info": { "schema version": 2, - "api version": "1.3.243", - "comment": "from git branch: github-main commit: 84ccde6b1b92820feee54c8b7577387b2cf1ce17", - "date": "2023-03-12 07:16:49Z" + "api version": "1.3.244", + "comment": "from git branch: github-main commit: 7beccb60daac498d700a09763945719c31510ab6", + "date": "2023-03-18 03:03:49Z" }, "validation": { "vkGetInstanceProcAddr": { @@ -11701,20 +11701,28 @@ "VkComputePipelineCreateInfo": { "core": [ { - "vuid": "VUID-VkComputePipelineCreateInfo-flags-00697", + "vuid": "VUID-VkComputePipelineCreateInfo-flags-07984", "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid handle to a compute VkPipeline" }, { - "vuid": "VUID-VkComputePipelineCreateInfo-flags-00698", + "vuid": "VUID-VkComputePipelineCreateInfo-flags-07985", "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is VK_NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameter" }, { - "vuid": "VUID-VkComputePipelineCreateInfo-flags-00699", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE" + "vuid": "VUID-VkComputePipelineCreateInfo-flags-07986", + "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE" }, { - "vuid": "VUID-VkComputePipelineCreateInfo-flags-00700", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1" + "vuid": "VUID-VkComputePipelineCreateInfo-layout-07987", + "text": " If a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range" + }, + { + "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" + }, + { + "vuid": "VUID-VkComputePipelineCreateInfo-layout-07989", + "text": " If a resource variables is declared in a shader, a descriptor slot in layout must match the descriptor type" }, { "vuid": "VUID-VkComputePipelineCreateInfo-stage-00701", @@ -11724,10 +11732,6 @@ "vuid": "VUID-VkComputePipelineCreateInfo-stage-00702", "text": " The shader code for the entry point identified by stage and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter" }, - { - "vuid": "VUID-VkComputePipelineCreateInfo-layout-00703", - "text": " layout must be consistent with the layout of the compute shader specified in stage" - }, { "vuid": "VUID-VkComputePipelineCreateInfo-layout-01687", "text": " The number of resources in layout accessible to the compute shader stage must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources" @@ -11761,6 +11765,18 @@ "text": " Both of basePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice" } ], + "(VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type)": [ + { + "vuid": "VUID-VkComputePipelineCreateInfo-layout-07990", + "text": " If a resource variables is declared in a shader, and the descriptor type is not enum:VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type" + } + ], + "!(VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type)": [ + { + "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" + } + ], "(VK_KHR_pipeline_library)": [ { "vuid": "VUID-VkComputePipelineCreateInfo-flags-03364", @@ -12221,20 +12237,28 @@ "VkGraphicsPipelineCreateInfo": { "core": [ { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-00722", + "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-07984", "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid handle to a graphics VkPipeline" }, { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-00723", + "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-07985", "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is VK_NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameter" }, { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-00724", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE" + "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-07986", + "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE" }, { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-flags-00725", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1" + "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-07987", + "text": " If a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range" + }, + { + "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" + }, + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-07989", + "text": " If a resource variables is declared in a shader, a descriptor slot in layout must match the descriptor type" }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-pStages-00729", @@ -12344,10 +12368,6 @@ "vuid": "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00754", "text": " If the pipeline is being created with pre-rasterization shader state, the depthBiasClamp feature is not enabled, no element of the pDynamicStates member of pDynamicState is VK_DYNAMIC_STATE_DEPTH_BIAS, and the depthBiasEnable member of pRasterizationState is VK_TRUE, the depthBiasClamp member of pRasterizationState must be 0.0" }, - { - "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-00756", - "text": " layout must be consistent with all shaders specified in pStages" - }, { "vuid": "VUID-VkGraphicsPipelineCreateInfo-subpass-00758", "text": " If the pipeline is being created with fragment output interface state, rasterizationSamples is not dynamic, and subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples member of pMultisampleState must follow the rules for a zero-attachment subpass" @@ -12405,6 +12425,18 @@ "text": " Each of basePipelineHandle, layout, and renderPass that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice" } ], + "(VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type)": [ + { + "vuid": "VUID-VkGraphicsPipelineCreateInfo-layout-07990", + "text": " If a resource variables is declared in a shader, and the descriptor type is not enum:VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type" + } + ], + "!(VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type)": [ + { + "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" + } + ], "!(VK_NV_mesh_shader,VK_EXT_mesh_shader)": [ { "vuid": "VUID-VkGraphicsPipelineCreateInfo-stage-00727", @@ -13845,29 +13877,33 @@ "VkRayTracingPipelineCreateInfoNV": { "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)": [ { - "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03421", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid handle to a ray tracing VkPipeline" + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-07984", + "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid handle to a ray tracing VkPipeline" }, { - "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03422", + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-07985", "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is VK_NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameter" }, { - "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03423", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE" + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-07986", + "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE" }, { - "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-03424", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1" + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-07987", + "text": " If a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range" + }, + { + "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" + }, + { + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-07989", + "text": " If a resource variables is declared in a shader, a descriptor slot in layout must match the descriptor type" }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-pStages-03426", "text": " The shader code for the entry points identified by pStages, and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter" }, - { - "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-03427", - "text": " layout must be consistent with all shaders specified in pStages" - }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-03428", "text": " The number of resources in layout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources" @@ -13925,6 +13961,18 @@ "text": " Both of basePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice" } ], + "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type)": [ + { + "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-layout-07990", + "text": " If a resource variables is declared in a shader, and the descriptor type is not enum:VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type" + } + ], + "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+!(VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type)": [ + { + "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" + } + ], "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_NV_ray_tracing)+(VK_NV_device_generated_commands)": [ { "vuid": "VUID-VkRayTracingPipelineCreateInfoNV-flags-02904", @@ -13998,30 +14046,10 @@ }, "VkRayTracingPipelineCreateInfoKHR": { "(VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline)+(VK_KHR_ray_tracing_pipeline)": [ - { - "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03421", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid handle to a ray tracing VkPipeline" - }, - { - "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03422", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is VK_NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameter" - }, - { - "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03423", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is not -1, basePipelineHandle must be VK_NULL_HANDLE" - }, - { - "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-flags-03424", - "text": " If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is not VK_NULL_HANDLE, basePipelineIndex must be -1" - }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-pStages-03426", "text": " The shader code for the entry points identified by pStages, and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter" }, - { - "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-03427", - "text": " layout must be consistent with all shaders specified in pStages" - }, { "vuid": "VUID-VkRayTracingPipelineCreateInfoKHR-layout-03428", "text": " The number of resources in layout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources" @@ -16748,6 +16776,68 @@ } ] }, + "vkMapMemory2KHR": { + "(VK_KHR_map_memory2)": [ + { + "vuid": "VUID-vkMapMemory2KHR-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkMapMemory2KHR-pMemoryMapInfo-parameter", + "text": " pMemoryMapInfo must be a valid pointer to a valid VkMemoryMapInfoKHR structure" + }, + { + "vuid": "VUID-vkMapMemory2KHR-ppData-parameter", + "text": " ppData must be a valid pointer to a pointer value" + } + ] + }, + "VkMemoryMapInfoKHR": { + "(VK_KHR_map_memory2)": [ + { + "vuid": "VUID-VkMemoryMapInfoKHR-memory-07958", + "text": " memory must not be currently host mapped" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-offset-07959", + "text": " offset must be less than the size of memory" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-size-07960", + "text": " If size is not equal to VK_WHOLE_SIZE, size must be greater than 0" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-size-07961", + "text": " If size is not equal to VK_WHOLE_SIZE, size must be less than or equal to the size of the memory minus offset" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-memory-07962", + "text": " memory must have been created with a memory type that reports VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-flags-zerobitmask", + "text": " flags must be 0" + }, + { + "vuid": "VUID-VkMemoryMapInfoKHR-memory-parameter", + "text": " memory must be a valid VkDeviceMemory handle" + } + ], + "(VK_KHR_map_memory2)+(VK_KHR_device_group)": [ + { + "vuid": "VUID-VkMemoryMapInfoKHR-memory-07963", + "text": " memory must not have been allocated with multiple instances" + } + ] + }, "vkFlushMappedMemoryRanges": { "core": [ { @@ -16840,6 +16930,42 @@ } ] }, + "vkUnmapMemory2KHR": { + "(VK_KHR_map_memory2)": [ + { + "vuid": "VUID-vkUnmapMemory2KHR-device-parameter", + "text": " device must be a valid VkDevice handle" + }, + { + "vuid": "VUID-vkUnmapMemory2KHR-pMemoryUnmapInfo-parameter", + "text": " pMemoryUnmapInfo must be a valid pointer to a valid VkMemoryUnmapInfoKHR structure" + } + ] + }, + "VkMemoryUnmapInfoKHR": { + "(VK_KHR_map_memory2)": [ + { + "vuid": "VUID-VkMemoryUnmapInfoKHR-memory-07964", + "text": " memory must be currently host mapped" + }, + { + "vuid": "VUID-VkMemoryUnmapInfoKHR-sType-sType", + "text": " sType must be VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR" + }, + { + "vuid": "VUID-VkMemoryUnmapInfoKHR-pNext-pNext", + "text": " pNext must be NULL" + }, + { + "vuid": "VUID-VkMemoryUnmapInfoKHR-flags-zerobitmask", + "text": " flags must be 0" + }, + { + "vuid": "VUID-VkMemoryUnmapInfoKHR-memory-parameter", + "text": " memory must be a valid VkDeviceMemory handle" + } + ] + }, "vkGetDeviceMemoryCommitment": { "core": [ { @@ -29305,20 +29431,20 @@ "text": " For each element of pRegions, if the sum of dstOffset.z and extent.depth does not equal the depth of the subresource specified by dstSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of dstImage" }, { - "vuid": "VUID-vkCmdCopyImage-pRegions-07924", + "vuid": "VUID-vkCmdCopyImage-srcSubresource-07967", "text": " The pname:srcSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-vkCmdCopyImage-imageSubresource-07925", - "text": " The pname:srcSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:srcImage was created" + "vuid": "VUID-vkCmdCopyImage-srcSubresource-07968", + "text": " The pname:srcSubresource.baseArrayLayer + pname:srcSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-vkCmdCopyImage-pRegions-07924", + "vuid": "VUID-vkCmdCopyImage-dstSubresource-07967", "text": " The pname:dstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:dstImage was created" }, { - "vuid": "VUID-vkCmdCopyImage-imageSubresource-07925", - "text": " The pname:dstSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:dstImage was created" + "vuid": "VUID-vkCmdCopyImage-dstSubresource-07968", + "text": " The pname:dstSubresource.baseArrayLayer + pname:dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:dstImage was created" }, { "vuid": "VUID-vkCmdCopyImage-commandBuffer-parameter", @@ -29441,11 +29567,11 @@ "text": " The VkFormat of each of srcImage and dstImage must be size-compatible" }, { - "vuid": "VUID-vkCmdCopyImage-None-07922", + "vuid": "VUID-vkCmdCopyImage-srcImage-07965", "text": " If pname:srcImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyImage-None-07922", + "vuid": "VUID-vkCmdCopyImage-dstImage-07965", "text": " If pname:dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" } ], @@ -29487,11 +29613,11 @@ "text": " If dstImage has a multi-planar image format and the srcImage does not have a multi-planar image format, then for each element of pRegions, srcSubresource.aspectMask must be VK_IMAGE_ASPECT_COLOR_BIT" }, { - "vuid": "VUID-vkCmdCopyImage-None-07923", + "vuid": "VUID-vkCmdCopyImage-srcImage-07966", "text": " If pname:srcImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyImage-None-07923", + "vuid": "VUID-vkCmdCopyImage-dstImage-07966", "text": " If pname:dstImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" } ], @@ -29539,11 +29665,11 @@ ], "(VK_EXT_fragment_density_map)": [ { - "vuid": "VUID-vkCmdCopyImage-flags-07926", + "vuid": "VUID-vkCmdCopyImage-srcImage-07969", "text": " pname:srcImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" }, { - "vuid": "VUID-vkCmdCopyImage-flags-07926", + "vuid": "VUID-vkCmdCopyImage-dstImage-07969", "text": " pname:dstImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" } ] @@ -29799,20 +29925,20 @@ "text": " For each element of pRegions, if the sum of dstOffset.z and extent.depth does not equal the depth of the subresource specified by dstSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of dstImage" }, { - "vuid": "VUID-VkCopyImageInfo2-pRegions-07924", + "vuid": "VUID-VkCopyImageInfo2-srcSubresource-07967", "text": " The pname:srcSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-VkCopyImageInfo2-imageSubresource-07925", - "text": " The pname:srcSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:srcImage was created" + "vuid": "VUID-VkCopyImageInfo2-srcSubresource-07968", + "text": " The pname:srcSubresource.baseArrayLayer + pname:srcSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-VkCopyImageInfo2-pRegions-07924", + "vuid": "VUID-VkCopyImageInfo2-dstSubresource-07967", "text": " The pname:dstSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:dstImage was created" }, { - "vuid": "VUID-VkCopyImageInfo2-imageSubresource-07925", - "text": " The pname:dstSubresource.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:dstImage was created" + "vuid": "VUID-VkCopyImageInfo2-dstSubresource-07968", + "text": " The pname:dstSubresource.baseArrayLayer + pname:dstSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:dstImage was created" }, { "vuid": "VUID-VkCopyImageInfo2-sType-sType", @@ -29923,11 +30049,11 @@ "text": " The VkFormat of each of srcImage and dstImage must be size-compatible" }, { - "vuid": "VUID-VkCopyImageInfo2-None-07922", + "vuid": "VUID-VkCopyImageInfo2-srcImage-07965", "text": " If pname:srcImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-VkCopyImageInfo2-None-07922", + "vuid": "VUID-VkCopyImageInfo2-dstImage-07965", "text": " If pname:dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" } ], @@ -29969,11 +30095,11 @@ "text": " If dstImage has a multi-planar image format and the srcImage does not have a multi-planar image format, then for each element of pRegions, srcSubresource.aspectMask must be VK_IMAGE_ASPECT_COLOR_BIT" }, { - "vuid": "VUID-VkCopyImageInfo2-None-07923", + "vuid": "VUID-VkCopyImageInfo2-srcImage-07966", "text": " If pname:srcImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-VkCopyImageInfo2-None-07923", + "vuid": "VUID-VkCopyImageInfo2-dstImage-07966", "text": " If pname:dstImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" } ], @@ -30021,11 +30147,11 @@ ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [ { - "vuid": "VUID-VkCopyImageInfo2-flags-07926", + "vuid": "VUID-VkCopyImageInfo2-srcImage-07969", "text": " pname:srcImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" }, { - "vuid": "VUID-VkCopyImageInfo2-flags-07926", + "vuid": "VUID-VkCopyImageInfo2-dstImage-07969", "text": " pname:dstImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" } ] @@ -30089,136 +30215,136 @@ "vkCmdCopyBufferToImage": { "!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-vkCmdCopyBufferToImage-None-07922", - "text": " If {imageparam} is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07965", + "text": " If pname:dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-00193", - "text": " If {imageparam} does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07974", + "text": " If pname:dstImage does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" } ], "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-vkCmdCopyBufferToImage-None-07923", - "text": " If {imageparam} is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07966", + "text": " If pname:dstImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07740", - "text": " If {imageparam} has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07981", + "text": " If pname:dstImage has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07741", - "text": " If {imageparam} has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07982", + "text": " If pname:dstImage has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-01558", - "text": " If {imageparam} does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07975", + "text": " If pname:dstImage does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-bufferOffset-01559", - "text": " If {imageparam} has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07976", + "text": " If pname:dstImage has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" } ], "core": [ { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07924", - "text": " The {imagesubresource}.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07967", + "text": " The pname:imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:dstImage was created" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07925", - "text": " The {imagesubresource}.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07968", + "text": " The pname:imageSubresource.baseArrayLayer + pname:imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:dstImage was created" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07927", - "text": " The image region specified by each element of pRegions must be contained within the specified {imagesubresource} of {imageparam}" + "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07970", + "text": " The image region specified by each element of pRegions must be contained within the specified pname:imageSubresource of pname:dstImage" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07928", - "text": " For each element of pRegions, imageOffset.x and (imageExtent.width + imageOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified {imagesubresource} of {imageparam}" + "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07971", + "text": " For each element of pRegions, imageOffset.x and (imageExtent.width + imageOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified pname:imageSubresource of pname:dstImage" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07929", - "text": " For each element of pRegions, imageOffset.y and (imageExtent.height + imageOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified {imagesubresource} of {imageparam}" + "vuid": "VUID-vkCmdCopyBufferToImage-imageSubresource-07972", + "text": " For each element of pRegions, imageOffset.y and (imageExtent.height + imageOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified pname:imageSubresource of pname:dstImage" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-None-07930", - "text": " {imageparam} must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07973", + "text": " pname:dstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" }, { "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-07737", - "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of {regionsparam} must be a multiple of 4" + "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of pname:pRegions must be a multiple of 4" }, { "vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-07738", - "text": " The imageOffset and imageExtent members of each element of {regionsparam} must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" + "text": " The imageOffset and imageExtent members of each element of pname:pRegions must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" }, { "vuid": "VUID-vkCmdCopyBufferToImage-commandBuffer-07739", - "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT, for each element of {regionsparam}, the aspectMask member of imageSubresource must not be VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT" + "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT, for each element of pname:pRegions, the aspectMask member of imageSubresource must not be VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-srcImage-00199", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07979", + "text": " If pname:dstImage is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" }, { "vuid": "VUID-vkCmdCopyBufferToImage-imageOffset-00200", - "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of {imageparam}" + "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of pname:dstImage" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-srcImage-00201", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07980", + "text": " If pname:dstImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" }, { "vuid": "VUID-vkCmdCopyBufferToImage-bufferRowLength-00203", - "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-bufferImageHeight-00204", - "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07274", - "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07275", - "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07276", - "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00207", - "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00208", - "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-imageExtent-00209", - "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of pname:dstImage" }, { "vuid": "VUID-vkCmdCopyBufferToImage-aspectMask-00211", - "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in {imageparam}" + "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in pname:dstImage" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-baseArrayLayer-00213", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07983", + "text": " If pname:dstImage is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" }, { "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07277", - "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of {imageparam} must be less than or equal to 231-1" + "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of pname:dstImage must be less than or equal to 231-1" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-07273", - "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of {imageparam}" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07977", + "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of pname:dstImage" }, { - "vuid": "VUID-vkCmdCopyBufferToImage-srcImage-04053", - "text": " If {imageparam} has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07978", + "text": " If pname:dstImage has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" }, { "vuid": "VUID-vkCmdCopyBufferToImage-pRegions-00171", @@ -30291,8 +30417,8 @@ ], "(VK_EXT_fragment_density_map)": [ { - "vuid": "VUID-vkCmdCopyBufferToImage-flags-07926", - "text": " {imageparam} must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" + "vuid": "VUID-vkCmdCopyBufferToImage-dstImage-07969", + "text": " pname:dstImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" } ], "(VK_VERSION_1_1)": [ @@ -30343,132 +30469,132 @@ "vkCmdCopyImageToBuffer": { "!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-vkCmdCopyImageToBuffer-None-07922", - "text": " If {imageparam} is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07965", + "text": " If pname:srcImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-00193", - "text": " If {imageparam} does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07974", + "text": " If pname:srcImage does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" } ], "(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-vkCmdCopyImageToBuffer-None-07923", - "text": " If {imageparam} is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07966", + "text": " If pname:srcImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07740", - "text": " If {imageparam} has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07981", + "text": " If pname:srcImage has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07741", - "text": " If {imageparam} has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07982", + "text": " If pname:srcImage has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-01558", - "text": " If {imageparam} does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07975", + "text": " If pname:srcImage does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-bufferOffset-01559", - "text": " If {imageparam} has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07976", + "text": " If pname:srcImage has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" } ], "core": [ { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07924", - "text": " The {imagesubresource}.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07967", + "text": " The pname:imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07925", - "text": " The {imagesubresource}.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07968", + "text": " The pname:imageSubresource.baseArrayLayer + pname:imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07927", - "text": " The image region specified by each element of pRegions must be contained within the specified {imagesubresource} of {imageparam}" + "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07970", + "text": " The image region specified by each element of pRegions must be contained within the specified pname:imageSubresource of pname:srcImage" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07928", - "text": " For each element of pRegions, imageOffset.x and (imageExtent.width + imageOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified {imagesubresource} of {imageparam}" + "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07971", + "text": " For each element of pRegions, imageOffset.x and (imageExtent.width + imageOffset.x) must both be greater than or equal to 0 and less than or equal to the width of the specified pname:imageSubresource of pname:srcImage" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07929", - "text": " For each element of pRegions, imageOffset.y and (imageExtent.height + imageOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified {imagesubresource} of {imageparam}" + "vuid": "VUID-vkCmdCopyImageToBuffer-imageSubresource-07972", + "text": " For each element of pRegions, imageOffset.y and (imageExtent.height + imageOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified pname:imageSubresource of pname:srcImage" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-None-07930", - "text": " {imageparam} must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07973", + "text": " pname:srcImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-commandBuffer-07746", - "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of {regionsparam} must be a multiple of 4" + "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of pname:pRegions must be a multiple of 4" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-07747", - "text": " The imageOffset and imageExtent members of each element of {regionsparam} must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" + "text": " The imageOffset and imageExtent members of each element of pname:pRegions must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00199", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07979", + "text": " If pname:srcImage is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-imageOffset-00200", - "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of {imageparam}" + "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of pname:srcImage" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-00201", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07980", + "text": " If pname:srcImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-bufferRowLength-00203", - "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-bufferImageHeight-00204", - "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07274", - "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07275", - "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07276", - "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00207", - "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00208", - "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-imageExtent-00209", - "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of pname:srcImage" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-aspectMask-00211", - "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in {imageparam}" + "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in pname:srcImage" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-baseArrayLayer-00213", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07983", + "text": " If pname:srcImage is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07277", - "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of {imageparam} must be less than or equal to 231-1" + "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of pname:srcImage must be less than or equal to 231-1" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-07273", - "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of {imageparam}" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07977", + "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of pname:srcImage" }, { - "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-04053", - "text": " If {imageparam} has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07978", + "text": " If pname:srcImage has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" }, { "vuid": "VUID-vkCmdCopyImageToBuffer-pRegions-00183", @@ -30541,8 +30667,8 @@ ], "(VK_EXT_fragment_density_map)": [ { - "vuid": "VUID-vkCmdCopyImageToBuffer-flags-07926", - "text": " {imageparam} must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" + "vuid": "VUID-vkCmdCopyImageToBuffer-srcImage-07969", + "text": " pname:srcImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" } ], "(VK_VERSION_1_1)": [ @@ -30628,15 +30754,15 @@ "(VK_VERSION_1_3,VK_KHR_copy_commands2)": [ { "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-07737", - "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of {regionsparam} must be a multiple of 4" + "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of pname:pCopyBufferToImageInfo->pRegions must be a multiple of 4" }, { "vuid": "VUID-vkCmdCopyBufferToImage2-imageOffset-07738", - "text": " The imageOffset and imageExtent members of each element of {regionsparam} must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" + "text": " The imageOffset and imageExtent members of each element of pname:pCopyBufferToImageInfo->pRegions must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" }, { "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-07739", - "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT, for each element of {regionsparam}, the aspectMask member of imageSubresource must not be VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT" + "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT, for each element of pname:pCopyBufferToImageInfo->pRegions, the aspectMask member of imageSubresource must not be VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT" }, { "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter", @@ -30719,80 +30845,80 @@ "text": " dstImageLayout must specify the layout of the image subresources of dstImage specified in pRegions at the time this command is executed on a VkDevice" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07924", - "text": " The {imagesubresource}.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-07967", + "text": " The pname:imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:dstImage was created" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-07925", - "text": " The {imagesubresource}.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-07968", + "text": " The pname:imageSubresource.baseArrayLayer + pname:imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:dstImage was created" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-None-07930", - "text": " {imageparam} must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07973", + "text": " pname:dstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-srcImage-00199", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07979", + "text": " If pname:dstImage is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-imageOffset-00200", - "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of {imageparam}" + "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of pname:dstImage" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-srcImage-00201", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07980", + "text": " If pname:dstImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-bufferRowLength-00203", - "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-bufferImageHeight-00204", - "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07274", - "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07275", - "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07276", - "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00207", - "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00208", - "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-00209", - "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of pname:dstImage" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-aspectMask-00211", - "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in {imageparam}" + "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in pname:dstImage" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-baseArrayLayer-00213", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07983", + "text": " If pname:dstImage is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07277", - "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of {imageparam} must be less than or equal to 231-1" + "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of pname:dstImage must be less than or equal to 231-1" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07273", - "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of {imageparam}" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07977", + "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of pname:dstImage" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-srcImage-04053", - "text": " If {imageparam} has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07978", + "text": " If pname:dstImage has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" }, { "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-06223", @@ -30867,40 +30993,40 @@ ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkCopyBufferToImageInfo2-None-07922", - "text": " If {imageparam} is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07965", + "text": " If pname:dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-00193", - "text": " If {imageparam} does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07974", + "text": " If pname:dstImage does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" } ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkCopyBufferToImageInfo2-None-07923", - "text": " If {imageparam} is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07966", + "text": " If pname:dstImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07740", - "text": " If {imageparam} has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07981", + "text": " If pname:dstImage has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-07741", - "text": " If {imageparam} has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07982", + "text": " If pname:dstImage has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-01558", - "text": " If {imageparam} does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07975", + "text": " If pname:dstImage does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" }, { - "vuid": "VUID-VkCopyBufferToImageInfo2-bufferOffset-01559", - "text": " If {imageparam} has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07976", + "text": " If pname:dstImage has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" } ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [ { - "vuid": "VUID-VkCopyBufferToImageInfo2-flags-07926", - "text": " {imageparam} must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" + "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-07969", + "text": " pname:dstImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" } ] }, @@ -30922,11 +31048,11 @@ "(VK_VERSION_1_3,VK_KHR_copy_commands2)": [ { "vuid": "VUID-vkCmdCopyImageToBuffer2-commandBuffer-07746", - "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of {regionsparam} must be a multiple of 4" + "text": " If the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the bufferOffset member of any element of pname:pCopyImageToBufferInfo->pRegions must be a multiple of 4" }, { "vuid": "VUID-vkCmdCopyImageToBuffer2-imageOffset-07747", - "text": " The imageOffset and imageExtent members of each element of {regionsparam} must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" + "text": " The imageOffset and imageExtent members of each element of pname:pCopyImageToBufferInfo->pRegions must respect the image transfer granularity requirements of commandBuffer’s command pool’s queue family, as described in VkQueueFamilyProperties" }, { "vuid": "VUID-vkCmdCopyImageToBuffer2-commandBuffer-parameter", @@ -31009,80 +31135,80 @@ "text": " srcImageLayout must specify the layout of the image subresources of srcImage specified in pRegions at the time this command is executed on a VkDevice" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07924", - "text": " The {imagesubresource}.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-VkCopyImageToBufferInfo2-imageSubresource-07967", + "text": " The pname:imageSubresource.mipLevel member of each element of pRegions must be less than the mipLevels specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-imageSubresource-07925", - "text": " The {imagesubresource}.baseArrayLayer + imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when {imageparam} was created" + "vuid": "VUID-VkCopyImageToBufferInfo2-imageSubresource-07968", + "text": " The pname:imageSubresource.baseArrayLayer + pname:imageSubresource.layerCount of each element of pRegions must be less than or equal to the arrayLayers specified in VkImageCreateInfo when pname:srcImage was created" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-None-07930", - "text": " {imageparam} must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07973", + "text": " pname:srcImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-00199", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07979", + "text": " If pname:srcImage is of type VK_IMAGE_TYPE_1D, then for each element of pRegions, imageOffset.y must be 0 and imageExtent.height must be 1" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-imageOffset-00200", - "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of {imageparam}" + "text": " For each element of pRegions, imageOffset.z and (imageExtent.depth + imageOffset.z) must both be greater than or equal to 0 and less than or equal to the depth of the specified imageSubresource of pname:srcImage" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-00201", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07980", + "text": " If pname:srcImage is of type VK_IMAGE_TYPE_1D or VK_IMAGE_TYPE_2D, then for each element of pRegions, imageOffset.z must be 0 and imageExtent.depth must be 1" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-bufferRowLength-00203", - "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferRowLength must be a multiple of the texel block extent width of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-bufferImageHeight-00204", - "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, bufferImageHeight must be a multiple of the texel block extent height of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07274", - "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.x must be a multiple of the texel block extent width of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07275", - "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.y must be a multiple of the texel block extent height of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07276", - "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, imageOffset.z must be a multiple of the texel block extent depth of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00207", - "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.x and extent.width does not equal the width of the subresource specified by srcSubresource, extent.width must be a multiple of the texel block extent width of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00208", - "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.y and extent.height does not equal the height of the subresource specified by srcSubresource, extent.height must be a multiple of the texel block extent height of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-imageExtent-00209", - "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of {imageparam}" + "text": " For each element of pRegions, if the sum of imageOffset.z and extent.depth does not equal the depth of the subresource specified by srcSubresource, extent.depth must be a multiple of the texel block extent depth of the VkFormat of pname:srcImage" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-aspectMask-00211", - "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in {imageparam}" + "text": " For each element of pRegions, imageSubresource.aspectMask must specify aspects present in pname:srcImage" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-baseArrayLayer-00213", - "text": " If {imageparam} is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07983", + "text": " If pname:srcImage is of type VK_IMAGE_TYPE_3D, for each element of pRegions, imageSubresource.baseArrayLayer must be 0 and imageSubresource.layerCount must be 1" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07277", - "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of {imageparam} must be less than or equal to 231-1" + "text": " For each element of pRegions, bufferRowLength divided by the texel block extent width and then multiplied by the texel block size of pname:srcImage must be less than or equal to 231-1" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07273", - "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of {imageparam}" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07977", + "text": " For each element of pRegions, bufferOffset must be a multiple of the texel block size of the VkFormat of pname:srcImage" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-04053", - "text": " If {imageparam} has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07978", + "text": " If pname:srcImage has a depth/stencil format, the bufferOffset member of any element of pRegions must be a multiple of 4" }, { "vuid": "VUID-VkCopyImageToBufferInfo2-imageOffset-00197", @@ -31145,40 +31271,40 @@ ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+!(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkCopyImageToBufferInfo2-None-07922", - "text": " If {imageparam} is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07965", + "text": " If pname:srcImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-00193", - "text": " If {imageparam} does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07974", + "text": " If pname:srcImage does not have a depth/stencil format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" } ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion)": [ { - "vuid": "VUID-VkCopyImageToBufferInfo2-None-07923", - "text": " If {imageparam} is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07966", + "text": " If pname:srcImage is non-sparse then the image or the specified disjoint plane must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07740", - "text": " If {imageparam} has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07981", + "text": " If pname:srcImage has a VkFormat with two planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT or VK_IMAGE_ASPECT_PLANE_1_BIT" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-pRegions-07741", - "text": " If {imageparam} has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07982", + "text": " If pname:srcImage has a VkFormat with three planes then for each element of pRegions, imageSubresource.aspectMask must be VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or VK_IMAGE_ASPECT_PLANE_2_BIT" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-01558", - "text": " If {imageparam} does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07975", + "text": " If pname:srcImage does not have either a depth/stencil or a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the format’s texel block size" }, { - "vuid": "VUID-VkCopyImageToBufferInfo2-bufferOffset-01559", - "text": " If {imageparam} has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07976", + "text": " If pname:srcImage has a multi-planar format, then for each element of pRegions, bufferOffset must be a multiple of the element size of the compatible format for the format and the aspectMask of the imageSubresource as defined in Compatible formats of planes of multi-planar formats" } ], "(VK_VERSION_1_3,VK_KHR_copy_commands2)+(VK_EXT_fragment_density_map)": [ { - "vuid": "VUID-VkCopyImageToBufferInfo2-flags-07926", - "text": " {imageparam} must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" + "vuid": "VUID-VkCopyImageToBufferInfo2-srcImage-07969", + "text": " pname:srcImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT" } ] }, @@ -31321,8 +31447,8 @@ "text": " If dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object" }, { - "vuid": "VUID-vkCmdCopyMemoryToImageIndirectNV-None-07930", - "text": " {imageparam} must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" + "vuid": "VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07973", + "text": " pname:dstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT" }, { "vuid": "VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07667", diff --git a/registry/vk.xml b/registry/vk.xml index d4d1138..5efa2c2 100644 --- a/registry/vk.xml +++ b/registry/vk.xml @@ -67,7 +67,7 @@ branch of the member gitlab server. - + @@ -173,7 +173,7 @@ 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 243 +#define VK_HEADER_VERSION 244 // Complete version of this file #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) // Version of this file @@ -510,6 +510,7 @@ typedef void* MTLSharedEvent_id; typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT; + typedef VkFlags VkMemoryUnmapFlagsKHR; Types which can be void pointers or class pointers, selected at compile time VK_DEFINE_HANDLE(VkInstance) @@ -5259,8 +5260,8 @@ typedef void* MTLSharedEvent_id; void* pNext uint32_t maxWorkGroupCount[3] uint32_t maxWorkGroupSize[3] - uint32_t maxOutputClusterCount - VkDeviceSize indirectBufferOffsetAlignment + uint32_t maxOutputClusterCount + VkDeviceSize indirectBufferOffsetAlignment VkStructureType sType @@ -8075,6 +8076,20 @@ typedef void* MTLSharedEvent_id; const void* pNext void* pQueriedLowLatencyData + + VkStructureType sType + const void* pNext + VkMemoryMapFlags flags + VkDeviceMemory memory + VkDeviceSize offset + VkDeviceSize size + + + VkStructureType sType + const void* pNext + VkMemoryUnmapFlagsKHR flags + VkDeviceMemory memory + @@ -9239,7 +9254,7 @@ typedef void* MTLSharedEvent_id; - + @@ -13932,6 +13947,17 @@ typedef void* MTLSharedEvent_id; VkDevice device const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo + + VkResult vkMapMemory2KHR + VkDevice device + const VkMemoryMapInfoKHR* pMemoryMapInfo + void** ppData + + + VkResult vkUnmapMemory2KHR + VkDevice device + const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo + @@ -17151,14 +17177,14 @@ typedef void* MTLSharedEvent_id; - + - + @@ -17742,7 +17768,7 @@ typedef void* MTLSharedEvent_id; - + @@ -19105,10 +19131,17 @@ typedef void* MTLSharedEvent_id; - + - - + + + + + + + + + @@ -21196,13 +21229,13 @@ typedef void* MTLSharedEvent_id; - + - + @@ -21813,6 +21846,36 @@ typedef void* MTLSharedEvent_id; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +