mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-14 23:10:33 +02:00
Vulkan: Batch Jackass' tiled in-place color grade Jackass: The Game color grades the framebuffer in 32x64 tiles, one channel per pass, texturing from the framebuffer it renders to. Each of the 225 draws became a depal pass plus a pass drawing it back, 450 render passes per frame. A new queue hack, enabled by the TiledDepalHack compat flag, sorts these pairs into waves of non-overlapping tiles and runs each wave as one depal pass and one draw pass, leaving 6. Output is byte-identical to before on both dumps from the issue, at 1x and 3x on desktop, and at 1x on both phones below. Time saved per post-processed frame, from replaying the dumps from the issue with headless --bench (each replay renders that frame once): Redmi 9A (PowerVR GE8320): ~145ms at 1x, ~180ms at 2x Unisoc UMS9632 (Mali-G57): ~55ms at 1x and 2x Either is more than a whole 33ms frame, so on those GPUs this pass alone ruled out 30fps. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>