http://bugs.winehq.org/show_bug.cgi?id=21962
--- Comment #81 from Stefan Dösinger stefandoesinger@gmx.at 2010-05-05 13:04:40 --- Wrt the INVALIDATE_BUFFER issue, this seems to be a threading problem. If I disable VBOs and fill the buffer with random garbage(or zeroes, or ones) I get no corruption. I suspect when one thread invalidates the buffer and writes new data into it, the update isn't properly propagated to the other thread(GL context) and it draws from the old buffer content.