pub struct CpuQueue { /* private fields */ }Expand description
CPU command queue using rayon for parallel execution.
Operations are batched and submitted to rayon’s thread pool. The queue itself is not thread-safe - use one per thread.
Implementations§
Trait Implementations§
Source§impl HardwareQueue for CpuQueue
impl HardwareQueue for CpuQueue
Source§type Signal = CpuTimelineSignal
type Signal = CpuTimelineSignal
The timeline signal type used by this queue.
Source§fn wait(&mut self, signal: &Self::Signal, value: u64) -> &mut Self
fn wait(&mut self, signal: &Self::Signal, value: u64) -> &mut Self
Wait for a signal to reach a value before executing subsequent operations. Read more
Source§fn signal(&mut self, signal: &Self::Signal, value: u64) -> &mut Self
fn signal(&mut self, signal: &Self::Signal, value: u64) -> &mut Self
Signal a value after all previous operations complete. Read more
Source§fn exec(
&mut self,
program: Arc<dyn DeviceProgram>,
buffers: &[&Buffer],
params: &ExecParams,
) -> &mut Self
fn exec( &mut self, program: Arc<dyn DeviceProgram>, buffers: &[&Buffer], params: &ExecParams, ) -> &mut Self
Execute a compiled program with the given buffers and parameters. Read more
Source§fn copy(&mut self, dst: &Buffer, src: &Buffer) -> &mut Self
fn copy(&mut self, dst: &Buffer, src: &Buffer) -> &mut Self
Copy data between buffers. Read more
Source§fn memory_barrier(&mut self) -> &mut Self
fn memory_barrier(&mut self) -> &mut Self
Insert a memory barrier. Read more
Source§fn device(&self) -> &DeviceSpec
fn device(&self) -> &DeviceSpec
Get the device this queue belongs to.
Auto Trait Implementations§
impl Freeze for CpuQueue
impl !RefUnwindSafe for CpuQueue
impl Send for CpuQueue
impl !Sync for CpuQueue
impl Unpin for CpuQueue
impl UnsafeUnpin for CpuQueue
impl !UnwindSafe for CpuQueue
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more