Expand description
The strip instance the vertex shader steps over, and the conversion into
it from a rasterized Strip.
One GpuStrip is one instance of a four-vertex quad: there is no
geometry buffer at all, the vertex shader builds the quad’s corners from
the instance’s own fields (see GpuStrip::vertex_range).
Structs§
- Class
Run - One run of consecutive instances drawn with one class’s program, as an
offset into the slice
split_class_runswas handed. - Class
Set - A set of
PaintClasses, as a bitmask — which class programs one pass needs, so a frame resolves exactly those pipelines and no others. - GpuStrip
- One strip instance, matching the shaders’
StripInstancebyte for byte. - Strip
Draw - The per-draw values every strip instance of one draw shares.
Enums§
- Paint
Class - Which specialised strip program an instance can be drawn with.
- Paint
Type - How the fragment shader turns an instance’s payload into colour.
Constants§
- PAINT_
TEXTURE_ INDEX_ MASK - Mask covering the encoded-paint texel index in
GpuStrip::paint_and_rect_flag— everything below the paint type. - RECT_
STRIP_ FLAG - Bit 31 of
GpuStrip::paint_and_rect_flag, marking an instance as a whole rectangle rather than a strip: the shader then readsGpuStrip::dense_width_or_rect_heightas a height andGpuStrip::col_idx_or_rect_fracas a coverage fraction. - RUN_
SPLIT_ MIN - The default
split_class_runsthreshold: a run of fewer instances than this is not worth a pipeline switch of its own and is drawn withPaintClass::Uberinstead.
Functions§
- alpha_
column - The alpha column the strip shader addresses coverage by, from the byte
index a
Stripcarries. - merge_
class_ runs split_class_runsover runs already known to share a class, rather than over the instances themselves — steps 2 and 3 alone.- pack_
paint_ descriptor - The packed paint descriptor for a
paint_typeinstance whose encoded-paint record starts attexel_index. - split_
class_ runs - Splits
instances— one pass segment, in painter order — into consecutive runs, each drawn with one class’s program, appending them toout.