C Specification
To bind a resource heap to a command buffer, call:
// Provided by VK_EXT_descriptor_heap
void vkCmdBindResourceHeapEXT(
VkCommandBuffer commandBuffer,
const VkBindHeapInfoEXT* pBindInfo);
Parameters
-
commandBufferis the command buffer that the resource heap will be bound to. -
pBindInfois a VkBindHeapInfoEXT specifying the device address range used for the heap and any implementation reservations.
Description
Addresses in the range defined by pBindInfo->heapRange are bound as
the resource heap.
The application can access resources and data through this heap anywhere
except for the reserved range specified by
pBindInfo->reservedRangeOffset.
Addresses in the range [pBindInfo->reservedRangeOffset,
pBindInfo->reservedRangeOffset +
minResourceHeapReservedRange)
are reserved for the implementation and must not be accessed by the
application at any time from when this command is recorded until there are
no command buffers with that range bound.
Shaders executed by commands recorded after this command can use the
specified resource heap to access resources.
pBindInfo->heapRange.address will be available to shaders to access
resources through the ResourceHeapEXT BuiltIn or via
shader bindings.
When vkCmdBindResourceHeapEXT is recorded, it
immediately invalidates all non-heap
descriptor state.
Similarly, recording any non-heap descriptor state commands immediately
invalidates state set by this command.
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.