Skip to content

ludus::graphics::rhi::NativePhysicalDevice

Ludus Wiki · API overview · Browse API

Class

Distinct borrowed Vulkan physical device identity. No ownership or validation is added. Construct from the matching native object on its owner thread; a source lifetime handshake or native lease must keep that object alive during every use.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/native_interop.h

#include <ludus/graphics/rhi/native_interop.h>
class ludus::graphics::rhi::NativePhysicalDevice final

Methods

NativePhysicalDevice

constexpr ludus::graphics::rhi::NativePhysicalDevice::NativePhysicalDevice() noexcept=default
Construct an empty identity; no native object is borrowed.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/native_interop.h

NativePhysicalDevice

explicit constexpr ludus::graphics::rhi::NativePhysicalDevice::NativePhysicalDevice(void *object) noexcept
Wrap a matching live native object, or nullptr; never retain or destroy it.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/native_interop.h

GetObject

constexpr void * ludus::graphics::rhi::NativePhysicalDevice::GetObject() const noexcept
Return the borrowed native object for an explicit framework/backend conversion. The caller must hold its lifetime pin; nullptr denotes an empty identity.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/native_interop.h

IsNull

constexpr bool ludus::graphics::rhi::NativePhysicalDevice::IsNull() const noexcept
Whether this identity contains no native object; does not query device health.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/native_interop.h

operator==

constexpr bool ludus::graphics::rhi::NativePhysicalDevice::operator==(const NativePhysicalDevice &other) const noexcept=default
Compare native object identities only; this does not validate a lease incarnation.

Related types: NativePhysicalDevice

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/native_interop.h