pub struct CommandQueue { /* private fields */ }
Expand description

A command queue with extra capabilities to a raw OpenCL one.

Implementations§

source§

impl CommandQueue

source

pub fn new(inner: RawCommandQueue) -> Self

Creates a new command queue from a raw one.

source

pub fn size(&self) -> usize

Returns the current size of the queue. The size of the queue is defined as the number of enqueued events on it that haven’t completed yet. Whilst this method is safe, it’s result should be considered ephemeral.

source

pub unsafe fn enqueue_unchecked<'a, 'b, 'r: 'b, E: 'b + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>, C: 'a + Consumer>( &'r self, supplier: E, consumer: C ) -> Result<Event<C>>

Enqueues a new event without checking if the event’s consumer has a safe lifetime.

source

pub unsafe fn enqueue_phantom_unchecked<'a, 'r: 'a, T, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>( &'r self, supplier: E ) -> Result<PhantomEvent<T>>

Enqueues a new phantom event without checking if the event’s consumer has a safe lifetime.

source

pub fn enqueue<'b, 'r: 'b, E: 'b + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>, C: 'static + Consumer>( &'r self, supplier: E, consumer: C ) -> Result<Event<C>>

Enqueues a new event with a consumer with 'static lifetime. The 'static lifetime ensures the compiler that the consumer is safe to be called at any time in the lifetime of the program.

source

pub fn enqueue_noop<'a, 'r: 'a, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>( &'r self, supplier: E ) -> Result<NoopEvent>

Enqueues a new noop event.

source

pub fn enqueue_phantom<'a, 'r: 'a, T: 'static, E: 'a + FnOnce(&'r RawCommandQueue) -> Result<RawEvent>>( &'r self, supplier: E ) -> Result<PhantomEvent<T>>

Enqueues a new phantom event with a 'static lifetime. The 'static lifetime ensures the compiler that the consumer is safe to be called at any time in the lifetime of the program.

Methods from Deref<Target = RawCommandQueue>§

source

pub fn id(&self) -> cl_command_queue

source

pub unsafe fn retain(&self) -> Result<()>

source

pub fn context(&self) -> Result<RawContext>

Return the context specified when the command-queue is created.

source

pub fn device(&self) -> Result<RawDevice>

Return the device specified when the command-queue is created.

source

pub fn reference_count(&self) -> Result<u32>

Return the command-queue reference count.

source

pub fn properties(&self) -> Result<CommandQueueProperties>

Return the currently specified properties for the command-queue.

source

pub fn queue_properties(&self) -> Result<QueueProperties>

Available on crate feature cl3 only.

Return the properties argument specified in creation.

source

pub fn size(&self) -> Result<u32>

Available on crate feature cl2 only.

Return the size of the device command-queue. To be considered valid for this query, command_queue must be a device command-queue.

source

pub fn device_default(&self) -> Result<RawCommandQueue>

Available on crate feature cl2_1 only.

Return the current default command queue for the underlying device.

source

pub fn flush(&self) -> Result<()>

Issues all previously queued OpenCL commands in a command-queue to the device associated with the command-queue.

source

pub fn finish(&self) -> Result<()>

Blocks the current thread until all previously queued OpenCL commands in a command-queue are issued to the associated device and have completed.

source

pub fn barrier(&self, wait: WaitList<'_>) -> Result<RawEvent>

Available on crate feature cl1_2 only.

A synchronization point that enqueues a barrier operation.
If the wait list is empty, then this particular command waits until all previous enqueued commands to command_queue have completed. The barrier command either waits for a list of events to complete, or if the list is empty it waits for all commands previously enqueued in the queue to complete before it completes. This command blocks command execution, that is, any following commands enqueued after it do not execute until it completes. This command returns an event which can be waited on, i.e. this event can be waited on to insure that all events either in the wait list or all previously enqueued commands, queued before this command to the command queue, have completed.

source

pub fn marker(&self, wait: WaitList<'_>) -> Result<RawEvent>

Available on crate feature cl1_2 only.

Enqueues a marker command which waits for either a list of events to complete, or all previously enqueued commands to complete.

Trait Implementations§

source§

impl Clone for CommandQueue

source§

fn clone(&self) -> CommandQueue

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CommandQueue

source§

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

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

impl Deref for CommandQueue

§

type Target = RawCommandQueue

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl DerefMut for CommandQueue

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

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

§

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.