C Specification

A NvSciBufObj handle compatible with Vulkan can also be created by non-Vulkan APIs using methods beyond the scope of this specification. To determine the correct parameters to use when importing such handles, call:

// Provided by VK_NV_external_memory_sci_buf
VkResult vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV(
    VkPhysicalDevice                            physicalDevice,
    VkExternalMemoryHandleTypeFlagBits          handleType,
    NvSciBufObj                                 handle,
    VkMemorySciBufPropertiesNV*                 pMemorySciBufProperties);

Parameters

  • physicalDevice is the handle to the physical device whose properties will be queried.

  • handleType is the type of the handle handle.

  • handle is the NvSciBuffObj handle which will be imported.

  • pMemorySciBufProperties is a pointer to a VkMemorySciBufPropertiesNV structure.

Description

This command will return properties of handle, it contains the memory type bitmask that can be used to determine the VkMemoryAllocateInfo::memoryTypeIndex when calling vkAllocateMemory.

Valid Usage
  • VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-handleType-05104
    handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV

  • VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-sciBufImport-05105
    VkPhysicalDeviceExternalMemorySciBufFeaturesNV::sciBufImport must be enabled

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

  • VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-handleType-parameter
    handleType must be a valid VkExternalMemoryHandleTypeFlagBits value

  • VUID-vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV-pMemorySciBufProperties-parameter
    pMemorySciBufProperties must be a valid pointer to a VkMemorySciBufPropertiesNV structure

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_INITIALIZATION_FAILED

  • VK_ERROR_INVALID_EXTERNAL_HANDLE

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