nx_gsplat_tile_gate.nx
buildroot/runtime/nx_gsplat_tile_gate.nx
about
nx_gsplat_tile_gate.nx -- GATE for the tiled rasterization policy.
★★THE ACCEPT RULE WAS DECLARED IN THE ORGAN'S SOURCE BEFORE THIS GATE WAS RUN, and this file only
enforces it:
CORRECTNESS -- the tiled frame is BYTE-IDENTICAL to the full-screen frame. An optimisation is allowed
to change cost and NOTHING else. "Close enough" would mean the two renderers had
quietly become two rulers.
COST -- strictly fewer conic evaluations on a scene with real occlusion.
T4 is the honest counterweight: on a scene with NO occlusion the policy must save NOTHING and still be
byte-identical. A win that appears on every scene regardless of occlusion would mean the saving came
from somewhere other than the mechanism claimed, and that is the failure this tooth exists to catch.
T3 replaces the question "what tile size?" with a MEASUREMENT. The organ names no favourite edge; the
gate sweeps a doubling series and publishes evaluations and list occupancy at each, and requires
byte-identity at EVERY size. A constant nobody measured would have been the alternative.
license_tier: ORIGINAL expect_exit: 0
dependencies 5 imports · 0 importers
imports: nx_syscalls.nxnx_gsplat.nxnx_gsplat_tile_lib.nxnx_png.nxnx_gate_verdict.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 23 | const TG_CAP: i64 = 2048 |
| 24 | const TG_LAYERS: i64 = 24 |
| 25 | const TG_PERLAYER: i64 = 60 |
| 26 | const TG_GRIDX: i64 = 10 |
| 27 | const TG_BUDGET: i64 = 1000000 |
| 28 | const TG_CAMZ: i64 = 14 |
| 29 | const TG_SWEEP0: i64 = 8 |
| 32 | const TG_WORKERS: i64 = 4 |
functions
| 36 | func tg_dense(gauss: *i64) -> i64 |
| 55 | func tg_sparse(gauss: *i64) -> i64 |
| 67 | func tg_fullscreen_evals(vis: i64, sxb: *i64, syb: *i64, pa: *i64, pc: *i64, order: *i64) -> i64 |
| 90 | func tg_same(a: *i64, b: *i64, n: i64) -> i64 called by 1: main |
| 96 | func main() -> i64 |