http://bugs.winehq.org/show_bug.cgi?id=34263
--- Comment #3 from Andrew Church achurch+wine@achurch.org 2013-08-14 12:31:00 CDT --- Thanks for the note. FWIW, I tried setting StrictDrawOrdering on unpatched wine-1.7.0 but it doesn't seem to help much; there are perhaps fewer cases of the wrong texture getting drawn, but the flickering is just as bad with StrictDrawOrdering as without. (And the benchmark performance dropped to ~2800, compared to ~3000 with the attached glFinish() patch, just as a point of comparison.)
In case it's worth anything, it seems like the glFinish() call added by my patch in swapchain.c affects only the flickering, and the glFinish() calls added in surface.c affect only the wrong-texture glitches.