mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-21 18:29:05 +02:00
On Apple GPUs, the fragment shader reads the framebuffer directly ([[color(0)]]) instead of blending against a copy of it. The Vulkan GLSL generator path for this was already there apart from the input declaration: SPIRV-Cross turns the subpassInput into framebuffer fetch. The Vulkan backend never sets the fetch bit. Reading the framebuffer as it is also sees earlier triangles of the same draw, like the PSP does, where the copy only had what was there before the draw. Of the dumps in ppsspp-framedumps whose output changes, all ten with a PSP capture got closer to it, Tenchu's from about 10000 differing pixels to 900. Ridge Racer runs about 6% faster. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>