Detailed Description
Result of the capability probe.
Public Member Functions | |
| constexpr bool | hasTier0 () const noexcept |
| constexpr bool | hasTier1Dvp () const noexcept |
| constexpr bool | rulesOutNvidiaPaths () const noexcept |
| constexpr bool | hasTier2AmdPinned () const noexcept |
Public Attributes | |
| GpuVendor | vendor {GpuVendor::Unknown} |
| HostOs | os {HostOs::Other} |
| QRhiBackendKind | backend {QRhiBackendKind::Unknown} |
| char | rendererName [128] {} |
| char | driverVersion [64] {} |
| bool | dvpLoaded {} |
| bool | dvpHaveGl {} |
| bool | dvpHaveD3D11 {} |
| bool | dvpHaveCuda {} |
| bool | cudaLoaded {} |
| bool | cudaVmmSupported {} |
| bool | nvidiaPeermem {} |
| AmdGlExtensions | amd {} |
| bool | vkExternalMemorySupported {} |
| bool | metalSupported {} |
Member Function Documentation
◆ hasTier0()
|
inlineconstexprnoexcept |
True when this system can do direct NIC/card → GPU VRAM.
◆ hasTier1Dvp()
|
inlineconstexprnoexcept |
True when this system can do NVIDIA DVP via some backend.
◆ hasTier2AmdPinned()
|
inlineconstexprnoexcept |
True when this system can do AMD pinned-host transfer.
◆ rulesOutNvidiaPaths()
|
inlineconstexprnoexcept |
True when the GPU is positively identified as one that cannot run the NVIDIA-only interop paths (DVP, CUDA RDMA), whatever the loaders report: dvpLoaded only says libdvp is installed, and it can be installed on a machine whose GPU is a Radeon.
Unknown deliberately returns false, so an unidentified GPU still tries and degrades on init failure.
Member Data Documentation
◆ amd
| AmdGlExtensions score::gfx::interop::GpuCapabilities::amd {} |
Per-extension presence. Populated only by probeGlExtensions().
◆ cudaLoaded
| bool score::gfx::interop::GpuCapabilities::cudaLoaded {} |
libcuda.so.1 / nvcuda.dll loaded; basic driver-API entry points resolved.
◆ cudaVmmSupported
| bool score::gfx::interop::GpuCapabilities::cudaVmmSupported {} |
CUDA Virtual Memory Management API (cuMemCreate / cuMemMap / cuMemSetAccess) available. Required for direct NIC→VRAM Rivermax-style allocation.
◆ driverVersion
| char score::gfx::interop::GpuCapabilities::driverVersion[64] {} |
Driver version string when obtainable (e.g. NVIDIA driver "555.42"). Empty when not detectable.
◆ dvpHaveCuda
| bool score::gfx::interop::GpuCapabilities::dvpHaveCuda {} |
DVP CUDA entry points fully resolved (cross-platform).
◆ dvpHaveD3D11
| bool score::gfx::interop::GpuCapabilities::dvpHaveD3D11 {} |
DVP D3D11 entry points fully resolved (Windows only).
◆ dvpHaveGl
| bool score::gfx::interop::GpuCapabilities::dvpHaveGl {} |
DVP GL entry points fully resolved.
◆ dvpLoaded
| bool score::gfx::interop::GpuCapabilities::dvpLoaded {} |
dvp.dll / libdvp.so.1 loaded successfully.
◆ metalSupported
| bool score::gfx::interop::GpuCapabilities::metalSupported {} |
Running on macOS with Metal-capable GPU. Implies Metal-IOS is the right path for shared GPU resources.
◆ nvidiaPeermem
| bool score::gfx::interop::GpuCapabilities::nvidiaPeermem {} |
nvidia_peermem kernel module loaded (Linux). Gates AJA-RDMA and Rivermax/Ximea direct-VRAM paths. Always false on non-Linux.
◆ rendererName
| char score::gfx::interop::GpuCapabilities::rendererName[128] {} |
GPU renderer/device name. Captured for logging + heuristics.
◆ vkExternalMemorySupported
| bool score::gfx::interop::GpuCapabilities::vkExternalMemorySupported {} |
QRhi's Vulkan backend is active AND has external-memory extensions usable. Set by probeFromQRhi.
The documentation for this struct was generated from the following file: