oa::runtime::DeviceInfo

Immutable device facts captured for the device owned by one engine. Composes DeviceHardwareInfo (PCI, local memory, limits, queue presence) and DeviceSoftwareInfo (driver/API version, feature booleans).

StRust public API

Declaration

pub struct DeviceInfo { pub hardware: DeviceHardwareInfo, pub software: DeviceSoftwareInfo, }
Public Rust declaration.

Public Methods

pub const fn index(&self) -> usize
pub fn name(&self) -> &str
pub const fn kind(&self) -> DeviceKind
pub fn api_version(&self) -> &str
pub const fn vendor_id(&self) -> u32
pub const fn device_id(&self) -> u32
pub fn driver_name(&self) -> &str
pub fn driver_info(&self) -> &str
pub const fn driver_version(&self) -> u32
pub const fn capability_identity(&self) -> u64
pub const fn local_memory_bytes(&self) -> u64
pub const fn local_memory_budget_bytes(&self) -> Option<u64>
pub const fn local_memory_usage_bytes(&self) -> Option<u64>
pub const fn max_compute_shared_memory_bytes(&self) -> u32
pub const fn max_compute_workgroup_invocations(&self) -> u32
pub const fn subgroup_size(&self) -> u32
pub const fn storage_buffer_descriptors(&self) -> u32
pub const fn storage_image_descriptors(&self) -> u32
pub const fn supports_shader_float16(&self) -> bool
pub const fn supports_shader_float64(&self) -> bool
pub const fn supports_shader_integer_dot_product(&self) -> bool
pub const fn cooperative_matrix_tuple_count(&self) -> usize
pub const fn supports_graphics(&self) -> bool
pub const fn supports_swapchain(&self) -> bool
fn clone(&self) -> DeviceInfo
fn fmt(&self, f: &mut Formatter<'_>) -> Result
fn eq(&self, other: &DeviceInfo) -> bool

Public Data Members

hardwareDeviceHardwareInfofield
softwareDeviceSoftwareInfofield

Public Method Documentation

pub const fn index( &self ) -> usize
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub fn name( &self ) -> &str
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn kind( &self ) -> DeviceKind
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub fn api_version( &self ) -> &str
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn vendor_id( &self ) -> u32
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn device_id( &self ) -> u32
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub fn driver_name( &self ) -> &str
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub fn driver_info( &self ) -> &str
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn driver_version( &self ) -> u32
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn capability_identity( &self ) -> u64
No public source comment is attached to this declaration.
pub const fn local_memory_bytes( &self ) -> u64
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn local_memory_budget_bytes( &self ) -> Option<u64>
No public source comment is attached to this declaration.
pub const fn local_memory_usage_bytes( &self ) -> Option<u64>
No public source comment is attached to this declaration.
pub const fn max_compute_shared_memory_bytes( &self ) -> u32
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn max_compute_workgroup_invocations( &self ) -> u32
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn subgroup_size( &self ) -> u32
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn storage_buffer_descriptors( &self ) -> u32
No public source comment is attached to this declaration.
pub const fn storage_image_descriptors( &self ) -> u32
No public source comment is attached to this declaration.
pub const fn supports_shader_float16( &self ) -> bool
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn supports_shader_float64( &self ) -> bool
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn supports_shader_integer_dot_product( &self ) -> bool
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn cooperative_matrix_tuple_count( &self ) -> usize
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn supports_graphics( &self ) -> bool
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
pub const fn supports_swapchain( &self ) -> bool
Stable hash of device and driver UUIDs, limits, and queried capabilities. Live memory budget and usage are deliberately excluded.
fn clone( &self ) -> DeviceInfo
No public source comment is attached to this declaration.
fn fmt( &self, f: &mut Formatter<'_> ) -> Result
No public source comment is attached to this declaration.
fn eq( &self, other: &DeviceInfo ) -> bool
No public source comment is attached to this declaration.