pub trait RecordDiagnostics: Send + Sync {
// Required methods
fn record_f32<N>(
&self,
command_encoder: &mut CommandEncoder,
buffer: &BufferSlice<'_>,
name: N,
)
where N: Into<Cow<'static, str>>;
fn record_u32<N>(
&self,
command_encoder: &mut CommandEncoder,
buffer: &BufferSlice<'_>,
name: N,
)
where N: Into<Cow<'static, str>>;
// Provided methods
fn time_span<E, N>(
&self,
encoder: &mut E,
name: N,
) -> TimeSpanGuard<'_, Self, E>
where E: WriteTimestamp,
N: Into<Cow<'static, str>> { ... }
fn pass_span<P, N>(
&self,
pass: &mut P,
name: N,
) -> PassSpanGuard<'_, Self, P>
where P: Pass,
N: Into<Cow<'static, str>> { ... }
}Expand description
Allows recording diagnostic spans.
Required Methods§
Sourcefn record_f32<N>(
&self,
command_encoder: &mut CommandEncoder,
buffer: &BufferSlice<'_>,
name: N,
)
fn record_f32<N>( &self, command_encoder: &mut CommandEncoder, buffer: &BufferSlice<'_>, name: N, )
Reads a f32 from the specified buffer and uploads it as a diagnostic.
The provided buffer slice must be 4 bytes long, and the buffer must have wgpu::BufferUsages::COPY_SRC;
Sourcefn record_u32<N>(
&self,
command_encoder: &mut CommandEncoder,
buffer: &BufferSlice<'_>,
name: N,
)
fn record_u32<N>( &self, command_encoder: &mut CommandEncoder, buffer: &BufferSlice<'_>, name: N, )
Reads a u32 from the specified buffer and uploads it as a diagnostic.
The provided buffer slice must be 4 bytes long, and the buffer must have wgpu::BufferUsages::COPY_SRC;
Provided Methods§
Sourcefn time_span<E, N>(
&self,
encoder: &mut E,
name: N,
) -> TimeSpanGuard<'_, Self, E>
fn time_span<E, N>( &self, encoder: &mut E, name: N, ) -> TimeSpanGuard<'_, Self, E>
Begin a time span, which will record elapsed CPU and GPU time.
Returns a guard, which will panic on drop unless you end the span.
Sourcefn pass_span<P, N>(&self, pass: &mut P, name: N) -> PassSpanGuard<'_, Self, P>
fn pass_span<P, N>(&self, pass: &mut P, name: N) -> PassSpanGuard<'_, Self, P>
Begin a pass span, which will record elapsed CPU and GPU time, as well as pipeline statistics on supported platforms.
Returns a guard, which will panic on drop unless you end the span.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.