[Bug 40978] New: Wrong colors on i915 and similar GPUs in GTA Vice City
https://bugs.winehq.org/show_bug.cgi?id=40978 Bug ID: 40978 Summary: Wrong colors on i915 and similar GPUs in GTA Vice City Product: Wine Version: 1.9.14 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs(a)winehq.org Reporter: b7.10110111(a)gmail.com Distribution: --- Created attachment 55135 --> https://bugs.winehq.org/attachment.cgi?id=55135 Screenshot of wrong colors When trying to run GTAVC on a i915 machine (this also affects Intel Atom N550, since its GPU has similar architecture), the colors are messed up, and menu screen is blinking. I've tracked the problem down to lack of support of GL_EXT_vertex_array_bgra on i915. I can reproduce it on my Haswell GPU by using MESA_EXTENSION_OVERRIDE=-GL_EXT_vertex_array_bgra. (FWIW, i915 supports GL_ARB_vertex_program, which might be used as a substitute. Although it's not completely HW accelerated, but should be better than pure SW implementation.) This game worked successfully with wine 1.5.9. I'll try to bisect wine to find the bad commit, but apparently there've been lots of breakages with different symptoms for i915 between wine versions 1.5.9 and 1.9.14, so bisection may be unsuccessful. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #1 from Ruslan Kabatsayev <b7.10110111(a)gmail.com> --- Created attachment 55136 --> https://bugs.winehq.org/attachment.cgi?id=55136 How it should look Here's a screenshot of how it should look. While in the game menu shown here the colors are only slightly different, in the actual game they are so messed up that sky is orange-brown instead of the correct blue. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Ruslan Kabatsayev <b7.10110111(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #2 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to Ruslan Kabatsayev from comment #0)
I've tracked the problem down to lack of support of GL_EXT_vertex_array_bgra on i915. I can reproduce it on my Haswell GPU by using MESA_EXTENSION_OVERRIDE=-GL_EXT_vertex_array_bgra. (FWIW, i915 supports GL_ARB_vertex_program, which might be used as a substitute. Although it's not completely HW accelerated, but should be better than pure SW implementation.)
It's certainly possible that the fallback path broke somewhere along the way, since EXT_vertex_array_bgra is so common these days. That would of course be a legitimate regression. What's odd about this is that I was under the impression that i915 supported EXT_vertex_array_bgra, although it's been long enough since I last touched i915 hardware that I could simply be wrong about that. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Ruslan Kabatsayev <b7.10110111(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral(a)gmail.com Regression SHA1| |4189d297760166951641baf6172 | |a1ef708863855 --- Comment #3 from Ruslan Kabatsayev <b7.10110111(a)gmail.com> --- Here's the bisection result: 4189d297760166951641baf6172a1ef708863855 is the first bad commit commit 4189d297760166951641baf6172a1ef708863855 Author: Matteo Bruni <mbruni(a)codeweavers.com> Date: Thu Jun 11 23:13:42 2015 +0200 wined3d: Avoid the builtin GLSL vertex attributes. :040000 040000 0c552c7676b3f5c9e10a5609cd43f9624f33a7f7 f12c6f8287d6dfd6fef0d669e6c2ded23dd128a8 M dlls -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #4 from Ruslan Kabatsayev <b7.10110111(a)gmail.com> --- Note: the whole bisection was done on a Haswell GPU with this command: MESA_EXTENSION_OVERRIDE=-GL_EXT_vertex_array_bgra wine explorer /desktop=g,1280x1024 gta-vc.exe So if you have access to a modern Mesa-driven GPU, you can also test and debug this. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #5 from Henri Verbeet <hverbeet(a)gmail.com> --- Oh, my guess would be that it's because previously it would use diffuse_d3dcolor(), etc. for loading D3DCOLOR attributes, and now it would use the generic vertex loading code. But the generic vertex loading code assumes the vertex shader takes care of any needed swizzling. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #6 from Ruslan Kabatsayev <b7.10110111(a)gmail.com> --- Doesn't support for vertex shaders in fact make GL_EXT_vertex_array_bgra redundant? Maybe to unify the code it'd make more sense to do the swizzles in the shader unconditionally? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #7 from Henri Verbeet <hverbeet(a)gmail.com> --- Does this work any better with current git? b62f4139eda58e8e25cbc58864fcea2599a20e97 in particular may have helped. (In reply to Ruslan Kabatsayev from comment #6)
Doesn't support for vertex shaders in fact make GL_EXT_vertex_array_bgra redundant? Maybe to unify the code it'd make more sense to do the swizzles in the shader unconditionally?
We need EXT_vertex_array_bgra for hardware that can't do GLSL, and it's a little nicer than doing swizzles in the shader. For what it's worth, I don't think there's any reason i915 couldn't support EXT_vertex_array_bgra, it should be fairly straightforward to add for someone familiar with the driver. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #8 from Ruslan Kabatsayev <b7.10110111(a)gmail.com> --- (In reply to Henri Verbeet from comment #7)
Does this work any better with current git? b62f4139eda58e8e25cbc58864fcea2599a20e97 in particular may have helped. This is somewhat harder to test currently due to bug 41055, since no textures are present in the game at all. But the untextured quads do seem to have correct colors.
-- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 winetest(a)luukku.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest(a)luukku.com --- Comment #9 from winetest(a)luukku.com --- (In reply to Ruslan Kabatsayev from comment #8)
(In reply to Henri Verbeet from comment #7)
Does this work any better with current git? b62f4139eda58e8e25cbc58864fcea2599a20e97 in particular may have helped. This is somewhat harder to test currently due to bug 41055, since no textures are present in the game at all. But the untextured quads do seem to have correct colors.
Now the other bug is marked fixed. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 --- Comment #10 from Ruslan Kabatsayev <b7.10110111(a)gmail.com> --- (In reply to winetest from comment #9)
Now the other bug is marked fixed.
Thanks for reminder. I've tested with 1.9.24, the colors are correct now. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED --- Comment #11 from Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- Reported as fixed -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Matteo Bruni <matteo.mystral(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b62f4139eda58e8e25cbc58864f | |cea2599a20e97 -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #12 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 2.0-rc2. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Michael Stefaniuc <mstefani(a)redhat.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.8.x -- 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.
https://bugs.winehq.org/show_bug.cgi?id=40978 Michael Stefaniuc <mstefani(a)redhat.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |--- --- Comment #13 from Michael Stefaniuc <mstefani(a)redhat.com> --- Removing 1.8.x milestone from bugs included in 1.8.7. -- 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.
participants (1)
-
wine-bugs@winehq.org