Created attachment 35461 [details]
I'm trying to run Sins of a Solar Empire with Wine 1.1.43 and r300g driver. Until commit dad962bafe8ffd7fdb35c28cfb8bbd5a297c8083 I was able to enter the menu and even start a new game, however some rendering was broken (almost everything black). Now when entering menu it crashes. I'm attaching terminal output and dmesg.
dad962bafe8ffd7fdb35c28cfb8bbd5a297c8083 is the first bad commit
Author: José Fonseca <email@example.com>
Date: Tue May 4 15:41:19 2010 +0100
mesa/st: Fill in native program limits.
In the lack of more fine grained capabilities in Gallium, assume that if
the pipe driver supports GLSL then native limits match Mesa software
(cherry picked from commit 40a90cd11234a09c2477f5c9984dd6d9fac3f52c)
:040000 040000 cfc8a638f5c8e29d63316bc78ba58d808d064c1a 71c19fdbecf5fd0e113de6f79b4c00fd1eac4f29 M src
Created attachment 35462 [details]
The commit you mention enables features which were until now never advertised -- many applications were not using GLSL because they thought the hardware had no native support for it. It's likely the bug is in the this feature (GLSL compilation) and not on the commit itself.
Can you get a stack trace showing where inside the driver the crash is happening?
(In reply to comment #2)
> Can you get a stack trace showing where inside the driver the crash is
How can I do that?
Created attachment 35464 [details]
I was able to get a Wine backtrace, I hope this is helpful.
From the first log:
"r300: Max size of the constant buffer is 256*4 floats."
immediately followed by abort in the code.
We really need fine-grained shader limits, applications seem to make fatal decisions based on them.
Could you please re-test the game with current mesa git?
Created attachment 35650 [details]
It still doesn't work, attaching new log.
OK so the problem is the game creates a larger constant buffer than hw can handle, but it seems to use only a small portion of the buffer. I've changed the code so that it does not abort (commit 93c997a9146e0b50186df684f4847fb0124ada11). Please close the bug if it helps you.
The crash is gone now, closing