concinnity_render/slang_programs/mod.rs
1//! What each backend compiles from the single-source `.slang` shaders.
2//!
3//! Declarations only: the file, the entry point, the target profile, and the
4//! variant defines, as plain `&'static` data. They live here rather than in the
5//! device crate because both halves of the toolchain iterate them -- the
6//! renderer to compile a program at init, and the device build script to
7//! compile the same programs ahead of time -- and a build script cannot read
8//! its own crate's data. One table is what keeps the two from disagreeing about
9//! what a program's source is, which the content-addressed shader cache would
10//! otherwise paper over by serving one path's bytes to the other.
11//!
12//! Everything that needs a compiler, a cache, or a filesystem stays in the
13//! device crate and reaches these through a trait.
14
15/// What the DirectX backend compiles to DXIL.
16pub mod dx;
17
18/// What the Vulkan backend compiles to SPIR-V.
19pub mod vk;