VkDescriptorAddressInfoEXT(3)

# VkDescriptorAddressInfoEXT(3) Manual Page

## Name

VkDescriptorAddressInfoEXT - Structure specifying descriptor buffer address info

Loading… please wait.

## C Specification

Data describing a `VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER`, `VK_DESCRIPTOR_TYPE_STORAGE_BUFFER`, `VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER`, or `VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER` descriptor is passed in a `VkDescriptorAddressInfoEXT` structure:

    // Provided by VK_EXT_descriptor_buffer
    typedef struct VkDescriptorAddressInfoEXT {
        VkStructureType    sType;
        void*              pNext;
        VkDeviceAddress    address;
        VkDeviceSize       range;
        VkFormat           format;
    } VkDescriptorAddressInfoEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `address` is either `0` or a device address at an offset in a buffer, where the base address can be queried from vkGetBufferDeviceAddress.

- `range` is the size in bytes of the buffer or buffer view used by the descriptor.

- `format` is the format of the data elements in the buffer view and is ignored for buffers.

## Description

Valid Usage

- VUID-VkDescriptorAddressInfoEXT-None-09508
  If `address` is not zero, and the descriptor is of type `VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER` or `VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER`, then `format` must not be `VK_FORMAT_UNDEFINED`

- VUID-VkDescriptorAddressInfoEXT-address-08043
  If the `nullDescriptor` feature is not enabled, `address` must not be zero

- VUID-VkDescriptorAddressInfoEXT-nullDescriptor-08938
  If `address` is zero, `range` must be `VK_WHOLE_SIZE`

- VUID-VkDescriptorAddressInfoEXT-nullDescriptor-08939
  If `address` is not zero, `range` must not be `VK_WHOLE_SIZE`

- VUID-VkDescriptorAddressInfoEXT-None-08044
  If `address` is not zero, `address` must be a valid device address at an offset within a VkBuffer

- VUID-VkDescriptorAddressInfoEXT-range-08045
  `range` must be less than or equal to the size of the buffer containing `address` minus the offset of `address` from the base address of the buffer

- VUID-VkDescriptorAddressInfoEXT-range-08940
  `range` must not be zero

Valid Usage (Implicit)

- VUID-VkDescriptorAddressInfoEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT`

- VUID-VkDescriptorAddressInfoEXT-pNext-pNext
  `pNext` must be `NULL`

- VUID-VkDescriptorAddressInfoEXT-format-parameter
  `format` must be a valid VkFormat value

If the `nullDescriptor` feature is enabled, `address` can be zero. Loads from a null descriptor return zero values and stores and atomics to a null descriptor are discarded.

## See Also

VK_EXT_descriptor_buffer, VkDescriptorDataEXT, VkDeviceAddress, VkDeviceSize, VkFormat, VkStructureType

## 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-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0