Skip to main content

GpuDiagnosticLog

Struct GpuDiagnosticLog 

Source
pub struct GpuDiagnosticLog { /* private fields */ }
Expand description

The most recent GpuDiagnostics, in arrival order, in fixed memory: at most capacity events, each text at most MAX_DIAGNOSTIC_MESSAGE_BYTES and an ellipsis.

A failure report reads it to connect an error a call returned (a readback that failed to map carries no cause: wgpu::BufferAsyncError is a unit) with what the device reported around it. Its size never grows with the events, because it is consulted exactly when memory may be short.

Implementations§

Source§

impl GpuDiagnosticLog

Source

pub const DEFAULT_CAPACITY: usize = 16

Default number of events a log keeps.

Source

pub fn new(capacity: usize) -> Self

An empty log keeping at most capacity events (at least one).

Source

pub fn push(&self, diagnostic: GpuDiagnostic)

Records diagnostic, pushing out the oldest event when full.

Source

pub fn snapshot(&self) -> GpuDiagnosticSnapshot

A copy of what the log holds now.

Source

pub fn clear(&self)

Forgets the events, so the next snapshot covers only what follows, out-of-memory reports included. A device loss is kept: a lost device stays lost.

Source

pub fn device_lost(&self) -> bool

Whether a device loss was ever recorded.

Trait Implementations§

Source§

impl Debug for GpuDiagnosticLog

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for GpuDiagnosticLog

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,