pub struct GraphicsPipelineDesc<'a, B: Backend> {
pub label: Option<&'a str>,
pub primitive_assembler: PrimitiveAssemblerDesc<'a, B>,
pub rasterizer: Rasterizer,
pub fragment: Option<EntryPoint<'a, B>>,
pub blender: BlendDesc,
pub depth_stencil: DepthStencilDesc,
pub multisampling: Option<Multisampling>,
pub baked_states: BakedStates,
pub layout: &'a B::PipelineLayout,
pub subpass: Subpass<'a, B>,
pub flags: PipelineCreationFlags,
pub parent: BasePipeline<'a, B::GraphicsPipeline>,
}
Expand description
A description of all the settings that can be altered when creating a graphics pipeline.
Fields§
§label: Option<&'a str>
Pipeline label
primitive_assembler: PrimitiveAssemblerDesc<'a, B>
Primitive assembler
rasterizer: Rasterizer
Rasterizer setup
fragment: Option<EntryPoint<'a, B>>
A shader that outputs a value for a fragment. Usually this value is a color that is then displayed as a pixel on a screen.
If a fragment shader is omitted, the results of fragment processing are undefined. Specifically, any fragment color outputs are considered to have undefined values, and the fragment depth is considered to be unmodified. This can be useful for depth-only rendering.
blender: BlendDesc
Description of how blend operations should be performed.
depth_stencil: DepthStencilDesc
Depth stencil (DSV)
multisampling: Option<Multisampling>
Multisampling.
baked_states: BakedStates
Static pipeline states.
layout: &'a B::PipelineLayout
Pipeline layout.
subpass: Subpass<'a, B>
Subpass in which the pipeline can be executed.
flags: PipelineCreationFlags
Options that may be set to alter pipeline properties.
parent: BasePipeline<'a, B::GraphicsPipeline>
The parent pipeline, which may be
BasePipeline::None
.
Implementations§
Source§impl<'a, B: Backend> GraphicsPipelineDesc<'a, B>
impl<'a, B: Backend> GraphicsPipelineDesc<'a, B>
Sourcepub fn new(
primitive_assembler: PrimitiveAssemblerDesc<'a, B>,
rasterizer: Rasterizer,
fragment: Option<EntryPoint<'a, B>>,
layout: &'a B::PipelineLayout,
subpass: Subpass<'a, B>,
) -> Self
pub fn new( primitive_assembler: PrimitiveAssemblerDesc<'a, B>, rasterizer: Rasterizer, fragment: Option<EntryPoint<'a, B>>, layout: &'a B::PipelineLayout, subpass: Subpass<'a, B>, ) -> Self
Create a new empty PSO descriptor.