Loading...
Searching...
No Matches
VkExternalMemoryHelpers.hpp File Reference

Vulkan external-memory image/buffer create + export + import helpers. More...

Detailed Description

Vulkan external-memory image/buffer create + export + import helpers.

Shared by:

  • Gfx/Graph/decoders/HWCUDA.hpp (HWCudaVulkanDecoder::setupPlane — export)
  • Gfx/Spout/SpoutInput.cpp (linkVulkanImage — import D3D11 KMT)
  • Gfx/Spout/SpoutOutput.cpp (linkVulkanImage — import D3D11 KMT)
  • the RDMA buffer allocator (export VkBuffer for CUDA P2P)

Design notes:

  • All sType fields are filled inside the .cpp; callers never see them.
  • PFN resolution (vkGetMemoryWin32HandlePropertiesKHR / vkGetMemoryFdKHR / etc.) is centralized — including the "use vkGetDeviceProcAddr, not vkGetInstanceProcAddr" gotcha documented at SpoutInput.cpp.
  • No QRhi knowledge — the helper deals only in raw Vulkan handles so the RDMA buffer case (which has no QRhiTexture) works alongside the decoder/Spout cases (which do QRhiTexture::createFrom afterwards).
  • Errors go to qWarning(); functions return empty optional on failure.

Go to the source code of this file.