/ appendices / VK_EXT_buffer_device_address.txt
VK_EXT_buffer_device_address.txt
 1  include::meta/VK_EXT_buffer_device_address.txt[]
 2  
 3  *Last Modified Date*::
 4      2019-01-06
 5  *IP Status*::
 6      No known IP claims.
 7  *Contributors*::
 8    - Jeff Bolz, NVIDIA
 9    - Neil Henning, AMD
10    - Tobias Hector, AMD
11    - Jason Ekstrand, Intel
12    - Baldur Karlsson, Valve
13  
14  This extension allows the application to query a 64-bit buffer device
15  address value for a buffer, which can be used to access the buffer memory
16  via the code:PhysicalStorageBufferEXT storage class in the
17  https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`]
18  GLSL extension and
19  http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_physical_storage_buffer.html[`SPV_EXT_physical_storage_buffer`]
20  SPIR-V extension.
21  
22  It also allows buffer device addresses to be provided by a trace replay
23  tool, so that it matches the address used when the trace was captured.
24  
25  === New Object Types
26  
27  None
28  
29  === New Enum Constants
30  
31    * Extending elink:VkStructureType:
32    ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
33    ** ename:VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT
34    ** ename:VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
35  
36    * Extending elink:VkBufferUsageFlagBits:
37    ** ename:VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT
38  
39    * Extending elink:VkBufferCreateFlagBits:
40    ** ename:VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
41  
42    * Extending elink:VkResult:
43    ** ename:VK_ERROR_INVALID_DEVICE_ADDRESS_EXT
44  
45  === New Enums
46  
47  None
48  
49  === New Structures
50  
51    * slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
52    * slink:VkBufferDeviceAddressInfoEXT
53    * slink:VkBufferDeviceAddressCreateInfoEXT
54  
55  === New Functions
56  
57    * flink:vkGetBufferDeviceAddressEXT
58  
59  === New Built-In Variables
60  
61  None
62  
63  === New SPIR-V Capabilities
64  
65    * <<spirvenv-capabilities-table-physicalstoragebufferaddresses,code:PhysicalStorageBufferAddressesEXT>>
66  
67  === Issues
68  
69  None
70  
71  === Version History
72  
73   * Revision 1, 2018-11-01 (Jeff Bolz)
74     - Internal revisions