https://bugs.winehq.org/show_bug.cgi?id=55045
--- Comment #3 from Aida JonikienÄ— aidas957@gmail.com --- It looks like this PR works around this issue: https://gitlab.winehq.org/wine/wine/-/merge_requests/3047
After looking in the apitrace again I now see that glGetBufferPointerv() returns a 32-bit pointer (and the memcpy() destination is also a 32-bit pointer) so that might be the main difference that's making the games work properly again (so maybe pointer conversion is messed up somewhere?)
Weirdly Unigine Heaven (in native OpenGL mode) has no issues with 64-bit pointers despite being a 32-bit application in memcpy() and glGetBufferPointerv() calls (which are a part of the wow64_map_buffer() function)