pub struct GpuDevice {
pub info: GpuDeviceInfo,
pub adapter: Arc<Adapter>,
pub device: Arc<Device>,
pub queue: Arc<Queue>,
pub memory_usage: Arc<RwLock<u64>>,
pub workload: Arc<RwLock<f32>>,
}Expand description
GPU device with associated resources
Fields§
§info: GpuDeviceInfoDevice info
adapter: Arc<Adapter>WGPU adapter
device: Arc<Device>WGPU device
queue: Arc<Queue>WGPU queue
memory_usage: Arc<RwLock<u64>>Current memory usage
workload: Arc<RwLock<f32>>Current workload (0.0 to 1.0)
Implementations§
Source§impl GpuDevice
impl GpuDevice
Sourcepub fn new(
index: usize,
adapter: Adapter,
device: Device,
queue: Queue,
) -> Result<Self>
pub fn new( index: usize, adapter: Adapter, device: Device, queue: Queue, ) -> Result<Self>
Create a new GPU device
Sourcepub fn get_memory_usage(&self) -> u64
pub fn get_memory_usage(&self) -> u64
Get current memory usage
Sourcepub fn update_memory_usage(&self, delta: i64)
pub fn update_memory_usage(&self, delta: i64)
Update memory usage
Sourcepub fn get_workload(&self) -> f32
pub fn get_workload(&self) -> f32
Get current workload
Sourcepub fn set_workload(&self, workload: f32)
pub fn set_workload(&self, workload: f32)
Set workload
Sourcepub fn is_available(&self) -> bool
pub fn is_available(&self) -> bool
Check if device is available (low workload)
Auto Trait Implementations§
impl Freeze for GpuDevice
impl !RefUnwindSafe for GpuDevice
impl Send for GpuDevice
impl Sync for GpuDevice
impl Unpin for GpuDevice
impl UnsafeUnpin for GpuDevice
impl !UnwindSafe for GpuDevice
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more