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.