Structures

VkBindAccelerationStructureMemoryInfoNV

Structure specifying acceleration structure memory binding

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 is NULL or a pointer to a structure extending this structure.
  • accelerationStructure is the acceleration structure to be attached to memory.
  • memory is a VkDeviceMemory 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 in memory, starting from memoryOffset bytes, will be bound to the specified acceleration structure.
  • deviceIndexCount is the number of elements in pDeviceIndices.
  • 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-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