From 39ea52f59dcc18ff737ca207f348fd0cbd05eed8 Mon Sep 17 00:00:00 2001 From: tetrisgm <30949000+tetrisgm@users.noreply.github.com> Date: Mon, 17 Aug 2026 19:15:53 -0700 Subject: [PATCH] pgxp: note the best-supported remaining hypothesis, and a flaw in my own method Method flaw first, because it invalidates one measurement: comparing depth ON against OFF by loading the savestate ONCE and capturing the two frames 0.6s apart lets the demo advance between them, so the ship moves and shading drifts. A per-pixel "what replaced the ship" run done that way reported 41071 changed pixels, but most were still ship-coloured (192,160,0 and neighbours) -- shade drift, not loss. Only ~16% went dark. Any A/B here MUST reload the state for each configuration and sample at matched offsets, which the sweep numbers below did do and which is why they stand. Standing measurements: OFF 1.41 LEQUAL 0.52 GL_ALWAYS 1.40 (ship coverage, 6 matched samples) Z census min 125 max 28443 mean 5761 znear 32/64/100 all within noise ship median depth 219 vs 227 for the track around it Best-supported hypothesis, explicitly NOT yet demonstrated: z-fighting between the craft and the track it hovers over. SZ3 is 16-bit and already quantised by the GTE, the craft rides a very small distance above the surface, and the two medians (219 / 227) have overlapping ranges. That would explain every result at once -- why the ship is lost in patches rather than wholesale, why GL_ALWAYS restores it exactly, and why znear cannot help, since scaling the near plane changes absolute precision but not the RELATIVE separation of two surfaces that are already within a quantum of each other. If that is right, no projection tuning fixes it: a depth buffer cannot resolve a difference the source data does not carry, and the answer is to keep the ordering table as the tiebreak where PGXP depth cannot separate two primitives, rather than letting the depth test overrule it. Testing it needs a per-draw depth histogram at the contact region, not another parameter sweep. Depth stays OFF. Co-Authored-By: Claude Opus 5