http://bugs.winehq.org/show_bug.cgi?id=21610
--- Comment #11 from Stefan Dösinger stefandoesinger@gmx.at 2010-04-09 17:16:38 ---
If dynamic_buffer_ok is false here, the screen stops flickering.
Yes, that's because it essentially disables the new code. It's a lightweight way to revert the patch.
A more targeted workaround(at least for Supreme Commander 2) is to remove GL_MAP_UNSYNCHRONIZED_BIT from all glMapBufferARB calls in buffer.c.