C Specification

The VkDescriptorMappingSourceHeapDataEXT structure is defined as:

// Provided by VK_EXT_descriptor_heap
typedef struct VkDescriptorMappingSourceHeapDataEXT {
    uint32_t    heapOffset;
    uint32_t    pushOffset;
} VkDescriptorMappingSourceHeapDataEXT;

Members

  • heapOffset is a constant byte offset added to the heap address for the mapped buffer.

  • pushOffset is an index into push data where an additional offset into the heap for the mapped resource will be retrieved.

Description

Uniform buffers using this mapping will be backed directly by data in the heap. Accessing data in the uniform buffer at an offset of shaderOffset in the shader will access heap data at an offset equal to

offset = shaderOffset + heapOffset + ((uint32_t*)pPushData)[pushOffset/4]

where pPushData is the total set of push data specified by vkCmdPushDataEXT. Shader reads through the heap mapped in this way are performed according to the mapped resource.

Valid Usage
  • VUID-VkDescriptorMappingSourceHeapDataEXT-heapOffset-11263
    heapOffset must be a multiple of minUniformBufferOffsetAlignment

  • VUID-VkDescriptorMappingSourceHeapDataEXT-pushOffset-11264
    pushOffset must be a multiple of 4

  • VUID-VkDescriptorMappingSourceHeapDataEXT-pushOffset-11265
    pushOffset must be less than or equal to maxPushDataSize - 4

See Also

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.

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0