The complete solid-fill (Slug analytic dual-ray) pipeline program as shader IR. More...
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Functions | |
| ShaderResult< IrModule > | donner::gpu::shader::programs::BuildSolidFillModule () |
| Builds the native solid-fill IR module with the analytic dual-ray coverage rules used by donner/gpu/shader/programs/SlugFillSource.h. | |
The complete solid-fill (Slug analytic dual-ray) pipeline program as shader IR.
| ShaderResult< IrModule > donner::gpu::shader::programs::BuildSolidFillModule | ( | ) |
Builds the native solid-fill IR module with the analytic dual-ray coverage rules used by donner/gpu/shader/programs/SlugFillSource.h.
Native adapter contracts define the 352-byte Uniforms struct, Band (32 bytes), InstanceTransform (32 bytes), and 12 bindings at group 0. The module includes the kNoBand sentinel constant, the vs_main vertex stage (per-instance matrix construction, the convex bounding fan expanded from vertex_index, and its per-edge half-pixel dilation with both AABB fallbacks), and the fs_main fragment stage (dense band-grid lookup, accumulateHoriz/accumulateVert analytic ray coverage with owns_axis_sample and the Citardauq-form solve_quadratic, calc_coverage blending, bounded NonZero interval integration with exact-tie grouping and paired legacy fallback, EvenOdd folding, convex clip-polygon planes, clip-mask coverage, and the solid premultiplied color and repeat-tiled pattern paint paths).
Entry points are named vs_main / fs_main; struct-typed WGSL stage IO is flattened to annotated parameters/outputs with identical locations and builtins, and .rgba swizzles are transliterated to .xyzw. The Metal and Vulkan solid-fill tests compare their renders against the renderer's literal_fill_solid golden, so behavior-affecting constructs must remain semantically identical.