C Specification
To request a specific device address for a buffer, add a
VkBufferDeviceAddressCreateInfoEXT structure to the pNext
chain
of the VkBufferCreateInfo structure.
The VkBufferDeviceAddressCreateInfoEXT
structure is defined as:
typedef struct VkBufferDeviceAddressCreateInfoEXT {
VkStructureType sType;
const void* pNext;
VkDeviceAddress deviceAddress;
} VkBufferDeviceAddressCreateInfoEXT;
Members
-
sType
is the type of this structure. -
pNext
isNULL
or a pointer to an extension-specific structure. -
deviceAddress
is the device address requested for the buffer.
Description
If deviceAddress
is zero, no specific address is requested.
If deviceAddress
is not zero, deviceAddress
must be an address
retrieved from an identically created buffer on the same implementation.
The buffer must also be bound to an identically created
VkDeviceMemory
object.
If this structure is not present, it is as if deviceAddress
is zero.
Apps should avoid creating buffers with app-provided addresses and
implementation-provided addresses in the same process, to reduce the
likelihood of VK_ERROR_INVALID_DEVICE_ADDRESS_EXT
errors.
Note
The expected usage for this is that a trace capture/replay tool will add the
Implementations are expected to separate such buffers in the GPU address
space so normal allocations will avoid using these addresses.
Apps/tools should avoid mixing app-provided and implementation-provided
addresses for buffers created with
|
See Also
VkDeviceAddress
, VkStructureType
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.