[][src]Struct rendy_command::Encoder

pub struct Encoder<'a, B: Backend, C, L> { /* fields omitted */ }

Trait to encode commands outside render pass.

Methods

impl<'a, B, C> Encoder<'a, B, C, PrimaryLevel> where
    B: Backend
[src]

pub fn begin_render_pass_inline(
    &mut self,
    render_pass: &B::RenderPass,
    framebuffer: &B::Framebuffer,
    render_area: Rect,
    clear_values: &[ClearValueRaw]
) -> RenderPassInlineEncoder<B> where
    C: Supports<Graphics>, 
[src]

Beging recording render pass inline.

pub fn begin_render_pass_secondary(
    &mut self,
    render_pass: &B::RenderPass,
    framebuffer: &B::Framebuffer,
    render_area: Rect,
    clear_values: &[ClearValueRaw]
) -> RenderPassSecondaryEncoder<B> where
    C: Supports<Graphics>, 
[src]

Beging recording render pass secondary.

pub fn execute_commands(
    &mut self,
    submittables: impl IntoIterator<Item = impl Submittable<B, SecondaryLevel>>
)
[src]

Execute commands from secondary buffers.

impl<'a, B, C, L> Encoder<'a, B, C, L> where
    B: Backend
[src]

pub fn level(&self) -> L where
    L: Level
[src]

Get encoder level.

pub fn copy_buffer(
    &mut self,
    src: &B::Buffer,
    dst: &B::Buffer,
    regions: impl IntoIterator<Item = BufferCopy>
) where
    C: Supports<Transfer>, 
[src]

Copy buffer regions. src and dst can be the same buffer or alias in memory. But regions must not overlap. Otherwise resulting values are undefined.

pub fn copy_buffer_to_image(
    &mut self,
    src: &B::Buffer,
    dst: &B::Image,
    dst_layout: Layout,
    regions: impl IntoIterator<Item = BufferImageCopy>
) where
    C: Supports<Transfer>, 
[src]

Copy buffer region to image subresource range.

pub fn copy_image(
    &mut self,
    src: &B::Image,
    src_layout: Layout,
    dst: &B::Image,
    dst_layout: Layout,
    regions: impl IntoIterator<Item = ImageCopy>
) where
    C: Supports<Transfer>, 
[src]

Copy image regions.

pub fn dispatch(&mut self, x: u32, y: u32, z: u32) where
    C: Supports<Compute>, 
[src]

Dispatch compute.

pub fn dispatch_indirect(&mut self, buffer: &B::Buffer, offset: u64) where
    C: Supports<Compute>, 
[src]

Dispatch indirect. Similar to dispatch except takes vertices and indices from buffer at specified offset. buffer must contain DispatchCommand at offset.

Methods from Deref<Target = EncoderCommon<'a, B, C>>

pub fn bind_index_buffer<'b>(
    &mut self,
    buffer: &'b B::Buffer,
    offset: u64,
    index_type: IndexType
) where
    C: Supports<Graphics>, 
[src]

Bind index buffer.

pub fn bind_vertex_buffers<'b>(
    &mut self,
    first_binding: u32,
    buffers: impl IntoIterator<Item = (&'b B::Buffer, u64)>
) where
    C: Supports<Graphics>, 
[src]

Bind vertex buffers.

pub fn bind_graphics_pipeline(&mut self, pipeline: &B::GraphicsPipeline) where
    C: Supports<Graphics>, 
[src]

Bind graphics pipeline.

pub fn bind_graphics_descriptor_sets<'b>(
    &mut self,
    layout: &B::PipelineLayout,
    first_set: u32,
    sets: impl IntoIterator<Item = &'b B::DescriptorSet>,
    offsets: impl IntoIterator<Item = u32>
) where
    C: Supports<Graphics>, 
[src]

Bind descriptor sets to graphics pipeline.

pub fn bind_compute_pipeline(&mut self, pipeline: &B::ComputePipeline) where
    C: Supports<Compute>, 
[src]

Bind graphics pipeline.

pub fn bind_compute_descriptor_sets<'b>(
    &mut self,
    layout: &B::PipelineLayout,
    first_set: u32,
    sets: impl IntoIterator<Item = &'b B::DescriptorSet>,
    offsets: impl IntoIterator<Item = u32>
) where
    C: Supports<Compute>, 
[src]

Bind descriptor sets to compute pipeline.

pub fn pipeline_barrier<'b>(
    &mut self,
    stages: Range<PipelineStage>,
    dependencies: Dependencies,
    barriers: impl IntoIterator<Item = Barrier<'b, B>>
)
[src]

Insert pipeline barrier.

pub fn push_constants<'b>(
    &mut self,
    layout: &B::PipelineLayout,
    stages: ShaderStageFlags,
    offset: u32,
    constants: &[u32]
)
[src]

Push graphics constants.

pub fn reborrow<K>(&mut self) -> EncoderCommon<B, K> where
    C: Supports<K>, 
[src]

Reborrow encoder.

Trait Implementations

impl<'a, B: Debug + Backend, C: Debug, L: Debug> Debug for Encoder<'a, B, C, L>[src]

impl<'a, B, C, L> Deref for Encoder<'a, B, C, L> where
    B: Backend
[src]

type Target = EncoderCommon<'a, B, C>

The resulting type after dereferencing.

impl<'a, B, C, L> DerefMut for Encoder<'a, B, C, L> where
    B: Backend
[src]

Auto Trait Implementations

impl<'a, B, C, L> Send for Encoder<'a, B, C, L> where
    C: Send,
    L: Send,
    <B as Backend>::CommandBuffer: Send

impl<'a, B, C, L> Sync for Encoder<'a, B, C, L> where
    C: Sync,
    L: Sync,
    <B as Backend>::CommandBuffer: Sync

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Supports for T[src]