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

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

SPDX-License-Identifier: CC-BY-4.0