Skip to main content

ParallelRenderCommandEncoder

Struct ParallelRenderCommandEncoder 

Source
pub struct ParallelRenderCommandEncoder(/* private fields */);
Expand description

A command encoder that creates multiple render command encoders that render in parallel.

C++ equivalent: MTL::ParallelRenderCommandEncoder

Parallel render encoders allow you to split rendering work across multiple render command encoders that can execute concurrently on the GPU.

Implementations§

Source§

impl ParallelRenderCommandEncoder

Source

pub unsafe fn from_raw(ptr: *mut c_void) -> Option<Self>

Create a ParallelRenderCommandEncoder from a raw pointer.

§Safety

The pointer must be a valid Metal parallel render command encoder object.

Source

pub fn as_raw(&self) -> *mut c_void

Get the raw pointer to the encoder.

Source

pub fn device(&self) -> Device

Get the device that created this encoder.

C++ equivalent: Device* device() const

Source

pub fn command_buffer(&self) -> CommandBuffer

Get the command buffer that this encoder is encoding into.

C++ equivalent: CommandBuffer* commandBuffer() const

Source

pub fn label(&self) -> Option<String>

Get the label for this encoder.

C++ equivalent: NS::String* label() const

Source

pub fn set_label(&self, label: &str)

Set the label for this encoder.

C++ equivalent: void setLabel(const NS::String*)

Source

pub fn end_encoding(&self)

End encoding commands with this encoder.

C++ equivalent: void endEncoding()

Source

pub fn insert_debug_signpost(&self, string: &str)

Insert a debug signpost.

C++ equivalent: void insertDebugSignpost(const NS::String*)

Source

pub fn push_debug_group(&self, string: &str)

Push a debug group.

C++ equivalent: void pushDebugGroup(const NS::String*)

Source

pub fn pop_debug_group(&self)

Pop the current debug group.

C++ equivalent: void popDebugGroup()

Source

pub fn barrier_after_queue_stages( &self, after_stages: Stages, before_stages: Stages, )

Insert a barrier to synchronize queue stages.

C++ equivalent: void barrierAfterQueueStages(Stages, Stages)

Source

pub fn render_command_encoder(&self) -> Option<RenderCommandEncoder>

Create a new render command encoder that renders in parallel.

C++ equivalent: RenderCommandEncoder* renderCommandEncoder()

Each call creates a new render encoder that shares the render pass with other encoders created from this parallel encoder.

Source

pub fn set_color_store_action( &self, store_action: StoreAction, color_attachment_index: UInteger, )

Set the store action for a color attachment.

C++ equivalent: void setColorStoreAction(StoreAction, NS::UInteger)

Source

pub fn set_color_store_action_options( &self, store_action_options: StoreActionOptions, color_attachment_index: UInteger, )

Set the store action options for a color attachment.

C++ equivalent: void setColorStoreActionOptions(StoreActionOptions, NS::UInteger)

Source

pub fn set_depth_store_action(&self, store_action: StoreAction)

Set the store action for the depth attachment.

C++ equivalent: void setDepthStoreAction(StoreAction)

Source

pub fn set_depth_store_action_options( &self, store_action_options: StoreActionOptions, )

Set the store action options for the depth attachment.

C++ equivalent: void setDepthStoreActionOptions(StoreActionOptions)

Source

pub fn set_stencil_store_action(&self, store_action: StoreAction)

Set the store action for the stencil attachment.

C++ equivalent: void setStencilStoreAction(StoreAction)

Source

pub fn set_stencil_store_action_options( &self, store_action_options: StoreActionOptions, )

Set the store action options for the stencil attachment.

C++ equivalent: void setStencilStoreActionOptions(StoreActionOptions)

Trait Implementations§

Source§

impl Clone for ParallelRenderCommandEncoder

Source§

fn clone(&self) -> Self

Returns a duplicate 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 ParallelRenderCommandEncoder

Source§

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

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

impl Drop for ParallelRenderCommandEncoder

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Referencing for ParallelRenderCommandEncoder

Source§

fn as_ptr(&self) -> *const c_void

Get the raw pointer to the Objective-C object.
Source§

fn as_mut_ptr(&self) -> *mut c_void

Get the raw mutable pointer to the Objective-C object.
Source§

fn retain(&self) -> Self
where Self: Clone,

Retain the object, incrementing its reference count. Read more
Source§

fn release(&self)

Release the object, decrementing its reference count. Read more
Source§

fn autorelease(&self) -> Self
where Self: Clone,

Autorelease the object. Read more
Source§

fn retain_count(&self) -> usize

Get the retain count of the object. Read more
Source§

impl Send for ParallelRenderCommandEncoder

Source§

impl Sync for ParallelRenderCommandEncoder

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 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> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

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 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.