Vulkan-Docs/appendices/VK_EXT_buffer_device_address.txt
Jon Leech 59750fe4c7 Change log for August 25, 2019 Vulkan 1.1.121 spec update:
* Update release number to 121.

Github Issues:

  * Add missing `structextends` attribute in `vk.xml` for
    slink:VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR (public
    issue 1018).
  * Change attributes of flink:vkCmdCopyAccelerationStructureNV,
    flink:vkCmdWriteAccelerationStructuresPropertiesNV,
    flink:vkCmdBuildAccelerationStructureNV, and flink:vkCmdTraceRaysNV to
    require that these commands execute outside renderpasses (public issue
    1021).
  * Add an issue to the `<<VK_EXT_buffer_device_address>>` appendix
    discussing the introduction of new names and aliasing by equivalent old
    names (public pull request 1024).

Internal Issues:

  * Protect the `VK_KHR_sampler_mirror_clamp_to_edge` extension with
    asciidoctor conditionals, and remove it from the core-only specification
    builds, where it had previously been force-included in the Makefile. It
    is now treated like any other extension (internal issue 1776).
  * Edit some asciidoctor anchor names starting with `features-features-` to
    just start with `features-`, since the old chapters was split into 3
    pieces. There are still some mild naming inconsistencies with anchors
    which may be addressed in the future (internal issue 1792).
  * Add `KHR` alias for the non-suffixed extension token
    ename:VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE, for compatibility
    with naming rules for extensions (internal issue 1796).
  * Clarify requirements for external memory in NOTEs for
    sname:VkExternalMemoryBufferCreateInfo, and valid usage statements for
    flink:vkBindBufferMemory, slink:VkBindBufferMemoryInfo,
    flink:vkBindImageMemory, and slink:VkBindImageMemoryInfo (internal merge
    request 3301).
  * Make extension version numbers in `vk.xml` and extension appendices
    consistent. In a few cases, we could not recover history at this
    granularity, and left the summary of a version's change undefined
    (internal merge request 3323).
  * Fix invocation of `CodeInlineMacro` in the Ruby extension backing the
    `code:` macro, which was delegating to the wrong base class (internal
    merge request 3331).
  * Modify `reg.py` to do a better job of recognizing equivalent <enum>
    definitions.
  * Add a `sortorder` attribute to XML feature and extension tags.

New Extensions

  * `<<VK_AMD_device_coherent_memory>>`
2019-08-25 03:57:09 -07:00

85 lines
2.4 KiB
Plaintext

include::meta/VK_EXT_buffer_device_address.txt[]
*Last Modified Date*::
2019-01-06
*IP Status*::
No known IP claims.
*Contributors*::
- Jeff Bolz, NVIDIA
- Neil Henning, AMD
- Tobias Hector, AMD
- Jason Ekstrand, Intel
- Baldur Karlsson, Valve
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.
=== New Object Types
None
=== New Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
** ename:VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO_EXT
** ename:VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
* Extending elink:VkBufferUsageFlagBits:
** ename:VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT
* Extending elink:VkBufferCreateFlagBits:
** ename:VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT
* Extending elink:VkResult:
** ename:VK_ERROR_INVALID_DEVICE_ADDRESS_EXT
=== New Enums
None
=== New Structures
* slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
* slink:VkBufferDeviceAddressInfoEXT
* slink:VkBufferDeviceAddressCreateInfoEXT
=== New Functions
* flink:vkGetBufferDeviceAddressEXT
=== New Built-In Variables
None
=== 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