1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Shader source assembly and the compilation caches shared by the device
//! backends.
// The runtime cache segment both caches below write into, and the checkpoints
// at which it reaches disk.
pub
// Disk cache for shader binaries compiled after build time: the built-ins the
// DirectX and Vulkan backends compile at init, and the Metal raymarch
// libraries assembled from world-authored SdfVolume fragments (the rest of
// Metal precompiles into the binary via the toolchain crate).
pub
// Scratch directory for the shader compilers that work on files.
pub
// The compile call for each backend's target: SPIR-V, DXIL, MSL or a metallib.
pub
// The embedded-else-cached-else-compiled fetch every backend's built-in
// programs go through.
pub
// Shared source assembly for the single-source shaders every backend draws
// from.
pub
pub
pub
// Disk persistence for driver pipeline blobs (VkPipelineCache, D3D12 pipeline
// library). Metal needs none: its libraries are precompiled or cached above,
// and the OS maintains the per-app pipeline binary cache.
pub