Skip to content

ludus::graphics::rhi::NativeDeviceIdentity

Ludus Wiki · API overview · Browse API

Struct

Exact native context for the single-queue sharing profile. These are borrowed objects, not resource owners. All objects must come from one live native context. Dispatchable Vulkan handles are converted to void*; do not pass pointers to handles.

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

#include <ludus/graphics/rhi/native_interop.h>
struct ludus::graphics::rhi::NativeDeviceIdentity final

Fields

Api

Backend ludus::graphics::rhi::NativeDeviceIdentity::Api = Backend::Vulkan
Metal or Vulkan; browser APIs have no native sharing profile.

Related types: Backend

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

Instance

NativeInstance ludus::graphics::rhi::NativeDeviceIdentity::Instance {nullptr}
VkInstance for Vulkan; null for Metal.

Related types: NativeInstance

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

PhysicalDevice

NativePhysicalDevice ludus::graphics::rhi::NativeDeviceIdentity::PhysicalDevice {nullptr}
VkPhysicalDevice for Vulkan; null for Metal. Matching this alone is insufficient.

Related types: NativePhysicalDevice

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

Device

NativeLogicalDevice ludus::graphics::rhi::NativeDeviceIdentity::Device {nullptr}
VkDevice or id<MTLDevice>, borrowed on the owning thread.

Related types: NativeLogicalDevice

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

CommandQueue

NativeCommandQueue ludus::graphics::rhi::NativeDeviceIdentity::CommandQueue {nullptr}
VkQueue or id<MTLCommandQueue>. Both producers and consumers use this exact queue.

Related types: NativeCommandQueue

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

QueueFamily

ludus::foundation::uint32 ludus::graphics::rhi::NativeDeviceIdentity::QueueFamily = 0
Created graphics queue family for Vulkan; zero for Metal.

Related types: ludus::foundation::uint32

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

QueueIndex

ludus::foundation::uint32 ludus::graphics::rhi::NativeDeviceIdentity::QueueIndex = 0
Created queue index in QueueFamily for Vulkan; zero for Metal.

Related types: ludus::foundation::uint32

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