VkBindAccelerationStructureMemoryInfoNV
The VkBindAccelerationStructureMemoryInfoNV structure is defined as:
typedef struct VkBindAccelerationStructureMemoryInfoNV {
VkStructureType sType;
const void* pNext;
VkAccelerationStructureNV accelerationStructure;
VkDeviceMemory memory;
VkDeviceSize memoryOffset;
uint32_t deviceIndexCount;
const uint32_t* pDeviceIndices;
} VkBindAccelerationStructureMemoryInfoNV;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.accelerationStructureis the acceleration structure to be attached to memory.memoryis aVkDeviceMemoryobject describing the device memory to attach.memoryOffsetis the start offset of the region of memory that is to be bound to the acceleration structure. The number of bytes returned in the VkMemoryRequirements::sizemember inmemory, starting frommemoryOffsetbytes, will be bound to the specified acceleration structure.deviceIndexCountis the number of elements inpDeviceIndices.pDeviceIndicesis a pointer to an array of device indices.
Valid Usage
VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-03620
accelerationStructure must not already be backed by a memory
object
VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03621
memoryOffset must be less than the size of memory
VUID-VkBindAccelerationStructureMemoryInfoNV-memory-03622
memory must have been allocated using one of the memory types
allowed in the memoryTypeBits member of the
VkMemoryRequirements structure returned from a call to
vkGetAccelerationStructureMemoryRequirementsNV with
accelerationStructure and type of
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV
VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03623
memoryOffset must be an integer multiple of the alignment
member of the VkMemoryRequirements structure returned from a call
to vkGetAccelerationStructureMemoryRequirementsNV with
accelerationStructure and type of
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV
VUID-VkBindAccelerationStructureMemoryInfoNV-size-03624
The size member of the VkMemoryRequirements structure
returned from a call to
vkGetAccelerationStructureMemoryRequirementsNV with
accelerationStructure and type of
VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV must
be less than or equal to the size of memory minus
memoryOffset
Valid Usage (Implicit)
VUID-VkBindAccelerationStructureMemoryInfoNV-sType-sType
sType must be VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV
VUID-VkBindAccelerationStructureMemoryInfoNV-pNext-pNext
pNext must be NULL
VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-parameter
accelerationStructure must be a valid VkAccelerationStructureNV handle
VUID-VkBindAccelerationStructureMemoryInfoNV-memory-parameter
memory must be a valid VkDeviceMemory handle
VUID-VkBindAccelerationStructureMemoryInfoNV-pDeviceIndices-parameter
If deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values
VUID-VkBindAccelerationStructureMemoryInfoNV-commonparent
Both of accelerationStructure, and memory must have been created, allocated, or retrieved from the same VkDevice