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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//! The device backends. The proprietary, hardware-facing renderers - Metal
//! (macOS), DirectX 12 (Windows), Vulkan (Windows/Linux) - plus the shared native
//! Win32 window/input layer. At most one backend compiles per build, resolved by
//! build.rs from the backend features into a single backend_* cfg; a build that
//! names none compiles no GPU code at all. Depends on concinnity-core, whose
//! `render` module holds the RenderBackend/SceneControl trait seam these
//! implement plus the render-prep feeding it; owns no gameplay, ECS-runtime,
//! audio, or physics. The client drives these through a
//! `Box<dyn RenderBackend>` obtained from `init_backend`, never naming a concrete
//! context type.
pub
// The forwarding macro the three backends write their RenderBackend family
// impls with.
pub
// The CPU's blocked-on-GPU time, shared by the three backends so
// `RenderStats::gpu_wait_us` means the same thing on each.
pub
// The `objects` / `skinned_visible` render stats, shared so they mean the same
// thing on every backend.
pub
pub
// Consuming a temporal upscaler's history reset, the same on every backend.
pub
// How the reflection-probe bake is logged, the same on every backend.
pub
// The API-independent half of the vendor temporal upscalers (FSR, DLSS, XeSS)
// the DirectX and Vulkan backends drive.
pub
pub
// Native Win32 window/input/display-mode layer shared by the HWND-rendering
// backends (DirectX always; Vulkan on Windows instead of GLFW).
pub
// Native AppKit window/input/display-mode layer shared by the NSView-rendering
// backends (Metal always; Vulkan on macOS instead of GLFW).
pub
// Shader source assembly, compile and pipeline caches, and export-time
// precompilation shared by the backends.
// Reflection-driven layout guard for the `#[repr(C)]` structs the CPU uploads
// into the single-source shaders: the expected offsets come from the compiler,
// per target, rather than from a hand-written number. Reads the source
// assembly a backend brings with it, so a build with none has nothing to check.
// Source-scanning guards over the explicit backends' resource barriers.
// How a failed ray-tracing BVH update is logged, the same on every backend.
pub
// Device-memory placement policy shared by the backends' allocators.
pub
pub use ;