mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
Picking a byte out of a 16-bit framebuffer needs more than the defaults. The texcoord reached the shader as a mediump varying, which Adreno keeps in fp16: its byte coordinate (u times up to 2048) then picks the wrong byte for every other one past 512, and SOCOM Tactical Strike's night vision came out striped in the right half. On a PowerVR GE8320 the default lowp in the rest of the shader made SOCOM's night vision and full screen effect far too bright (53k and 17k px off the Mac's Vulkan render, now 0). Vulkan already uses highp. Where the fragment shader has full precision, the vertex shader now writes the texcoord in highp, and CLUT8 depal reads it that way and computes in highp. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>