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

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

ComputeEntryPoint

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

EmptyShaderInterfaceDef

Description of an empty shader interface.

GraphicsEntryPoint

Represents a shader entry point 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 individual constant to set in the shader. Also a field in the struct.

Enums

EmptyEntryPointDummy

A dummy that implements GraphicsEntryPointAbstract and EntryPointAbstract.

GeometryShaderExecutionMode

Declares which type of primitives are expected by the geometry shader.

GraphicsShaderType
ShaderInterfaceMismatchError

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

Traits

EntryPointAbstract
GraphicsEntryPointAbstract
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.