Skip to content

ludus::graphics::rhi::NativeDeviceDescription

Ludus Wiki · API overview · Browse API

Struct

Copied admission request. A successful source Retain promises the instance, device and queue remain valid until Release, including shutdown and loss cleanup. Vulkan metadata must identify an actually created queue on the declared device.

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

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

Fields

Identity

NativeDeviceIdentity ludus::graphics::rhi::NativeDeviceDescription::Identity {}
Native context to admit; physical and logical identity must agree.

Related types: NativeDeviceIdentity

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

Lifetime

NativeDeviceLifetime ludus::graphics::rhi::NativeDeviceDescription::Lifetime {}
Required lifetime handshake; the source controls destruction of its context.

Related types: NativeDeviceLifetime

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

InstanceApiVersion

ludus::foundation::uint32 ludus::graphics::rhi::NativeDeviceDescription::InstanceApiVersion = 0
Vulkan instance API version in Vulkan's packed encoding, at least 1.1; zero for Metal.

Related types: ludus::foundation::uint32

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

SerializedOwnerQueue

bool ludus::graphics::rhi::NativeDeviceDescription::SerializedOwnerQueue = false
Require producer and consumer queue submissions to be serialized on the RHI owner thread. Different queues and concurrent external submission are unsupported.

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

CalibratedTimestamps

NativeCalibratedTimestamps ludus::graphics::rhi::NativeDeviceDescription::CalibratedTimestamps = NativeCalibratedTimestamps::None
Vulkan only, None for Metal: the calibrated-timestamp extension the source enabled on Device. RHI places timed passes on the CPU trace clock only after confirming that the physical device also supports the extension with the device and host time domains; otherwise the timings stay duration-only. Declaring an extension that the device did not enable is invalid usage.

Related types: NativeCalibratedTimestamps

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

HasFillModeNonSolid

bool ludus::graphics::rhi::NativeDeviceDescription::HasFillModeNonSolid = false
Vulkan only, false for Metal: the source enabled the fillModeNonSolid device feature, so raster pipelines may use RasterFillMode::Lines. Declaring a feature that the device did not enable is invalid usage.

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