VkDescriptorMappingSourceHeapDataEXT(3)

# VkDescriptorMappingSourceHeapDataEXT(3) Manual Page

## Name

VkDescriptorMappingSourceHeapDataEXT - Structure specifying mapping a uniform buffer to heap data

## 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

VK_EXT_descriptor_heap, VkDescriptorMappingSourceDataEXT

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0