Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::platform::DeviceCapabilityInputs Struct Reference

What a shell observed about the device it is running on. More...

#include <device_capability.hpp>

Public Member Functions

constexpr auto operator<=> (const DeviceCapabilityInputs &) const =default

Public Attributes

std::uint64_t usable_memory_bytes = 0
 Memory the process may actually use, not the memory the device has installed.
std::uint32_t usable_core_count = 0
 Cores available to this process for sustained work.
bool thermal_reporting_available = false
 Whether the platform will report thermal pressure at all.
bool realtime_render_available = false
 Whether a realtime render path — a dedicated audio callback fed across a shared memory region — can be constructed at all.
PointerPrecision pointer_precision = PointerPrecision::Coarse
 Precision of the primary pointer.
bool precision_keyboard_available = false
 Whether a physical keyboard with modifier keys is attached.

Detailed Description

What a shell observed about the device it is running on.

Every field is something a shell can measure. Nothing here is a form factor, an OS name, or a browser name: a caller that knows only "this is a phone" cannot fill this in, which is the point.

Member Function Documentation

◆ operator<=>()

auto pulp::platform::DeviceCapabilityInputs::operator<=> ( const DeviceCapabilityInputs & ) const
constexprdefault

Member Data Documentation

◆ pointer_precision

PointerPrecision pulp::platform::DeviceCapabilityInputs::pointer_precision = PointerPrecision::Coarse

Precision of the primary pointer.

◆ precision_keyboard_available

bool pulp::platform::DeviceCapabilityInputs::precision_keyboard_available = false

Whether a physical keyboard with modifier keys is attached.

◆ realtime_render_available

bool pulp::platform::DeviceCapabilityInputs::realtime_render_available = false

Whether a realtime render path — a dedicated audio callback fed across a shared memory region — can be constructed at all.

This is the neutral form of a lane-specific fact. A browser shell folds its own isolation, shared-buffer, and worklet-module observations into this one boolean before calling; a native shell sets it directly. The per-lane spellings stay in the shell that observed them, so this header never has to learn any of them.

◆ thermal_reporting_available

bool pulp::platform::DeviceCapabilityInputs::thermal_reporting_available = false

Whether the platform will report thermal pressure at all.

A device that cannot say it is hot cannot be trusted with the quotas that assume it will say so.

◆ usable_core_count

std::uint32_t pulp::platform::DeviceCapabilityInputs::usable_core_count = 0

Cores available to this process for sustained work.

◆ usable_memory_bytes

std::uint64_t pulp::platform::DeviceCapabilityInputs::usable_memory_bytes = 0

Memory the process may actually use, not the memory the device has installed.

A browser tab's budget and an app's jetsam limit both belong here rather than the hardware figure.


The documentation for this struct was generated from the following file: