http://bugs.winehq.org/show_bug.cgi?id=33825
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |UPSTREAM
--- Comment #11 from Henri Verbeet hverbeet@gmail.com 2013-06-25 06:09:39 CDT --- (In reply to comment #9)
Maybe the error message is not very accurate e.g. it's trying to use 3 temporary registers in a single instruction which doesn't support it. Just random guesses since I don't know the details of that GPU. It might very well be a driver bug. Make sure your 32-bit drivers are up to date, if you're on a 64-bit distro.
It's a driver bug. I looked into it for Split Second at some point, and IIRC the compiler basically seemed to run out of "condition registers" for CMOV-like instructions. It could be avoided by using explicit "if {} else {}" flow for instructions like cnd and cmp, of course at the cost of generating worse code. I wrote a testcase to reproduce it and submit to nvidia at the time, but nobody cared. I could probably dig it somewhere out of my email archive if anyone wants to try again, but I'm not holding my breath.