hal/shader/slug-serialization.lisp
Whether a band whose sorted curve list is a contiguous run of a list already written points into that list instead of writing its own. The reference recommends it: adjacent bands often hold the same curves, and the sharing shrinks the band texture and keeps the texel cache warm.
Quantize outline to RGBA16F, repack bands, and emit Slug's RG16U index data.
Reserve every header so its offset can point past the complete header block.
(value)(value)(point)(outline)(point words)(curve words)(point words)(offset width)The non-negative remainder of integer division.
(value role)(left right words)(band curve-offsets curve-width band-words)Whether a band whose sorted curve list is a contiguous run of a list already written points into that list instead of writing its own. The reference recommends it: adjacent bands often hold the same curves, and the sharing shrinks the band texture and keeps the texel cache warm.
(indices written)The texel offset at which INDICES already stands as a contiguous run of one of the WRITTEN (INDICES . OFFSET) lists, or NIL.
Test whether two compatible scalars are equal.
Addition over compatible quantities.
(words start count)Test whether one compatible scalar is less than another.
Multiplication and scalar scaling.
(words words-per-texel width element-type)The maximum of compatible quantities.
(serialized)(serialized)(outline &key horizontal-band-count vertical-band-count)(outline &key horizontal-band-count vertical-band-count)Build conservative, sorted horizontal and vertical Slug curve bands. A band count left unspecified is chosen per axis by CHOOSE-SLUG-BAND-COUNT.
Logical conjunction of tests and raw truth values.
Logical disjunction of tests and raw truth values.
Division of two represented quantities.
Dense single-glyph texture data matching the open Slug shader contract.