Readme updates

This commit is contained in:
Zachary Levy
2026-04-24 00:55:41 -07:00
parent e1938f1c42
commit 7bd45e9f56

View File

@@ -37,10 +37,13 @@ All SDF shapes produce mathematically exact curves with analytical anti-aliasing
no tessellation, no piecewise-linear approximation. A rounded rectangle is 1 primitive (80 bytes)
instead of ~250 vertices (~5000 bytes).
The fragment shader's estimated register footprint is ~2026 VGPRs, with Ring_Arc being the
heaviest shape kind (pre-computed edge normals and branchless wedge evaluation require more live
values than RRect's sdRoundedBox). Comfortably under the 32-register occupancy cliff on mobile
Mali and Adreno, and well under desktop architectures' higher limits.
The fragment shader's estimated register footprint is ~2023 VGPRs via static live-range analysis.
RRect and Ring_Arc are roughly tied at peak pressure — RRect carries `corner_radii` (4 regs) plus
`sdRoundedBox` temporaries, Ring_Arc carries wedge normals plus dot-product temporaries. Both land
comfortably under Mali Valhall's 32-register occupancy cliff (G57/G77/G78 and later) and well under
desktop limits. On older Bifrost Mali (G71/G72/G76, 16-register cliff) either shape kind may incur
partial occupancy reduction. These estimates are hand-counted; exact numbers require `malioc` or
Radeon GPU Analyzer against the compiled SPIR-V.
MSAA is opt-in (default `._1`, no MSAA) via `Init_Options.msaa_samples`. SDF rendering does not
benefit from MSAA because fragment coverage is computed analytically. MSAA remains useful for text