[][src]Struct gfx_hal::pso::GraphicsPipelineDesc

pub struct GraphicsPipelineDesc<'a, B: Backend> {
    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>,
}

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.

Methods

impl<'a, B: Backend> GraphicsPipelineDesc<'a, B>[src]

pub fn new(
    shaders: GraphicsShaderSet<'a, B>,
    primitive: Primitive,
    rasterizer: Rasterizer,
    layout: &'a B::PipelineLayout,
    subpass: Subpass<'a, B>
) -> Self
[src]

Create a new empty PSO descriptor.

Trait Implementations

impl<'a, B: Debug + Backend> Debug for GraphicsPipelineDesc<'a, B> where
    B::PipelineLayout: Debug,
    B::GraphicsPipeline: Debug
[src]

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> where
    <B as Backend>::GraphicsPipeline: Sync,
    <B as Backend>::PipelineLayout: Sync,
    <B as Backend>::RenderPass: Sync,
    <B as Backend>::ShaderModule: Sync

impl<'a, B> Sync for GraphicsPipelineDesc<'a, B> where
    <B as Backend>::GraphicsPipeline: Sync,
    <B as Backend>::PipelineLayout: Sync,
    <B as Backend>::RenderPass: Sync,
    <B as Backend>::ShaderModule: Sync

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.