VkDescriptorBufferBindingInfoEXT(3)

# VkDescriptorBufferBindingInfoEXT(3) Manual Page

## Name

VkDescriptorBufferBindingInfoEXT - Structure specifying descriptor buffer binding information

Loading… please wait.

## C Specification

Data describing a descriptor buffer binding is passed in a `VkDescriptorBufferBindingInfoEXT` structure:

    // Provided by VK_EXT_descriptor_buffer
    typedef struct VkDescriptorBufferBindingInfoEXT {
        VkStructureType       sType;
        void*                 pNext;
        VkDeviceAddress       address;
        VkBufferUsageFlags    usage;
    } VkDescriptorBufferBindingInfoEXT;

## Members

Valid Usage

- VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056
  If `VkPhysicalDeviceDescriptorBufferPropertiesEXT`::`bufferlessPushDescriptors` is `VK_FALSE`, and `usage` contains VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, then the `pNext` chain must include a VkDescriptorBufferBindingPushDescriptorBufferHandleEXT structure

- VUID-VkDescriptorBufferBindingInfoEXT-address-08057
  `address` must be aligned to VkPhysicalDeviceDescriptorBufferPropertiesEXT::`descriptorBufferOffsetAlignment`

- VUID-VkDescriptorBufferBindingInfoEXT-usage-08122
  If `usage` includes `VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT`, `address` must be an address within a valid buffer that was created with `VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT`

- VUID-VkDescriptorBufferBindingInfoEXT-usage-08123
  If `usage` includes `VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT`, `address` must be an address within a valid buffer that was created with `VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT`

- VUID-VkDescriptorBufferBindingInfoEXT-usage-08124
  If `usage` includes `VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT`, `address` must be an address within a valid buffer that was created with `VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT`

## Description

Valid Usage (Implicit)

- VUID-VkDescriptorBufferBindingInfoEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT`

- VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext
  `pNext` must be `NULL` or a pointer to a valid instance of VkDescriptorBufferBindingPushDescriptorBufferHandleEXT

- VUID-VkDescriptorBufferBindingInfoEXT-sType-unique
  The `sType` value of each struct in the `pNext` chain must be unique

- VUID-VkDescriptorBufferBindingInfoEXT-usage-parameter
  `usage` must be a valid combination of VkBufferUsageFlagBits values

- VUID-VkDescriptorBufferBindingInfoEXT-usage-requiredbitmask
  `usage` must not be `0`

## See Also

VK_EXT_descriptor_buffer, VkBufferUsageFlags, VkDeviceAddress, VkStructureType, vkCmdBindDescriptorBuffersEXT

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

SPDX-License-Identifier: CC-BY-4.0