C Specification
The VkDescriptorMappingSourceIndirectAddressEXT structure is defined
as:
// Provided by VK_EXT_descriptor_heap
typedef struct VkDescriptorMappingSourceIndirectAddressEXT {
uint32_t pushOffset;
uint32_t addressOffset;
} VkDescriptorMappingSourceIndirectAddressEXT;
Members
-
pushOffsetis a byte offset into push data where an indirect address containing the address for the mapped resource will be retrieved. -
addressOffsetis a byte offset into the indirect address where the address for the mapped resource will be retrieved.
Description
Accessing data via the mapped resource in the shader will access data backing the address specified in the indirect address at the supplied offset:
-
indirectAddress = ((VkDeviceAddress*)pPushData)[pushOffset/8]
-
resourceAddress = ((VkDeviceAddress*)indirectAddress)[addressOffset/8]
where pPushData is the total set of push data specified by vkCmdPushDataEXT. Reads through indirectAddress are performed as non-volatile uniform buffer reads, and can be synchronized using VK_ACCESS_2_UNIFORM_READ_BIT. Shader reads through resourceAddress are performed according to the mapped resource. If the shader resource is an acceleration structure, the address must be a valid acceleration structure address.
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.