Struct gfx_hal::pso::GraphicsPipelineDesc
source · pub struct GraphicsPipelineDesc<'a, 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::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
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::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
sourceimpl<'a, B: Backend> GraphicsPipelineDesc<'a, B>
impl<'a, B: Backend> GraphicsPipelineDesc<'a, B>
sourcepub fn new(
shaders: GraphicsShaderSet<'a, B>,
primitive: Primitive,
rasterizer: Rasterizer,
layout: &'a B::PipelineLayout,
subpass: Subpass<'a, B>
) -> Self
pub fn new(
shaders: GraphicsShaderSet<'a, B>,
primitive: Primitive,
rasterizer: Rasterizer,
layout: &'a B::PipelineLayout,
subpass: Subpass<'a, B>
) -> Self
Create a new empty PSO descriptor.
Trait Implementations
sourceimpl<'a, B: Debug + Backend> Debug for GraphicsPipelineDesc<'a, B>where
B::PipelineLayout: Debug,
B::GraphicsPipeline: Debug,
impl<'a, B: Debug + Backend> Debug for GraphicsPipelineDesc<'a, B>where
B::PipelineLayout: Debug,
B::GraphicsPipeline: Debug,
Auto Trait Implementations
impl<'a, B> RefUnwindSafe for GraphicsPipelineDesc<'a, B>where
<B as Backend>::GraphicsPipeline: RefUnwindSafe,
<B as Backend>::PipelineLayout: RefUnwindSafe,
<B as Backend>::RenderPass: 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>::GraphicsPipeline: RefUnwindSafe,
<B as Backend>::PipelineLayout: RefUnwindSafe,
<B as Backend>::RenderPass: RefUnwindSafe,
<B as Backend>::ShaderModule: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more