https://bugs.winehq.org/show_bug.cgi?id=45901
--- Comment #7 from Józef Kucia joseph.kucia@gmail.com --- I think that one problem with your patch is that it doesn't solve the issue completely. It fixes the problem only when the source resource is a render target. Otherwise, we still use the slow GetTexImage() path.
Other possible ways to fix the issue: 1) Optimize GetTexImage() in Mesa. 2) Use OpenGL resources for staging resources in wined3d. I think it could avoid the issue completely. CopyResource() would be a normal raw blit between 2 GL textures. However, it isn't something that we should change lightly. It needs some consideration, and I'm not sure if it's a very good idea.