| // Copyright 2018-2021 The Khronos Group Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_EXT_buffer_device_address.txt[] |
| |
| === Other Extension Metadata |
| |
| *Last Modified Date*:: |
| 2019-01-06 |
| *IP Status*:: |
| No known IP claims. |
| *Interactions and External Dependencies*:: |
| - This extension requires |
| {spirv}/EXT/SPV_EXT_physical_storage_buffer.html[`SPV_EXT_physical_storage_buffer`] |
| *Contributors*:: |
| - Jeff Bolz, NVIDIA |
| - Neil Henning, AMD |
| - Tobias Hector, AMD |
| - Jason 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 code:PhysicalStorageBufferEXT storage class in the |
| https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`] |
| GLSL extension and |
| {spirv}/EXT/SPV_EXT_physical_storage_buffer.html[`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. |
| |
| include::{generated}/interfaces/VK_EXT_buffer_device_address.txt[] |
| |
| === New SPIR-V Capabilities |
| |
| * <<spirvenv-capabilities-table-PhysicalStorageBufferAddresses,code:PhysicalStorageBufferAddressesEXT>> |
| |
| === Issues |
| |
| 1) Where is VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT |
| and VkPhysicalDeviceBufferAddressFeaturesEXT? |
| |
| *RESOLVED*: They were renamed as |
| ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT |
| and slink: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 |