C Specification
To bind a sampler heap to a command buffer, call:
// Provided by VK_EXT_descriptor_heap
void vkCmdBindSamplerHeapEXT(
VkCommandBuffer commandBuffer,
const VkBindHeapInfoEXT* pBindInfo);
Parameters
-
commandBufferis the command buffer that the sampler 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 sampler heap.
The application can access samplers and data through this heap anywhere
except for the reserved range specified by
pBindInfo->reservedRangeOffset.
Addresses in the range [pBindInfo->reservedRangeOffset,
pBindInfo->reservedRangeOffset +
pBindInfo->reservedRangeSize) 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.
The reserved range is bound to the command buffer until it has been reset.
|
Note
|
Implementations may require a larger sampler heap reservation to store
embedded sampler descriptors when used in a mapping, as advertised by
|
Shaders executed by commands recorded after this command can use the
specified sampler heap to access resources.
pBindInfo->heapRange.address will be available to shaders to access
samplers and data through the SamplerHeapEXT BuiltIn or via
shader bindings.
When vkCmdBindSamplerHeapEXT 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.