Module vulkano::pipeline::shader [] [src]

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

ComputeShaderEntryPoint

Represents the entry point of a compute shader in a shader module.

EmptyShaderInterfaceDef

Description of an empty shader interface.

FragmentShaderEntryPoint

Represents the entry point of a fragment shader in a shader module.

GeometryShaderEntryPoint

Represents the entry point of a geometry shader in a shader module.

ShaderInterfaceDefEntry

Entry of a shader interface definition.

ShaderModule

Contains SPIR-V code with one or more entry points.

SpecializationMapEntry

Describes an indiviual constant to set in the shader. Also a field in the struct.

TessControlShaderEntryPoint

Represents the entry point of a tessellation control shader in a shader module.

TessEvaluationShaderEntryPoint

Represents the entry point of a tessellation evaluation shader in a shader module.

VertexShaderEntryPoint

Represents the entry point of a vertex shader in a shader module.

Enums

ShaderInterfaceMismatchError

Error that can happen when the interface mismatches between two shader stages.

Traits

ShaderInterfaceDef

Types that contain the definition of an interface between two shader stages, or between the outside and a shader stage.

ShaderInterfaceDefMatch

Extension trait for ShaderInterfaceDef that specifies that the interface is potentially compatible with another one.

SpecializationConstants

Trait for types that contain specialization data for shaders.