VkPhysicalDeviceBufferDeviceAddressFeatures
The VkPhysicalDeviceBufferDeviceAddressFeatures
structure is defined
as:
typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures {
VkStructureType sType;
void* pNext;
VkBool32 bufferDeviceAddress;
VkBool32 bufferDeviceAddressCaptureReplay;
VkBool32 bufferDeviceAddressMultiDevice;
} VkPhysicalDeviceBufferDeviceAddressFeatures;
or the equivalent
typedef VkPhysicalDeviceBufferDeviceAddressFeatures VkPhysicalDeviceBufferDeviceAddressFeaturesKHR;
This structure describes the following features:
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.bufferDeviceAddress
indicates that the implementation supports accessing buffer memory in shaders as storage buffers via an address queried from vkGetBufferDeviceAddress.bufferDeviceAddressCaptureReplay
indicates that the implementation supports saving and reusing buffer and device addresses, e.g. for trace capture and replay.bufferDeviceAddressMultiDevice
indicates that the implementation supports thebufferDeviceAddress
,rayTracingPipeline
andrayQuery
features for logical devices created with multiple physical devices. If this feature is not supported, buffer and acceleration structure addresses must not be queried on a logical device created with more than one physical device.
bufferDeviceAddressMultiDevice
exists to allow certain legacy
platforms to be able to support bufferDeviceAddress
without needing to
support shared GPU virtual addresses for multi-device configurations.
See vkGetBufferDeviceAddress for more information.
If the VkPhysicalDeviceBufferDeviceAddressFeatures
structure is included in the pNext
chain of the
VkPhysicalDeviceFeatures2 structure passed to
vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each
corresponding feature is supported.
VkPhysicalDeviceBufferDeviceAddressFeatures
can also be used in the pNext
chain of
VkDeviceCreateInfo to selectively enable these features.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceBufferDeviceAddressFeatures-sType-sType
sType
must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES