Skip to main content

valo_renderer/
lib.rs

1//! `valo-renderer` replays a recorded display list into wgpu render passes.
2//!
3//! Hosts normally use the `valo` crate's `Context`. This crate is the GPU core
4//! that context wraps: it plans, encodes, and submits, and it owns only caches —
5//! not application content. It talks to wgpu directly; there is no second GPU
6//! abstraction.
7//!
8//! - [`HostBuffer`]: per-frame bump arena for transient uniforms and vertices.
9//!   A 3-frame ring of persistent buffers means warm frames create nothing —
10//!   the cost that matters most on wasm, where every create crosses into JS.
11//! - [`PipelineCache`]: grow-only map of pipeline variants (format × blend × kind).
12
13mod contours;
14mod glyphs;
15mod gpu_timer;
16mod host_buffer;
17mod images;
18mod pipelines;
19mod plan;
20mod pool;
21mod ramps;
22mod raster;
23mod renderer;
24mod report;
25
26pub use glyphs::TextTiers;
27pub use host_buffer::HostBuffer;
28pub use images::{ImageDesc, ImageStore, IMAGE_FORMAT};
29pub use pipelines::{Frag, PipelineCache, PipelineKey, PipelineKind, DEPTH_FORMAT, SAMPLE_COUNT};
30pub use pool::TargetPool;
31pub use renderer::{RenderStats, RenderTarget, RendererCore};
32pub use report::{AtlasReport, MemoryReport, PoolReport, WgpuCounters};