pub struct GpuTimestamps { /* private fields */ }Expand description
GPU timestamp query set — wraps wgpu::QuerySet for per-pass GPU timing.
Only functional when the device supports Features::TIMESTAMP_QUERY.
§Examples
ⓘ
use mabda::profiler::GpuTimestamps;
let timestamps = GpuTimestamps::new(&device, 8); // up to 8 passes
// Write timestamps around render passes, then resolve and readImplementations§
Source§impl GpuTimestamps
impl GpuTimestamps
Sourcepub fn new(device: &Device, queue: &Queue, max_passes: u32) -> Option<Self>
pub fn new(device: &Device, queue: &Queue, max_passes: u32) -> Option<Self>
Create GPU timestamp queries. Returns None if the device doesn’t support timestamps.
Sourcepub fn query_set(&self) -> &QuerySet
pub fn query_set(&self) -> &QuerySet
Get the query set for use in render/compute pass descriptors.
Sourcepub fn max_passes(&self) -> u32
pub fn max_passes(&self) -> u32
Maximum number of query pairs (passes) supported.
Sourcepub fn resolve(&self, encoder: &mut CommandEncoder, query_count: u32)
pub fn resolve(&self, encoder: &mut CommandEncoder, query_count: u32)
Resolve queries and copy to read buffer. Call after all passes are submitted.
Auto Trait Implementations§
impl Freeze for GpuTimestamps
impl !RefUnwindSafe for GpuTimestamps
impl Send for GpuTimestamps
impl Sync for GpuTimestamps
impl Unpin for GpuTimestamps
impl UnsafeUnpin for GpuTimestamps
impl !UnwindSafe for GpuTimestamps
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