https://bugs.winehq.org/show_bug.cgi?id=45724
--- Comment #5 from Henri Verbeet hverbeet@gmail.com --- (In reply to Andrew Wesie from comment #4)
(In reply to Henri Verbeet from comment #3)
I don't think we need a formal unit test for this, although that would be ideal. Some manual testing may be enough, but note that this would affect d3d8 and ddraw as well.
Looking at the wine ddraw module, I am wondering if maybe we need the flush in EndScene iff there are no back buffers. If there is a back buffer, then the client should need to call present, which will call wglSwapBuffers and do an implicit flush. Otherwise, we are drawing directly to the front buffer and need to flush in EndScene.
I seem to recall that it shouldn't be possible to create a front buffer with DDSCAPS_3DDEVICE, but I may be misremembering. Note that ddraw never has real front/back buffers though; it always draws offscreen and then goes through ddraw_surface_update_frontbuffer() to get things to the screen.