vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_buffer_device_address

Description

Name

VK_KHR_buffer_device_address - device extension

VK_KHR_buffer_device_address

Name String
VK_KHR_buffer_device_address
Extension Type
Device extension
Registered Extension Number
258
Revision
1
Ratification Status
Ratified
Extension and Version Dependencies

VK_KHR_get_physical_device_properties2      and

VK_KHR_device_group or Version 1.1

Deprecation State
Contact

Other Extension Metadata

Last Modified Date
2019-06-24
IP Status
No known IP claims.
Interactions and External Dependencies
Contributors
  • Jeff Bolz, NVIDIA
  • Neil Henning, AMD
  • Tobias Hector, AMD
  • Faith Ekstrand, Intel
  • Baldur Karlsson, Valve
  • Jan-Harald Fredriksen, Arm

Description

This extension allows the application to query a 64-bit buffer device address value for a buffer, which can be used to access the buffer memory via the PhysicalStorageBuffer storage class in the GL_EXT_buffer_reference GLSL extension and SPV_KHR_physical_storage_buffer SPIR-V extension.

Another way to describe this extension is that it adds “pointers to buffer memory in shaders”. By calling getBufferDeviceAddress with a Buffer, it will return a DeviceAddress value which represents the address of the start of the buffer.

getBufferOpaqueCaptureAddress and getDeviceMemoryOpaqueCaptureAddress allow opaque addresses for buffers and memory objects to be queried for the current process. A trace capture and replay tool can then supply these addresses to be used at replay time to match the addresses used when the trace was captured. To enable tools to insert these queries, new memory allocation flags must be specified for memory objects that will be bound to buffers accessed via the PhysicalStorageBuffer storage class. __Note that this mechanism is intended only to support capture/replay tools, and is not recommended for use in other applications.__

Promotion to Vulkan 1.2

All functionality in this extension is included in core Vulkan 1.2, with the KHR suffix omitted. However, if Vulkan 1.2 is supported and this extension is not, the bufferDeviceAddress feature is optional. The original type, enum and command names are still available as aliases of the core functionality.

Promotion to Vulkan 1.3

Support for the bufferDeviceAddress feature is mandatory in Vulkan 1.3, regardless of whether this extension is supported.

New Commands

New Structures

New Enum Constants

New SPIR-V Capabilities

Version History

  • Revision 1, 2019-06-24 (Jan-Harald Fredriksen)

    • Internal revisions based on VK_EXT_buffer_device_address

See Also

BufferDeviceAddressInfoKHR, BufferOpaqueCaptureAddressCreateInfoKHR, DeviceMemoryOpaqueCaptureAddressInfoKHR, MemoryOpaqueCaptureAddressAllocateInfoKHR, PhysicalDeviceBufferDeviceAddressFeaturesKHR, getBufferDeviceAddressKHR, getBufferOpaqueCaptureAddressKHR, getDeviceMemoryOpaqueCaptureAddressKHR

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.

Documentation

type KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME = "VK_KHR_buffer_device_address" Source #