https://bugs.winehq.org/show_bug.cgi?id=45724
--- Comment #9 from Henri Verbeet hverbeet@gmail.com --- (In reply to Andrew Wesie from comment #6)
I modified the d3d9 occlusion query test to check if it gets flushed implicitly, flushed implicitly with BeginScene / Draw / EndScene, and then flushed explicitly. This revised test passes on my Windows 10 x64 installation when using Intel GPU. It does not pass with AMD GPU because the query is flushed implicitly (e.g. even without the BeginScene / EndScene).
Perhaps that's good enough as an indicator that the D3D runtime doesn't flush on EndScene(), for d3d9 at least. At the same time, I think the AMD result also highlights the danger of this kind of change. Even if the change itself is correct, there's potential for this to break things. I'd be willing to sign-off on this one though, provided you'll keep an eye on any regressions.