Module vulkano::pipeline::shader

source ·
Expand description

Stage of a graphics pipeline.

In Vulkan, shaders are grouped in shader modules. Each shader module is built from SPIR-V code and can contain one or more entry points. Note that for the moment the official GLSL-to-SPIR-V compiler does not support multiple entry points.

The vulkano library does not provide any functionality that checks and introspects the SPIR-V code, therefore the whole shader-related API is unsafe. You are encouraged to use the vulkano-shaders crate that will generate Rust code that wraps around vulkano’s shaders API.

Structs

Represents the entry point of a compute shader in a shader module.
Description of an empty shader interface.
Represents a shader entry point in a shader module.
Entry of a shader interface definition.
Contains SPIR-V code with one or more entry points.
Describes an individual constant to set in the shader. Also a field in the struct.

Enums

A dummy that implements GraphicsEntryPointAbstract and EntryPointAbstract.
Declares which type of primitives are expected by the geometry shader.
Error that can happen when the interface mismatches between two shader stages.

Traits

Types that contain the definition of an interface between two shader stages, or between the outside and a shader stage.
Extension trait for ShaderInterfaceDef that specifies that the interface is potentially compatible with another one.
Trait for types that contain specialization data for shaders.