http://bugs.winehq.org/show_bug.cgi?id=31281
Bug #: 31281 Summary: Red Alert 3 on Mac renders vertices in software Product: Wine Version: 1.5.9 Platform: x86 OS/Version: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: cdavis@mymail.mines.edu Classification: Unclassified
Playing Red Alert 3 on my Mac (the Windows version, with Wine, since I bought it before there even was a Mac version) is extremely slow, almost to the point of being unplayable.
So, I investigated with Apple's handy OpenGL Profiler, and I discovered, much to my horror, that the GL was rendering the vertices in software. Huh?
In general, this normally happens when Mac OS thinks the GPU can't do it in hardware. I can't figure out why it thinks that in this case, though. As far as I can tell, we aren't exceeding any of the limits that we can query with GL's Get command, so I suspect that the vertex shader is exceeding some sort of limit.
Hacking Mesa to set the NoRecovery PFA doesn't help. I was baffled... until I went back, re-read the documentation, and discovered that NoRecovery *only affects fragment processing*. What? So there's no way to force only-hardware vertex processing? (Thank God fragment processing was still in hardware, or it would have been even worse.)