VkDedicatedAllocationMemoryAllocateInfoNV
If the pNext
chain includes a
VkDedicatedAllocationMemoryAllocateInfoNV
structure, then that
structure includes a handle of the sole buffer or image resource that the
memory can be bound to.
The VkDedicatedAllocationMemoryAllocateInfoNV
structure is defined as:
typedef struct VkDedicatedAllocationMemoryAllocateInfoNV {
VkStructureType sType;
const void* pNext;
VkImage image;
VkBuffer buffer;
} VkDedicatedAllocationMemoryAllocateInfoNV;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.image
is VK_NULL_HANDLE or a handle of an image which this memory will be bound to.buffer
is VK_NULL_HANDLE or a handle of a buffer which this memory will be bound to.
Valid Usage
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00649
At least one of image
and buffer
must be
VK_NULL_HANDLE
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00650
If image
is not VK_NULL_HANDLE, the image must have been
created with
VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation
equal to VK_TRUE
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00651
If buffer
is not VK_NULL_HANDLE, the buffer must have been
created with
VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation
equal to VK_TRUE
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00652
If image
is not VK_NULL_HANDLE,
VkMemoryAllocateInfo
::allocationSize
must equal the
VkMemoryRequirements
::size
of the image
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00653
If buffer
is not VK_NULL_HANDLE,
VkMemoryAllocateInfo
::allocationSize
must equal the
VkMemoryRequirements
::size
of the buffer
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00654
If image
is not VK_NULL_HANDLE and
VkMemoryAllocateInfo defines a memory import operation, the memory
being imported must also be a dedicated image allocation and
image
must be identical to the image associated with the imported
memory
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00655
If buffer
is not VK_NULL_HANDLE and
VkMemoryAllocateInfo defines a memory import operation, the memory
being imported must also be a dedicated buffer allocation and
buffer
must be identical to the buffer associated with the
imported memory
Valid Usage (Implicit)
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-sType-sType
sType
must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-parameter
If image
is not VK_NULL_HANDLE, image
must be a valid VkImage handle
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-parameter
If buffer
is not VK_NULL_HANDLE, buffer
must be a valid VkBuffer handle
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-commonparent
Both of buffer
, and image
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice