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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.accelerationStructure
is the acceleration structure to be attached to memory.memory
is aVkDeviceMemory
object describing the device memory to attach.memoryOffset
is 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::size
member inmemory
, starting frommemoryOffset
bytes, will be bound to the specified acceleration structure.deviceIndexCount
is the number of elements inpDeviceIndices
.pDeviceIndices
is 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