VK_EXT_descriptor_buffer(3)

# VK_EXT_descriptor_buffer(3) Manual Page

## Name

VK_EXT_descriptor_buffer - device extension

Loading… please wait.

## Registered Extension Number

317

## Revision

1

## Extension and Version Dependencies

- Requires support for Vulkan 1.0

- Requires `VK_KHR_get_physical_device_properties2` to be enabled for any device-level functionality

- Requires `VK_KHR_buffer_device_address` to be enabled for any device-level functionality

- Requires `VK_KHR_synchronization2` to be enabled for any device-level functionality

- Requires `VK_EXT_descriptor_indexing` to be enabled for any device-level functionality

## Contact

- Tobias Hector tobski

## Extension Proposal

VK_EXT_descriptor_buffer

## Other Extension Metadata

Last Modified Date

  2021-06-07

IP Status

  No known IP claims.

Contributors

  - Tobias Hector, AMD

  - Stu Smith, AMD

  - Maciej Jesionowski, AMD

  - Boris Zanin, AMD

  - Hans-Kristian Arntzen, Valve

  - Connor Abbott, Valve

  - Baldur Karlsson, Valve

  - Mike Blumenkrantz, Valve

  - Graeme Leese, Broadcom

  - Jan-Harald Fredriksen, Arm

  - Rodrigo Locatti, NVIDIA

  - Jeff Bolz, NVIDIA

  - Piers Daniell, NVIDIA

  - Jeff Leger, QUALCOMM

  - Lionel Landwerlin, Intel

  - Slawomir Grajewski, Intel

## Description

This extension introduces new commands to put shader-accessible descriptors directly in memory, making the management of descriptor data more explicit.

## New Commands

- vkCmdBindDescriptorBufferEmbeddedSamplersEXT

- vkCmdBindDescriptorBuffersEXT

- vkCmdSetDescriptorBufferOffsetsEXT

- vkGetBufferOpaqueCaptureDescriptorDataEXT

- vkGetDescriptorEXT

- vkGetDescriptorSetLayoutBindingOffsetEXT

- vkGetDescriptorSetLayoutSizeEXT

- vkGetImageOpaqueCaptureDescriptorDataEXT

- vkGetImageViewOpaqueCaptureDescriptorDataEXT

- vkGetSamplerOpaqueCaptureDescriptorDataEXT

If VK_KHR_acceleration_structure or VK_NV_ray_tracing is supported:

- vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT

## New Structures

- VkBufferCaptureDescriptorDataInfoEXT

- VkDescriptorAddressInfoEXT

- VkDescriptorBufferBindingInfoEXT

- VkDescriptorGetInfoEXT

- VkImageCaptureDescriptorDataInfoEXT

- VkImageViewCaptureDescriptorDataInfoEXT

- VkSamplerCaptureDescriptorDataInfoEXT

- Extending VkBufferCreateInfo, VkImageCreateInfo, VkImageViewCreateInfo, VkSamplerCreateInfo, VkAccelerationStructureCreateInfoKHR, VkAccelerationStructureCreateInfoNV:

  - VkOpaqueCaptureDescriptorDataCreateInfoEXT

- Extending VkDescriptorBufferBindingInfoEXT:

  - VkDescriptorBufferBindingPushDescriptorBufferHandleEXT

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceDescriptorBufferFeaturesEXT

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT

  - VkPhysicalDeviceDescriptorBufferPropertiesEXT

If VK_KHR_acceleration_structure or VK_NV_ray_tracing is supported:

- VkAccelerationStructureCaptureDescriptorDataInfoEXT

## New Unions

- VkDescriptorDataEXT

## New Enum Constants

- `VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME`

- `VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION`

- Extending VkAccelerationStructureCreateFlagBitsKHR:

  - `VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT`

- Extending VkAccessFlagBits2:

  - `VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT`

- Extending VkBufferCreateFlagBits:

  - `VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT`

- Extending VkBufferUsageFlagBits:

  - `VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT`

  - `VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT`

  - `VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT`

- Extending VkDescriptorSetLayoutCreateFlagBits:

  - `VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT`

  - `VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT`

- Extending VkImageCreateFlagBits:

  - `VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT`

- Extending VkImageViewCreateFlagBits:

  - `VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT`

- Extending VkPipelineCreateFlagBits:

  - `VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT`

- Extending VkSamplerCreateFlagBits:

  - `VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT`

  - `VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT`

  - `VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT`

  - `VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT`

  - `VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT`

If VK_KHR_acceleration_structure or VK_NV_ray_tracing is supported:

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT`

## Version History

- Revision 1, 2021-06-07 (Stu Smith)

  - Initial revision

## See Also

VkBufferCaptureDescriptorDataInfoEXT, VkDescriptorAddressInfoEXT, VkDescriptorBufferBindingInfoEXT, VkDescriptorBufferBindingPushDescriptorBufferHandleEXT, VkDescriptorDataEXT, VkDescriptorGetInfoEXT, VkImageCaptureDescriptorDataInfoEXT, VkImageViewCaptureDescriptorDataInfoEXT, VkOpaqueCaptureDescriptorDataCreateInfoEXT, VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, VkPhysicalDeviceDescriptorBufferFeaturesEXT, VkPhysicalDeviceDescriptorBufferPropertiesEXT, VkSamplerCaptureDescriptorDataInfoEXT, vkCmdBindDescriptorBufferEmbeddedSamplersEXT, vkCmdBindDescriptorBuffersEXT, vkCmdSetDescriptorBufferOffsetsEXT, vkGetBufferOpaqueCaptureDescriptorDataEXT, vkGetDescriptorEXT, vkGetDescriptorSetLayoutBindingOffsetEXT, vkGetDescriptorSetLayoutSizeEXT, vkGetImageOpaqueCaptureDescriptorDataEXT, vkGetImageViewOpaqueCaptureDescriptorDataEXT, vkGetSamplerOpaqueCaptureDescriptorDataEXT

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2022 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0