# VkBufferDeviceAddressInfo(3) Manual Page

## Name

VkBufferDeviceAddressInfo - Structure specifying the buffer to query an address for

## C Specification

The `VkBufferDeviceAddressInfo` structure is defined as:

    typedef struct VkBufferDeviceAddressInfo {
        VkStructureType    sType;
        const void*        pNext;
        VkBuffer           buffer;
    } VkBufferDeviceAddressInfo;

or the equivalent

    typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoKHR;

or the equivalent

    typedef VkBufferDeviceAddressInfo VkBufferDeviceAddressInfoEXT;

## Members

- `sType` is the type of this structure.

- `pNext` is `NULL` or a pointer to an extension-specific structure.

- `buffer` specifies the buffer whose address is being queried.

## Description

Valid Usage

- If `buffer` is non-sparse and was not created with the `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT` flag, then it must be bound completely and contiguously to a single `VkDeviceMemory` object

- `buffer` must have been created with `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT`

Valid Usage (Implicit)

- `sType` must be `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO`

- `pNext` must be `NULL`

- `buffer` must be a valid VkBuffer handle

## See Also

VkBuffer, VkStructureType, vkGetBufferDeviceAddress, vkGetBufferDeviceAddressEXT, vkGetBufferDeviceAddressKHR, vkGetBufferOpaqueCaptureAddress, vkGetBufferOpaqueCaptureAddressKHR

## 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-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.