Cross-regressions between wine and mesa: how to handle them?

Ruslan Kabatsayev b7.10110111 at gmail.com
Mon Jan 27 13:48:56 CST 2014


On Mon, Jan 27, 2014 at 5:53 PM, Stefan Dösinger
<stefandoesinger at gmail.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Am 2014-01-26 14:08, schrieb Ruslan Kabatsayev:
>> For end user this looks like failing software, and moreover, it's
>> not easy to understand which software does have bug. Wine
>> perspective: On the one hand, wine seems to use what Mesa exposes.
>> On the other, why use shaders for games which don't need them?
> There are some corner cases in the d3d fixed function pipeline which
> we can't handle properly without shaders. Unfortunately, once we
> detect such a corner case it's too late to turn on shaders.
>
> A possible workaround for the user is to set UseGLSL=disabled. It's
> not a good long-term fix though.
>
>> Mesa perspective: On the one hand, it wants to advertise more
>> support for latest OpenGL standards. On the other, why do it for
>> very old HW which doesn't support it?
> Does the "slow" mean that Wine hits a software rendering fallback and
> Mesa emulates vertex shaders with the CPU? I hated it when OSX
> advertised features the card didn't have, and I think it's a very bad
> idea for Mesa to do the same thing.

Yes, a SW fallback. Vertex shaders are always on CPU on i915 by
design. It's fragment shaders which suffer from SW fallback when
something is used which is unsupported by the chip.

>
> The GL errors should be fixed though. Can you try to find the commits
> in Wine and Mesa that started those errors?
Yeah, I've already bisected Mesa. Its commits (which appear next to
each other in history) are:

1) The one making wine 1.5.17 slow:
97217a40f97cdeae0304798b607f704deb0c3558 is the first bad commit
commit 97217a40f97cdeae0304798b607f704deb0c3558
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Apr 17 13:55:08 2013 -0700

    i915: Always enable GL 2.0 support.

    There's no point in shipping a non-GL2 driver today.

:040000 040000 d039f68bbc5a5e610adbeb3d310350a844911fea
efac289465401566fec6063b544c0a844e302559 M      src

2) The one leading to GL_INVALID_FRAMEBUFFER_OPERATION:
4df1b986d3e44dc035227054000a1d0e1846ef07 is the first bad commit
commit 4df1b986d3e44dc035227054000a1d0e1846ef07
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Apr 17 19:10:29 2013 -0700

    i915: Add support for GL_EXT_texture_sRGB and GL_EXT_texture_sRGB_decode.

    This brings the driver up to GL 2.1.

:040000 040000 efac289465401566fec6063b544c0a844e302559
5bd49114ce64a359f4a0e3673ec27ca01590adbc M      src


I'm bisecting wine now to find which commit starts
GL_INVALID_FRAMEBUFFER_OPERATION error.
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQIcBAEBAgAGBQJS5mTVAAoJEN0/YqbEcdMwViwP/3iPmbKEtH/5BBcNLg/IqxGJ
> sie+Qn2Yibp+LBf2iYPqshjDKAHBNXiaiMKqTKG8GWzGC235K/Nqc0QoV2sFRRJW
> EiroXisQlG6AupmWKqzqldSVYC93tehCQdp982Rk3XYENQmmsuE+OSwMwXAg32ji
> 8gKSrZ7EYwT2b4NYy79o7p/KiR5+nO/Mwm7m8wNYLoYPPjQ3yk95pxPxlNlsuAZw
> eEeDRNU7lXtIGrYsO+xpA4saCW93vZp2rUqXLlQjAMdOi2HU3F5R7jmsLn/pqvJV
> rIawm53PMP7bauUcB926StXYwW8yLeEHAbGtER4t2nJKf9tHNrNNKD0Q8CwrpE1F
> fKwMJDHx5YVkeftADm2OiX4PNKflvwfeKTeib9ChCP7ApXbulbRi3Qx/n7Al+ZWv
> 6THEBaSS9PlxvPQQ1zwSduATfAMKsMulxDz6I0SPclVTnFTmMcfLxcNtFIHsjkCR
> US7Q6hKGHfqLO/OQEdpiJ/4KlQmXrkQkWj0VOwnsBmWjBFv02Q/8Xoj4i50f7Qev
> 7KadSvgpgAg5Yu468jBbiVwxibxaxNQZNuJgFUnDfMyMdwBYXD613Ngnm1GriOUO
> F+MWvaCKpMK4zsAYIZg366GTjH7XqANVZ1vaCruoAdmB6r39A3/mMiS5kmPoPLP5
> /6tpS/N9eJfBOVyzv9Au
> =q+e8
> -----END PGP SIGNATURE-----



More information about the wine-devel mailing list