logo
Expand description

A program that is run on the device.

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 can parse and introspect SPIR-V code, but it does not fully validate the code. You are encouraged to use the vulkano-shaders crate that will generate Rust code that wraps around vulkano’s shaders API.

Modules

Extraction of information from SPIR-V modules, that is needed by the rest of Vulkano.
Parsing and analysis utilities for SPIR-V shader binaries.

Structs

The requirements imposed by a shader on a descriptor within a descriptor set layout, and on any resource that is bound to that descriptor.
Represents a shader entry point in a shader module.
The information associated with a single entry point in a shader.
The mode in which a geometry shader executes.
Type that contains the definition of an interface between two shader stages, or between the outside and a shader stage.
Entry of a shader interface definition.
The type of a variable in a shader interface.
Contains SPIR-V code with one or more entry points.
A set of shader stages.
The requirements imposed by a shader on a specialization constant.
Describes an individual constant to set in the shader. Also a field in the struct.

Enums

An error that can be returned when trying to create the intersection of two DescriptorRequirements values.
The input primitive type that is expected by a geometry shader.
Error that can happen when creating a new shader module.
The mode in which a shader executes. This includes both information about the shader type/stage, and additional data relevant to particular shader types.
Error that can happen when the interface mismatches between two shader stages.
The numeric base type of a shader variable.
A single shader stage.
Error that can happen when checking whether a shader is supported by a device.

Traits

Trait for types that contain specialization data for shaders.