Struct wgpu_hal::RenderPipelineDescriptor
source · pub struct RenderPipelineDescriptor<'a, A: Api> {
pub label: Label<'a>,
pub layout: &'a A::PipelineLayout,
pub vertex_buffers: &'a [VertexBufferLayout<'a>],
pub vertex_stage: ProgrammableStage<'a, A>,
pub primitive: PrimitiveState,
pub depth_stencil: Option<DepthStencilState>,
pub multisample: MultisampleState,
pub fragment_stage: Option<ProgrammableStage<'a, A>>,
pub color_targets: &'a [Option<ColorTargetState>],
pub multiview: Option<NonZeroU32>,
pub cache: Option<&'a A::PipelineCache>,
}
Expand description
Describes a render (graphics) pipeline.
Fields§
§label: Label<'a>
§layout: &'a A::PipelineLayout
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, A>
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, A>>
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 A::PipelineCache>
The cache which will be used and filled when compiling this pipeline
Trait Implementations§
Auto Trait Implementations§
impl<'a, A> Freeze for RenderPipelineDescriptor<'a, A>
impl<'a, A> RefUnwindSafe for RenderPipelineDescriptor<'a, A>where
<A as Api>::PipelineLayout: RefUnwindSafe,
<A as Api>::ShaderModule: RefUnwindSafe,
<A as Api>::PipelineCache: RefUnwindSafe,
impl<'a, A> Send for RenderPipelineDescriptor<'a, A>
impl<'a, A> Sync for RenderPipelineDescriptor<'a, A>
impl<'a, A> Unpin for RenderPipelineDescriptor<'a, A>
impl<'a, A> UnwindSafe for RenderPipelineDescriptor<'a, A>where
<A as Api>::PipelineLayout: RefUnwindSafe,
<A as Api>::ShaderModule: RefUnwindSafe,
<A as Api>::PipelineCache: RefUnwindSafe,
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)