With the default -1..1, window depth 0 comes from z = -w, where the
rasterizer's rounding is an ulp of 1.0. Puyo Puyo Fever 2's ground at z = 0
got depths just above 0 with depth clamp on, and the sprites on it that test
GEQUAL lost pixels (910 px off the PSP on an Adreno 840, now 0). Use
glClipControl (GL 4.5, ARB/EXT_clip_control) as in Vulkan. Not in libretro,
where the frontend shares the context.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GLES drivers with GL_EXT_depth_clamp reported depth clamp as supported, but
glEnable(GL_DEPTH_CLAMP) was compiled out with USING_GLES2. The shaders then
relied on clamping that never happened, and geometry outside the depth range
was clipped: on the Adreno 840, Hokuto no Ken's title screen came out black and
Hot Pixel's background was missing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>