Module gfx_hal::pso

source · []
Expand description

Raw Pipeline State Objects

This module contains items used to create and manage Pipelines.

Macros

Macro for specifying list of specialization constants for EntryPoint.

Structs

Vertex attribute description. Notably, completely separate from resource Descriptors used in DescriptorSets.

Baked-in pipeline states.

A description of an equation for how to blend transparent, overlapping fragments.

Specifies whether to use blending, and if so, which operations to use for color and alpha channels.

A simple struct describing a rect with integer coordinates.

PSO color target descriptor.

Target output color mask.

A description of the data needed to construct a compute pipeline.

A depth bias allows changing the produced depth values for fragments slightly but consistently. This permits drawing of multiple polygons in the same plane without Z-fighting, such as when trying to draw shadows on a wall.

PSO depth-stencil target descriptor.

Depth test state.

Descriptor pool creation flags.

Set of descriptors of a specific type.

Copies a range of descriptors to be bound from one descriptor set to another.

Information about the contents of and in which stages descriptors may be bound to a descriptor set at a certain binding point. Multiple DescriptorSetLayoutBindings are assembled into a DescriptorSetLayout, which is then allocated into a DescriptorSet using a DescriptorPool.

Writes the actual descriptors to be bound into a descriptor set.

A struct element descriptor.

Shader entry point.

Face.

A description of all the settings that can be altered when creating a graphics pipeline.

All the information needed to create an input assembler.

Pipeline creation flags.

Stages of the logical pipeline.

Rasterization state.

A simple struct describing a rect with integer coordinates.

Combination of different shader pipeline stages.

A generic struct holding the properties of two sides of a polygon.

Information required for pipeline specialization.

Description of a specialization constant for the pipeline.

Complete stencil state for a given side of a face.

Defines a stencil test. Stencil testing is an operation performed to cull fragments; the new fragment is tested against the value held in the stencil buffer, and if the test fails the fragment is discarded.

Vertex buffer description. Notably, completely separate from resource Descriptors used in DescriptorSets.

A viewport, generally equating to a window on a display.

Enums

An error allocating descriptor sets from a pool.

A reference to a parent pipeline. The assumption is that a parent and derivative/child pipeline have most settings in common, and one may be switched for another more quickly than entirely unrelated pipelines would be.

Blending operations.

Format of a buffer.

Specific type of a buffer.

A pixel-wise comparison function.

Error types happening upon PSO creation on the device side.

A handle to a specific shader resource that can be bound for use in a DescriptorSet. Usually provided in a DescriptorSetWrite

The type of a descriptor.

Defines the possible blending factors. During blending, the source or destination fragment may be multiplied by a factor to produce the final result.

The front face winding order of a set of vertices. This is the order of vertexes that define which side of a face is the “front”.

Specific type of an image descriptor.

Logic operations used for specifying blend equations.

Methods for rasterizing polygons, ie, turning the mesh into a raster image.

Describes the type of geometric primitives, created from vertex data.

Primitive Assembler describes how input data are fetched in the pipeline and formed into primitives before being sent into the fragment shader.

Pipeline state which may be static or dynamic.

The operation to use for stencil masking.

The rate at which to advance input data to shaders for the given buffer

Traits

A descriptor pool is a collection of memory from which descriptor sets are allocated.

Type Definitions

Index of a vertex buffer.

A single RGBA float color.

A single depth value from a depth buffer.

Offset of an attribute from the start of the buffer, in bytes

Offset between attribute values, in bytes

Number of instances between each advancement of the vertex buffer.

Shader binding location.

Number of vertices in a patch

A single value from a stencil buffer.

Pair of stencil values that could be either baked into a graphics pipeline or provided dynamically.