mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
Reading a 16-bit framebuffer as CLUT8 with u = 1 + 2x puts every pixel center exactly on a byte edge. The GE lands on the edge only when the sprite's u gradient is exact (gpu/probe exp256), otherwise just below it. The software transform now nudges the short sprites' u down a little, sprite by sprite, and the shader truncates to the GE's 1/16 texel. SOCOM keeps reading its pixels' high bytes; Syphon Filter and Resistance: Retribution's 64x128 bright pass now reads the next pixels' low bytes, as on the PSP. Syphon Filter's warehouse and dark room dumps get much closer to the PSP (18310 -> 7192, 9885 -> 3925 px on Vulkan), and Killzone: Liberation's improve. Resistance's and Syphon Filter mission 5's get further away, from the 5551 precision difference their bright pass also depends on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>