2019-01-06 03:40:12 +00:00
|
|
|
include::meta/VK_EXT_buffer_device_address.txt[]
|
|
|
|
|
|
|
|
*Last Modified Date*::
|
2019-01-12 03:47:34 +00:00
|
|
|
2019-01-06
|
2019-01-06 03:40:12 +00:00
|
|
|
*IP Status*::
|
|
|
|
No known IP claims.
|
|
|
|
*Contributors*::
|
|
|
|
- Jeff Bolz, NVIDIA
|
2019-01-12 03:47:34 +00:00
|
|
|
- Neil Henning, AMD
|
|
|
|
- Tobias Hector, AMD
|
|
|
|
- Jason Ekstrand, Intel
|
|
|
|
- Baldur Karlsson, Valve
|
2019-01-06 03:40:12 +00:00
|
|
|
|
|
|
|
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
|
Change log for January 13, 2019 Vulkan 1.1.98 spec update:
* Update release number to 98.
Public Issues:
* Fix missing markup in flink:vkDestroyPipelineLayout valid usage
statement (pull request 882).
* Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
pull request 891).
Internal Issues:
* Detect nested bullet points in valid usage blocks and warn about them
during VUID assignment (internal issue 1382).
* Update the style guide to document the process for reserving new bits in
bitmask types (internal issue 1411).
* Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
<<fundamentals-validusage-versions, Valid Usage for Newer Core
Versions>> section when it is valid for an application to use a certain
version of Vulkan API functionality (for an instance and for a
device/physical device); and when the validation layers must generate an
error (internal issue 1412).
* Add optional <<memory-model-availability-visibility, transitive
availability/visibility operations to the memory model, including a new
pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
1460).
* Add the code:StorageBuffer storage class to those in the
<<interfaces-resources-descset, Descriptor Set Interface>> (internal
issue 1480).
* Add missing `returnedonly` tags for a number of returned extension
structures that can be passed in pname:pNext chains (internal issue
1515).
* Clean up and rearrange some spec language for
slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
(internal issue 1522).
* Correctly round the code:OpVectorTimesScalar and
code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
SPIR-V Instructions>> table (internal merge request 2996).
* Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
flink:vkCmdEndTransformFeedbackEXT, and
slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
parameter is `optional` but the length is not in `vk.xml`. This is an
interim fix using `noautovalidity` + handcoded VU replacing those that
should be autogenerated (internal issue 2944 and
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480).
* Remove redundant capability validation of the code:float16 and code:int8
SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
section, since they are already covered in the preceding table.
* Update check_spec_links script, including validation for reference page
open blocks. Fix errors identified by the script.
2019-01-13 13:53:27 +00:00
|
|
|
https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt[`GL_EXT_buffer_reference`]
|
2019-01-06 03:40:12 +00:00
|
|
|
GLSL extension and
|
Change log for January 13, 2019 Vulkan 1.1.98 spec update:
* Update release number to 98.
Public Issues:
* Fix missing markup in flink:vkDestroyPipelineLayout valid usage
statement (pull request 882).
* Add missing contributors for `<<VK_EXT_buffer_device_address>>` (public
pull request 891).
Internal Issues:
* Detect nested bullet points in valid usage blocks and warn about them
during VUID assignment (internal issue 1382).
* Update the style guide to document the process for reserving new bits in
bitmask types (internal issue 1411).
* Clarify for slink:VkApplicationInfo::pname:apiVersion and in the
<<fundamentals-validusage-versions, Valid Usage for Newer Core
Versions>> section when it is valid for an application to use a certain
version of Vulkan API functionality (for an instance and for a
device/physical device); and when the validation layers must generate an
error (internal issue 1412).
* Add optional <<memory-model-availability-visibility, transitive
availability/visibility operations to the memory model, including a new
pname:vulkanMemoryModelAvailabilityVisibilityChains feature for
slink:VkPhysicalDeviceVulkanMemoryModelFeaturesKHR (internal issue
1460).
* Add the code:StorageBuffer storage class to those in the
<<interfaces-resources-descset, Descriptor Set Interface>> (internal
issue 1480).
* Add missing `returnedonly` tags for a number of returned extension
structures that can be passed in pname:pNext chains (internal issue
1515).
* Clean up and rearrange some spec language for
slink:VkRenderPassCreateInfo and slink:VkAttachmentReference.txt
(internal issue 1522).
* Correctly round the code:OpVectorTimesScalar and
code:OpMatrixTimesScalar SPIR-V operations in the <<Precision of core
SPIR-V Instructions>> table (internal merge request 2996).
* Work around cases in flink:vkCmdBeginTransformFeedbackEXT,
flink:vkCmdEndTransformFeedbackEXT, and
slink:VkPipelineCoverageModulationStateCreateInfoNV where an array
parameter is `optional` but the length is not in `vk.xml`. This is an
interim fix using `noautovalidity` + handcoded VU replacing those that
should be autogenerated (internal issue 2944 and
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/480).
* Remove redundant capability validation of the code:float16 and code:int8
SPIR-V capabilities from the <<spirvenv-capabilities, Capabilities>>
section, since they are already covered in the preceding table.
* Update check_spec_links script, including validation for reference page
open blocks. Fix errors identified by the script.
2019-01-13 13:53:27 +00:00
|
|
|
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`]
|
2019-01-06 03:40:12 +00:00
|
|
|
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:
|
2019-04-08 03:17:23 +00:00
|
|
|
** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
|
2019-01-06 03:40:12 +00:00
|
|
|
** 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
|
|
|
|
|
2019-04-08 03:17:23 +00:00
|
|
|
* slink:VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
|
2019-01-06 03:40:12 +00:00
|
|
|
* slink:VkBufferDeviceAddressInfoEXT
|
|
|
|
* slink:VkBufferDeviceAddressCreateInfoEXT
|
|
|
|
|
|
|
|
=== New Functions
|
|
|
|
|
|
|
|
* flink:vkGetBufferDeviceAddressEXT
|
|
|
|
|
|
|
|
=== New Built-In Variables
|
|
|
|
|
|
|
|
None
|
|
|
|
|
|
|
|
=== New SPIR-V Capabilities
|
|
|
|
|
|
|
|
* <<spirvenv-capabilities-table-physicalstoragebufferaddresses,code:PhysicalStorageBufferAddressesEXT>>
|
|
|
|
|
|
|
|
=== Issues
|
|
|
|
|
|
|
|
None
|
|
|
|
|
|
|
|
=== Version History
|
|
|
|
|
|
|
|
* Revision 1, 2018-11-01 (Jeff Bolz)
|
|
|
|
- Internal revisions
|