pub struct RenderPipelineDescriptor<'a, Pl: DynPipelineLayout + ?Sized, M: DynShaderModule + ?Sized, Pc: DynPipelineCache + ?Sized> {
pub label: Label<'a>,
pub layout: &'a Pl,
pub vertex_buffers: &'a [VertexBufferLayout<'a>],
pub vertex_stage: ProgrammableStage<'a, M>,
pub primitive: PrimitiveState,
pub depth_stencil: Option<DepthStencilState>,
pub multisample: MultisampleState,
pub fragment_stage: Option<ProgrammableStage<'a, M>>,
pub color_targets: &'a [Option<ColorTargetState>],
pub multiview: Option<NonZeroU32>,
pub cache: Option<&'a Pc>,
}
Expand description
Describes a render (graphics) pipeline.
Fields§
§label: Label<'a>
§layout: &'a Pl
The layout of bind groups for this pipeline.
vertex_buffers: &'a [VertexBufferLayout<'a>]
The format of any vertex buffers used with this pipeline.
vertex_stage: ProgrammableStage<'a, M>
The vertex stage for this pipeline.
primitive: PrimitiveState
The properties of the pipeline at the primitive assembly and rasterization level.
depth_stencil: Option<DepthStencilState>
The effect of draw calls on the depth and stencil aspects of the output target, if any.
multisample: MultisampleState
The multi-sampling properties of the pipeline.
fragment_stage: Option<ProgrammableStage<'a, M>>
The fragment stage for this pipeline.
color_targets: &'a [Option<ColorTargetState>]
The effect of draw calls on the color aspect of the output target.
multiview: Option<NonZeroU32>
If the pipeline will be used with a multiview render pass, this indicates how many array layers the attachments will have.
cache: Option<&'a Pc>
The cache which will be used and filled when compiling this pipeline
Trait Implementations§
Source§impl<'a, Pl: Clone + DynPipelineLayout + ?Sized, M: Clone + DynShaderModule + ?Sized, Pc: Clone + DynPipelineCache + ?Sized> Clone for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl: Clone + DynPipelineLayout + ?Sized, M: Clone + DynShaderModule + ?Sized, Pc: Clone + DynPipelineCache + ?Sized> Clone for RenderPipelineDescriptor<'a, Pl, M, Pc>
Source§fn clone(&self) -> RenderPipelineDescriptor<'a, Pl, M, Pc>
fn clone(&self) -> RenderPipelineDescriptor<'a, Pl, M, Pc>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a, Pl: Debug + DynPipelineLayout + ?Sized, M: Debug + DynShaderModule + ?Sized, Pc: Debug + DynPipelineCache + ?Sized> Debug for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl: Debug + DynPipelineLayout + ?Sized, M: Debug + DynShaderModule + ?Sized, Pc: Debug + DynPipelineCache + ?Sized> Debug for RenderPipelineDescriptor<'a, Pl, M, Pc>
Auto Trait Implementations§
impl<'a, Pl, M, Pc> Freeze for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> RefUnwindSafe for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> Send for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> Sync for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> Unpin for RenderPipelineDescriptor<'a, Pl, M, Pc>
impl<'a, Pl, M, Pc> UnwindSafe for RenderPipelineDescriptor<'a, Pl, M, Pc>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)