VK_EXT_buffer_device_address
Other Extension Metadata
Last Modified Date
2019-01-06
IP Status
No known IP claims.
Interactions and External Dependencies
- This extension provides API support for
GLSL_EXT_buffer_reference
andGLSL_EXT_buffer_reference_uvec2
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
- VkBufferDeviceAddressInfoEXT
- Extending VkBufferCreateInfo:
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
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