Modulevulkan-3.27GHC2021
Vulkan.Extensions.VK_EXT_buffer_device_address
Name
VK_EXT_buffer_device_address - device extension
VK_EXT_buffer_device_address
- Name String
VK_EXT_buffer_device_address
- Extension Type
Device extension
- Registered Extension Number
245
- Revision
2
- Ratification Status
Not ratified
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2
or
- SPIR-V Dependencies
- Deprecation State
Deprecated by VK_KHR_buffer_device_address extension
Which in turn was promoted to Vulkan 1.2
- Contact
Other Extension Metadata
- Last Modified Date
2019-01-06
- IP Status
No known IP claims.
- Interactions and External Dependencies
This extension provides API support for GLSL_EXT_buffer_reference and GLSL_EXT_buffer_reference_uvec2
- Contributors
Jeff Bolz, NVIDIA
Neil Henning, AMD
Tobias Hector, AMD
Faith 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 PhysicalStorageBufferEXT storage class in the
GL_EXT_buffer_reference
GLSL extension and
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 Commands
New Structures
Extending BufferCreateInfo:
Extending PhysicalDeviceFeatures2, DeviceCreateInfo:
New Enum Constants
Extending BufferCreateFlagBits:
Extending BufferUsageFlagBits:
Extending Result:
Extending StructureType:
New SPIR-V Capabilities
Issues
1) Where is VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_ADDRESS_FEATURES_EXT and VkPhysicalDeviceBufferAddressFeaturesEXT?
RESOLVED: They were renamed as STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT and PhysicalDeviceBufferDeviceAddressFeaturesEXT 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
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
- 6 types
- 1 value
- Packagevulkan-3.27
- Exports14
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceVK_EXT_buffer_device_address.hs
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT - Structure describing buffer address features that can be supported by an implementation
Members
This structure describes the following features:
Description
If the PhysicalDeviceBufferDeviceAddressFeaturesEXT structure is
included in the pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. If the application wishes to use a
Device with any features described by
PhysicalDeviceBufferDeviceAddressFeaturesEXT, it must add an
instance of the structure, with the desired feature members set to
TRUE, to the pNext chain of
DeviceCreateInfo when creating the
Device.
The PhysicalDeviceBufferDeviceAddressFeaturesEXT structure has the same members as the PhysicalDeviceBufferDeviceAddressFeatures structure, but the functionality indicated by the members is expressed differently. The features indicated by the PhysicalDeviceBufferDeviceAddressFeatures structure requires additional flags to be passed at memory allocation time, and the capture and replay mechanism is built around opaque capture addresses for buffer and memory objects.
Structure Chaining
See Also
Constructors
PhysicalDeviceBufferDeviceAddressFeaturesEXTbufferDeviceAddress :: BoolbufferDeviceAddressindicates that the implementation supports accessing buffer memory in shaders as storage buffers via an address queried from getBufferDeviceAddressEXT.bufferDeviceAddressCaptureReplay :: BoolbufferDeviceAddressCaptureReplayindicates that the implementation supports saving and reusing buffer addresses, e.g. for trace capture and replay.bufferDeviceAddressMultiDevice :: BoolbufferDeviceAddressMultiDeviceindicates that the implementation supports the bufferDeviceAddress feature for logical devices created with multiple physical devices. If this feature is not supported, buffer addresses must not be queried on a logical device created with more than one physical device.
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq PhysicalDeviceBufferDeviceAddressFeaturesEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressShow PhysicalDeviceBufferDeviceAddressFeaturesEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressStorable PhysicalDeviceBufferDeviceAddressFeaturesEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressFromCStruct PhysicalDeviceBufferDeviceAddressFeaturesEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressToCStruct PhysicalDeviceBufferDeviceAddressFeaturesEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressZero PhysicalDeviceBufferDeviceAddressFeaturesEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_address
VkBufferDeviceAddressCreateInfoEXT - Request a specific address for a buffer
Description
If deviceAddress is zero, no specific address is requested.
If deviceAddress is not zero, then it must be an address retrieved
from an identically created buffer on the same implementation. The
buffer must also be bound to an identically created
DeviceMemory object.
If this structure is not present, it is as if deviceAddress is zero.
Applications should avoid creating buffers with application-provided addresses and implementation-provided addresses in the same process, to reduce the likelihood of ERROR_INVALID_DEVICE_ADDRESS_EXT errors.
Valid Usage (Implicit)
sTypemust be STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
If
deviceAddressis not0,deviceAddressmust be a valid DeviceAddress value
Structure Chaining
See Also
Constructors
BufferDeviceAddressCreateInfoEXTdeviceAddress :: DeviceAddressdeviceAddressis the device address requested for the buffer.
Instances6Eq, Show, Storable, FromCStruct, ToCStruct, Zero
Eq BufferDeviceAddressCreateInfoEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressShow BufferDeviceAddressCreateInfoEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressStorable BufferDeviceAddressCreateInfoEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressFromCStruct BufferDeviceAddressCreateInfoEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressToCStruct BufferDeviceAddressCreateInfoEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_addressZero BufferDeviceAddressCreateInfoEXTDefined in vulkan-3.27 · Vulkan.Extensions.VK_EXT_buffer_device_address