• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2018-2022 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_buffer_device_address.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2019-01-06
11*IP Status*::
12    No known IP claims.
13*Interactions and External Dependencies*::
14  - This extension requires
15    {spirv}/EXT/SPV_EXT_physical_storage_buffer.html[`SPV_EXT_physical_storage_buffer`]
16  - This extension provides API support for
17    {GLSLregistry}/ext/GLSL_EXT_buffer_reference.txt[`GLSL_EXT_buffer_reference`]
18    and
19    {GLSLregistry}/ext/GLSL_EXT_buffer_reference_uvec2.txt[`GLSL_EXT_buffer_reference_uvec2`]
20*Contributors*::
21  - Jeff Bolz, NVIDIA
22  - Neil Henning, AMD
23  - Tobias Hector, AMD
24  - Jason Ekstrand, Intel
25  - Baldur Karlsson, Valve
26
27=== Description
28
29This extension allows the application to query a 64-bit buffer device
30address value for a buffer, which can be used to access the buffer memory
31via the code:PhysicalStorageBufferEXT storage class in the
32{GLSLregistry}/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`]
33GLSL extension and
34{spirv}/EXT/SPV_EXT_physical_storage_buffer.html[`SPV_EXT_physical_storage_buffer`]
35SPIR-V extension.
36
37It also allows buffer device addresses to be provided by a trace replay
38tool, so that it matches the address used when the trace was captured.
39
40include::{generated}/interfaces/VK_EXT_buffer_device_address.adoc[]
41
42=== New SPIR-V Capabilities
43
44  * <<spirvenv-capabilities-table-PhysicalStorageBufferAddresses,
45    code:PhysicalStorageBufferAddressesEXT>>
46
47=== Issues
48
491) Where is VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT
50and VkPhysicalDeviceBufferAddressFeaturesEXT?
51
52*RESOLVED*: They were renamed as
53ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
54and slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT accordingly for
55consistency.
56Even though, the old names can still be found in the generated header files
57for compatibility.
58
59=== Version History
60
61  * Revision 1, 2018-11-01 (Jeff Bolz)
62  ** Internal revisions
63  * Revision 2, 2019-01-06 (Jon Leech)
64  ** Minor updates to appendix for publication
65