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 |
SpecializationConstants |
Trait for types that contain specialization data for shaders. |