[−][src]Struct rendy::command::Encoder
Trait to encode commands outside render pass.
Methods
impl<'a, B, C> Encoder<'a, B, C, PrimaryLevel> where
B: Backend,
[src]
B: Backend,
pub fn begin_render_pass_inline(
&mut self,
render_pass: &<B as Backend>::RenderPass,
framebuffer: &<B as Backend>::Framebuffer,
render_area: Rect,
clear_values: &[ClearValueRaw]
) -> RenderPassInlineEncoder<B> where
C: Supports<Graphics>,
[src]
&mut self,
render_pass: &<B as Backend>::RenderPass,
framebuffer: &<B as Backend>::Framebuffer,
render_area: Rect,
clear_values: &[ClearValueRaw]
) -> RenderPassInlineEncoder<B> where
C: Supports<Graphics>,
Beging recording render pass inline.
pub fn begin_render_pass_secondary(
&mut self,
render_pass: &<B as Backend>::RenderPass,
framebuffer: &<B as Backend>::Framebuffer,
render_area: Rect,
clear_values: &[ClearValueRaw]
) -> RenderPassSecondaryEncoder<B> where
C: Supports<Graphics>,
[src]
&mut self,
render_pass: &<B as Backend>::RenderPass,
framebuffer: &<B as Backend>::Framebuffer,
render_area: Rect,
clear_values: &[ClearValueRaw]
) -> RenderPassSecondaryEncoder<B> where
C: Supports<Graphics>,
Beging recording render pass secondary.
pub fn execute_commands<impl Submittable, impl IntoIterator- >>(
&mut self,
submittables: impl IntoIterator- >
) where
impl IntoIterator- >: IntoIterator<Item = impl Submittable>,
impl Submittable: Submittable<B, SecondaryLevel, OutsideRenderPass>,
[src]
&mut self,
submittables: impl IntoIterator
) where
impl IntoIterator
impl Submittable: Submittable<B, SecondaryLevel, OutsideRenderPass>,
Execute commands from secondary buffers.
impl<'a, B, C, L> Encoder<'a, B, C, L> where
B: Backend,
[src]
B: Backend,
pub fn level(&self) -> L where
L: Level,
[src]
L: Level,
Get encoder level.
pub unsafe fn copy_buffer<impl IntoIterator- >(
&mut self,
src: &<B as Backend>::Buffer,
dst: &<B as Backend>::Buffer,
regions: impl IntoIterator
) where
C: Supports<Transfer>,
impl IntoIterator- : IntoIterator<Item = BufferCopy>,
[src]
&mut self,
src: &<B as Backend>::Buffer,
dst: &<B as Backend>::Buffer,
regions: impl IntoIterator
) where
C: Supports<Transfer>,
impl IntoIterator
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.
Safety
The size of the copy region in any regions
must not exceed the
length of the corresponding buffer.
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBuffer.html
pub unsafe fn copy_buffer_to_image<impl IntoIterator- >(
&mut self,
src: &<B as Backend>::Buffer,
dst: &<B as Backend>::Image,
dst_layout: Layout,
regions: impl IntoIterator
) where
C: Supports<Transfer>,
impl IntoIterator- : IntoIterator<Item = BufferImageCopy>,
[src]
&mut self,
src: &<B as Backend>::Buffer,
dst: &<B as Backend>::Image,
dst_layout: Layout,
regions: impl IntoIterator
) where
C: Supports<Transfer>,
impl IntoIterator
Copy buffer region to image subresource range.
Safety
Same as copy_buffer()
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyBufferToImage.html
pub unsafe fn copy_image<impl IntoIterator- >(
&mut self,
src: &<B as Backend>::Image,
src_layout: Layout,
dst: &<B as Backend>::Image,
dst_layout: Layout,
regions: impl IntoIterator
) where
C: Supports<Transfer>,
impl IntoIterator- : IntoIterator<Item = ImageCopy>,
[src]
&mut self,
src: &<B as Backend>::Image,
src_layout: Layout,
dst: &<B as Backend>::Image,
dst_layout: Layout,
regions: impl IntoIterator
) where
C: Supports<Transfer>,
impl IntoIterator
Copy image regions.
Safety
Same as copy_buffer()
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdCopyImage.html
pub unsafe fn blit_image<impl IntoIterator- >(
&mut self,
src: &<B as Backend>::Image,
src_layout: Layout,
dst: &<B as Backend>::Image,
dst_layout: Layout,
filter: Filter,
regions: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator- : IntoIterator<Item = ImageBlit>,
[src]
&mut self,
src: &<B as Backend>::Image,
src_layout: Layout,
dst: &<B as Backend>::Image,
dst_layout: Layout,
filter: Filter,
regions: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator
Blit image regions, potentially using specified filter when resize is necessary.
Safety
Same as copy_buffer()
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBlitImage.html
pub unsafe fn dispatch(&mut self, x: u32, y: u32, z: u32) where
C: Supports<Compute>,
[src]
C: Supports<Compute>,
Dispatch compute.
Safety
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatch.html
pub unsafe fn dispatch_indirect(
&mut self,
buffer: &<B as Backend>::Buffer,
offset: u64
) where
C: Supports<Compute>,
[src]
&mut self,
buffer: &<B as Backend>::Buffer,
offset: u64
) where
C: Supports<Compute>,
Dispatch indirect.
Similar to dispatch
except takes vertices and indices from buffer
at specified offset
.
buffer
must contain DispatchCommand
at offset
.
Safety
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdDispatchIndirect.html
Methods from Deref<Target = EncoderCommon<'a, B, C>>
pub unsafe fn bind_index_buffer(
&mut self,
buffer: &'b <B as Backend>::Buffer,
offset: u64,
index_type: IndexType
) where
C: Supports<Graphics>,
[src]
&mut self,
buffer: &'b <B as Backend>::Buffer,
offset: u64,
index_type: IndexType
) where
C: Supports<Graphics>,
Bind index buffer.
Last bound index buffer is used in draw_indexed
command.
Note that draw*
commands available only inside renderpass.
Safety
offset
must not be greater than the size of buffer
.
Sum of offset
and starting address of the buffer
must be
multiple of index size indicated by index_type
.
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindIndexBuffer.html
pub unsafe fn bind_vertex_buffers<'b, impl IntoIterator- >(
&mut self,
first_binding: u32,
buffers: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator- : IntoIterator<Item = (&'b <B as Backend>::Buffer, u64)>,
[src]
&mut self,
first_binding: u32,
buffers: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator
Bind vertex buffers.
Last bound vertex buffer is used in draw
and draw_indexed
commands.
Note that draw*
commands available only inside renderpass.
Safety
first_binding + buffers.into_iter().count()
must less than or equal to the maxVertexInputBindings
device limit.
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindVertexBuffers.html
pub fn bind_graphics_pipeline(
&mut self,
pipeline: &<B as Backend>::GraphicsPipeline
) where
C: Supports<Graphics>,
[src]
&mut self,
pipeline: &<B as Backend>::GraphicsPipeline
) where
C: Supports<Graphics>,
Bind graphics pipeline.
Last bound vertex buffer is used in [draw
], [draw_indexed
], draw_indirect
and draw_indexed_indirect
commands.
pub unsafe fn bind_graphics_descriptor_sets<'b, impl IntoIterator- , impl IntoIterator
- >(
&mut self,
layout: &<B as Backend>::PipelineLayout,
first_set: u32,
sets: impl IntoIterator- ,
offsets: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator- : IntoIterator<Item = &'b <B as Backend>::DescriptorSet>,
impl IntoIterator- : IntoIterator<Item = u32>,
[src]
&mut self,
layout: &<B as Backend>::PipelineLayout,
first_set: u32,
sets: impl IntoIterator
offsets: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator
impl IntoIterator
Bind descriptor sets to graphics pipeline.
Safety
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindDescriptorSets.html
pub fn bind_compute_pipeline(
&mut self,
pipeline: &<B as Backend>::ComputePipeline
) where
C: Supports<Compute>,
[src]
&mut self,
pipeline: &<B as Backend>::ComputePipeline
) where
C: Supports<Compute>,
Bind compute pipeline.
pub unsafe fn bind_compute_descriptor_sets<'b, impl IntoIterator- , impl IntoIterator
- >(
&mut self,
layout: &<B as Backend>::PipelineLayout,
first_set: u32,
sets: impl IntoIterator- ,
offsets: impl IntoIterator
) where
C: Supports<Compute>,
impl IntoIterator- : IntoIterator<Item = &'b <B as Backend>::DescriptorSet>,
impl IntoIterator- : IntoIterator<Item = u32>,
[src]
&mut self,
layout: &<B as Backend>::PipelineLayout,
first_set: u32,
sets: impl IntoIterator
offsets: impl IntoIterator
) where
C: Supports<Compute>,
impl IntoIterator
impl IntoIterator
Bind descriptor sets to compute pipeline.
Safety
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdBindDescriptorSets.html
pub unsafe fn pipeline_barrier<'b, impl IntoIterator- >>(
&mut self,
stages: Range<PipelineStage>,
dependencies: Dependencies,
barriers: impl IntoIterator- >
) where
impl IntoIterator- >: IntoIterator<Item = Barrier<'b, B>>,
[src]
&mut self,
stages: Range<PipelineStage>,
dependencies: Dependencies,
barriers: impl IntoIterator
) where
impl IntoIterator
Insert pipeline barrier.
Safety
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPipelineBarrier.html
pub unsafe fn push_constants(
&mut self,
layout: &<B as Backend>::PipelineLayout,
stages: ShaderStageFlags,
offset: u32,
constants: &[u32]
)
[src]
&mut self,
layout: &<B as Backend>::PipelineLayout,
stages: ShaderStageFlags,
offset: u32,
constants: &[u32]
)
Push graphics constants.
Safety
offset
must be multiple of 4.
constants.len() + offset
, must be less than or equal to the
maxPushConstantsSize
device limit.
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdPushConstants.html
pub unsafe fn set_scissors<'b, impl IntoIterator- >(
&mut self,
first_scissor: u32,
rects: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator- : IntoIterator<Item = &'b Rect>,
[src]
&mut self,
first_scissor: u32,
rects: impl IntoIterator
) where
C: Supports<Graphics>,
impl IntoIterator
Set scissors
Safety
first_scissor + rects.count()
must be less than the
maxViewports
device limit.
See: https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkCmdSetScissor.html
pub fn reborrow<K>(&mut self) -> EncoderCommon<B, K> where
C: Supports<K>,
[src]
C: Supports<K>,
Reborrow encoder.
Trait Implementations
impl<'a, B, C, L> Debug for Encoder<'a, B, C, L> where
B: Debug + Backend,
C: Debug,
L: Debug,
[src]
B: Debug + Backend,
C: Debug,
L: Debug,
impl<'a, B, C, L> DerefMut for Encoder<'a, B, C, L> where
B: Backend,
[src]
B: Backend,
fn deref_mut(&mut self) -> &mut EncoderCommon<'a, B, C>
[src]
impl<'a, B, C, L> Deref for Encoder<'a, B, C, L> where
B: Backend,
[src]
B: Backend,
type Target = EncoderCommon<'a, B, C>
The resulting type after dereferencing.
fn deref(&self) -> &EncoderCommon<'a, B, C>
[src]
Auto Trait Implementations
impl<'a, B, C, L> Unpin for Encoder<'a, B, C, L> where
C: Unpin,
L: Unpin,
C: Unpin,
L: Unpin,
impl<'a, B, C, L> Sync for Encoder<'a, B, C, L> where
C: Sync,
L: Sync,
<B as Backend>::CommandBuffer: Sync,
C: Sync,
L: Sync,
<B as Backend>::CommandBuffer: Sync,
impl<'a, B, C, L> Send for Encoder<'a, B, C, L> where
C: Send,
L: Send,
<B as Backend>::CommandBuffer: Send,
C: Send,
L: Send,
<B as Backend>::CommandBuffer: Send,
impl<'a, B, C, L> !UnwindSafe for Encoder<'a, B, C, L>
impl<'a, B, C, L> RefUnwindSafe for Encoder<'a, B, C, L> where
C: RefUnwindSafe,
L: RefUnwindSafe,
<B as Backend>::CommandBuffer: RefUnwindSafe,
C: RefUnwindSafe,
L: RefUnwindSafe,
<B as Backend>::CommandBuffer: RefUnwindSafe,
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Supports<T> for T
[src]
impl<T> SetParameter for T
[src]
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
[src]
T: Parameter<Self>,
Sets value
as a parameter of self
.
impl<T> Erased for T
[src]
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
[src]
D: AdaptFrom<S, Swp, Dwp, T>,
Dwp: WhitePoint,
Swp: WhitePoint,
T: Component + Float,
fn adapt_into_using<M>(self, method: M) -> D where
M: TransformMatrix<Swp, Dwp, T>,
[src]
M: TransformMatrix<Swp, Dwp, T>,
fn adapt_into(self) -> D
[src]
Convert the source color to the destination color using the bradford method by default Read more