hrydgard/ppsspp — pull request #5150 by unknownbrackets (2014-01-20 02:37:35+00:00)
Title: Duplicate framebuffers that are rendered onto themselves

We're logging this for a bunch of games, I'm not really sure how it can be this many.
http://report.ppsspp.org/logs/kind/428

But either way, Brave Story and 3rd Birthday very clearly do this, and it causes weird behavior in OpenGL. This creates a separate FBO to use as a temporary. It might be better to create a cache of fbos but I wasn't sure about lifetime etc. This does at least help the existing issues.

However, some games (like even 3rd Birthday I think, and Dragon Ball Z Tag Team), even when doing this *also* render with a CLUT. I think this can use the same temporary FBO (I think it should always render 1:1 to a temporary FBO when using a CLUT) but instead render to it using a shader and a 1D attachment of the CLUT. Seems like a bit of a pain.

Anyway, this doesn't really help those CLUT games, but it may impact them by making their behavior more consistent (before it would sometimes have weird stuff in the source framebuffer.)

-[Unknown]