gfx_hal::pso

Struct GraphicsPipelineDesc

Source
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>

Source

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.

Trait Implementations§

Source§

impl<'a, B: Debug + Backend> Debug for GraphicsPipelineDesc<'a, B>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.