[Bug 29146] Wine should warn user when generating invalid shaders

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jan 29 15:04:14 CST 2012


http://bugs.winehq.org/show_bug.cgi?id=29146

Pavel Ondračka <pavel.ondracka at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|EVE online: some models are |Wine should warn user when
                   |missing                     |generating invalid shaders

--- Comment #5 from Pavel Ondračka <pavel.ondracka at gmail.com> 2012-01-29 15:04:14 CST ---
Mesa has recently slightly changed behaviour, the linker is not as strict when
rejecting shaders so it is up to the drivers to do what they can with invalid
shaders. This is in some cases better, because some shaders that didn't worked
before now work, however when the shader is actually addressing out of range
constants it fails (to which the driver usually responds by creating a dummy
shader and pretending nothing happened). This is really bad for debugging
because when mesa is compiled without --enable-debug (majority of distros)
there isn't any warning printed. and even in mesa debug build only radeon warns
that there is dummy shader being created. I'll give you example how this
complicates my life:

I've spend few hours trying to get Sims 3 working on computer with Intel GMA
4500HD. The game did start fine, however there was major corruption all over
the place. Nothing interesting in terminal, some harmless wined3d fixmes, some
audio stuff. As usual I tried some winetricks (d3d9x9 glsl-disable etc.), no
luck. The Sims 3 is platinum so at that point I did suspect a driver issue. My
stock mesa was 7.11 so I did compile a new one from git, still no luck. OK, so
I was thinking about opening a bug report against mesa. To know if the
component is i965 or mesa core I try to run it with llvmpipe. For this I had to
make a trace with apitrace to be sure Wine doesn't choose another rendering
path. Results: llvmpipe has the same corruption. Now I begin suspect that wine
is doing something bad, so I did try that trace on another system with NVIDIA,
with same results, but still no clue whats going on. Finally r300g driver
prints helpfull: Too many constants:258, max:256. Creating a dummy shader
instead.

Please, can there be some warning in the terminal when wine is generating those
invalid shaders, so people can just look in the terminal and see whats going
on? This would be really nice to have for 1.4 .

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list