[Bug 44560] Cossacks 3: black units & trees (on AMD GPU)
WineHQ Bugzilla
wine-bugs at winehq.org
Mon Jun 27 09:39:31 CDT 2022
https://bugs.winehq.org/show_bug.cgi?id=44560
Paul Gofman <pgofman at codeweavers.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pgofman at codeweavers.com
--- Comment #14 from Paul Gofman <pgofman at codeweavers.com> ---
The black units are due to a few GLSL shaders are failing to compile because
the game uses implicit float to integer conversion for it and not specifying
'#version 120' or anything else appropriate. It works with some drivers but not
with Mesa. It doesn't seem to be a way to fix it in Wine in a non-hacky way.
There is Mesa compat option for the issue concerned by this bug
(allow_glsl_120_subset_in_110) which is already enabled for some games and can
be enabled for Cossacks 3 by adding the following into
/usr/share/drirc.d/00-mesa-defaults.conf into driconf/device section:
<application name="Cossacks 3" executable="cossacks.exe">
<option name="allow_glsl_120_subset_in_110" value="true" />
</application>
Instead of editing system wide dri.conf file it can be copied to $HOME/.drirc
(that is a file, not directory) and edited there, that file takes precedence.
I suppose this can in principle be suggested as an option in Mesa's default
dri.conf file to Mesa.
I made a hack in Proton fixing it on the way of another issue with Cossacks 3:
https://github.com/ValveSoftware/wine/commit/4985f64197c10cbc74d2bb305190c1699425a16c
That hack is fixing disappearing units issue on AMD (I could not find a Winehq
bug for that) in the first place for which I didn't find a better way around
rather than fixing up the shaders, so added '#version 120' there too on the
way.
--
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