C Specification

To determine the image capabilities compatible with an external memory handle type, call:

// Provided by VK_NV_external_memory_capabilities
VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
    VkPhysicalDevice                            physicalDevice,
    VkFormat                                    format,
    VkImageType                                 type,
    VkImageTiling                               tiling,
    VkImageUsageFlags                           usage,
    VkImageCreateFlags                          flags,
    VkExternalMemoryHandleTypeFlagsNV           externalHandleType,
    VkExternalImageFormatPropertiesNV*          pExternalImageFormatProperties);

Parameters

Description

If externalHandleType is 0, pExternalImageFormatProperties->imageFormatProperties will return the same values as a call to vkGetPhysicalDeviceImageFormatProperties, and the other members of pExternalImageFormatProperties will all be 0. Otherwise, they are filled in as described for VkExternalImageFormatPropertiesNV.

Valid Usage
  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-07721
    externalHandleType must not have more than one bit set

Valid Usage (Implicit)
  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-physicalDevice-parameter
    physicalDevice must be a valid VkPhysicalDevice handle

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-format-parameter
    format must be a valid VkFormat value

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-type-parameter
    type must be a valid VkImageType value

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-tiling-parameter
    tiling must be a valid VkImageTiling value

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-usage-parameter
    usage must be a valid combination of VkImageUsageFlagBits values

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-usage-requiredbitmask
    usage must not be 0

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-flags-parameter
    flags must be a valid combination of VkImageCreateFlagBits values

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-parameter
    externalHandleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values

  • VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-pExternalImageFormatProperties-parameter
    pExternalImageFormatProperties must be a valid pointer to a VkExternalImageFormatPropertiesNV structure

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_OUT_OF_HOST_MEMORY

  • VK_ERROR_OUT_OF_DEVICE_MEMORY

  • VK_ERROR_FORMAT_NOT_SUPPORTED

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

SPDX-License-Identifier: CC-BY-4.0