Skip to main content

euv_chart/backend/webgpu/
enum.rs

1/// A batch is one contiguous run of triangles that share a pipeline and a
2/// bind group, and therefore cost exactly one draw call. The backend groups
3/// the display list into batches of these two kinds, so a steady-state
4/// frame issues a handful of draw calls no matter how many shapes the chart
5/// holds.
6#[derive(Clone, Copy, Debug, Default, Eq, Hash, PartialEq)]
7pub enum WebGpuBatchKind {
8    /// Flat-coloured triangles: fills, strokes, area strips, and label
9    /// backgrounds.
10    ///
11    /// These all live in one vertex buffer and are drawn with the solid
12    /// pipeline, which needs no texture bindings.
13    #[default]
14    Solid,
15    /// Textured triangles: glyph quads read the glyph atlas, and image
16    /// quads read the image itself.
17    ///
18    /// These live in one vertex buffer and are drawn with the textured
19    /// pipeline, which samples whatever texture is bound to group one.
20    Textured,
21}