Structures

VkDedicatedAllocationMemoryAllocateInfoNV

Specify a dedicated memory allocation resource

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 is NULL 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-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-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