On 8 July 2015 at 10:52, Stefan Dösinger stefandoesinger@gmail.com wrote:
I don't think we want to use the shadowfb unconditionally. It would mean an extra copy (shadow backbuffer -> shadow frontbuffer -> GL_BACK
- -> swap as opposed to shadow backbuffer -> GL_BACK -> swap). I don't
think a reliable GetFrontBufferData is worth the extra copy, especially since GetFrontbufferData isn't reliable on Windows either (But ChildWindowFromPoint is).
We need the shadowfb for ddraw (esp. overlays, but also other corner cases) and swapeffect_flip, although in that case we ideally swap the FBOs and avoid the shadow backbuffer -> shadow frontbuffer blit and just do shadow frontbuffer -> GL_BACK -> swap. In theory we also want the shadow frontbuffer for a correct software cursor, but there are other problems with that.
Actually, it would probably be helpful to have an overview of how this is all going to work in the end. E.g., how is ddraw_surface7_Flip() going to work with the new setup?