pub struct GraphicsPipelineDesc<'a, B>where
B: Backend,{Show 13 fields
pub shaders: GraphicsShaderSet<'a, B>,
pub rasterizer: Rasterizer,
pub vertex_buffers: Vec<VertexBufferDesc>,
pub attributes: Vec<AttributeDesc>,
pub input_assembler: InputAssemblerDesc,
pub blender: BlendDesc,
pub depth_stencil: DepthStencilDesc,
pub multisampling: Option<Multisampling>,
pub baked_states: BakedStates,
pub layout: &'a <B as Backend>::PipelineLayout,
pub subpass: Subpass<'a, B>,
pub flags: PipelineCreationFlags,
pub parent: BasePipeline<'a, <B as Backend>::GraphicsPipeline>,
}
Expand description
A description of all the settings that can be altered when creating a graphics pipeline.
Fields§
§shaders: GraphicsShaderSet<'a, B>
A set of graphics shaders to use for the pipeline.
rasterizer: Rasterizer
Rasterizer setup
vertex_buffers: Vec<VertexBufferDesc>
Vertex buffers (IA)
attributes: Vec<AttributeDesc>
Vertex attributes (IA)
input_assembler: InputAssemblerDesc
Input assembler attributes, describes how vertices are assembled into primitives (such as triangles).
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 as Backend>::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 as Backend>::GraphicsPipeline>
The parent pipeline, which may be
BasePipeline::None
.
Implementations§
Source§impl<'a, B> GraphicsPipelineDesc<'a, B>where
B: Backend,
impl<'a, B> GraphicsPipelineDesc<'a, B>where
B: Backend,
Sourcepub fn new(
shaders: GraphicsShaderSet<'a, B>,
primitive: Primitive,
rasterizer: Rasterizer,
layout: &'a <B as Backend>::PipelineLayout,
subpass: Subpass<'a, B>,
) -> GraphicsPipelineDesc<'a, B>
pub fn new( shaders: GraphicsShaderSet<'a, B>, primitive: Primitive, rasterizer: Rasterizer, layout: &'a <B as Backend>::PipelineLayout, subpass: Subpass<'a, B>, ) -> GraphicsPipelineDesc<'a, B>
Create a new empty PSO descriptor.
Trait Implementations§
Auto Trait Implementations§
impl<'a, B> Freeze for GraphicsPipelineDesc<'a, B>
impl<'a, B> RefUnwindSafe for GraphicsPipelineDesc<'a, B>where
<B as Backend>::PipelineLayout: RefUnwindSafe,
<B as Backend>::RenderPass: RefUnwindSafe,
<B as Backend>::GraphicsPipeline: RefUnwindSafe,
<B as Backend>::ShaderModule: RefUnwindSafe,
impl<'a, B> Send for GraphicsPipelineDesc<'a, B>
impl<'a, B> Sync for GraphicsPipelineDesc<'a, B>
impl<'a, B> Unpin for GraphicsPipelineDesc<'a, B>
impl<'a, B> UnwindSafe for GraphicsPipelineDesc<'a, B>where
<B as Backend>::PipelineLayout: RefUnwindSafe,
<B as Backend>::RenderPass: RefUnwindSafe,
<B as Backend>::GraphicsPipeline: RefUnwindSafe,
<B as Backend>::ShaderModule: 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