VK_EXT_buffer_device_address

Other Extension Metadata

Last Modified Date

2019-01-06

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

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 PhysicalStorageBufferEXT storage class in the GL_EXT_buffer_reference GLSL extension and SPV_EXT_physical_storage_buffer SPIR-V extension.

It also allows buffer device addresses to be provided by a trace replay tool, so that it matches the address used when the trace was captured.

New Commands

New Structures

New Enum Constants

  • VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
  • VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION
  • Extending VkBufferCreateFlagBits:
    • VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
  • Extending VkBufferUsageFlagBits:
    • VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT
  • Extending VkResult:
    • VK_ERROR_INVALID_DEVICE_ADDRESS_EXT
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
    • VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT

New SPIR-V Capabilities

Issues

1) Where is VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT and VkPhysicalDeviceBufferAddressFeaturesEXT?

RESOLVED: They were renamed as VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT and VkPhysicalDeviceBufferDeviceAddressFeaturesEXT accordingly for consistency. Even though, the old names can still be found in the generated header files for compatibility.

Version History

  • Revision 1, 2018-11-01 (Jeff Bolz)
    • Internal revisions
  • Revision 2, 2019-01-06 (Jon Leech)
    • Minor updates to appendix for publication