C Specification

To query the memory layout of an image subresource, without an image object, call:

// Provided by VK_KHR_maintenance5
void vkGetDeviceImageSubresourceLayoutKHR(
    VkDevice                                    device,
    const VkDeviceImageSubresourceInfoKHR*      pInfo,
    VkSubresourceLayout2KHR*                    pLayout);


  • device is the logical device that owns the image.

  • pInfo is a pointer to a VkDeviceImageSubresourceInfoKHR structure containing parameters required for the subresource layout query.

  • pLayout is a pointer to a VkSubresourceLayout2KHR structure in which the layout is returned.


vkGetDeviceImageSubresourceLayoutKHR behaves similarly to vkGetImageSubresourceLayout2KHR, but uses a VkImageCreateInfo structure to specify the image rather than a VkImage object.

Valid Usage (Implicit)
  • VUID-vkGetDeviceImageSubresourceLayoutKHR-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkGetDeviceImageSubresourceLayoutKHR-pInfo-parameter
    pInfo must be a valid pointer to a valid VkDeviceImageSubresourceInfoKHR structure

  • VUID-vkGetDeviceImageSubresourceLayoutKHR-pLayout-parameter
    pLayout must be a valid pointer to a VkSubresourceLayout2KHR structure

See Also

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 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0