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 +
minSamplerHeapReservedRange),
or in the range [pBindInfo->reservedRangeOffset,
pBindInfo->reservedRangeOffset +
minSamplerHeapReservedRangeWithEmbedded) if embedded samplers will
be used, are reserved for the implementation and must not be accessed by
the application at any time from when this command is recorded until all
command buffers with that range bound (even invalid ones) have been reset or
freed.
|
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.