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