summaryrefslogtreecommitdiffstats
path: root/src/util/drirc
blob: 30ac9c839be57eb4e2a661408dd41d5753b23554 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
<!--

============================================
Application bugs worked around in this file:
============================================

* Unigine Heaven 3.0 and older contain too many bugs and can't be supported
  by drivers that want to be compliant.

* Various Unigine products don't use the #version and #extension GLSL
  directives, meaning they only get GLSL 1.10 and no extensions for their
  shaders.
  Enabling all extensions for Unigine fixes most issues, but the GLSL version
  is still 1.10.

* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
  an #extension directive in the middle of its shaders, which is illegal
  in GLSL.

* Dying Light and Dead Island Definitive Edition redeclare vertex shader
  built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
  to compile.

TODO: document the other workarounds.

-->

<driconf>
    <!-- Please always enable app-specific workarounds for all drivers and
         screens. -->
    <device>
        <application name="Unigine Sanctuary" executable="Sanctuary">
            <option name="force_glsl_extensions_warn" value="true" />
            <option name="disable_blend_func_extended" value="true" />
        </application>

        <application name="Unigine Tropics" executable="Tropics">
            <option name="force_glsl_extensions_warn" value="true" />
            <option name="disable_blend_func_extended" value="true" />
        </application>

        <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
            <option name="dual_color_blend_by_location" value="true" />
        </application>

        <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
            <option name="dual_color_blend_by_location" value="true" />
        </application>

        <application name="Unigine Valley (32-bit)" executable="valley_x86">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
            <option name="dual_color_blend_by_location" value="true" />
        </application>

        <application name="Unigine Valley (64-bit)" executable="valley_x64">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
            <option name="dual_color_blend_by_location" value="true" />
        </application>

        <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
            <option name="disable_blend_func_extended" value="true" />
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
            <option name="disable_blend_func_extended" value="true" />
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Savage 2" executable="savage2.bin">
            <option name="disable_glsl_line_continuations" value="true" />
        </application>

        <application name="Topogun (32-bit)" executable="topogun32">
            <option name="always_have_depth_buffer" value="true" />
        </application>

        <application name="Topogun (64-bit)" executable="topogun64">
            <option name="always_have_depth_buffer" value="true" />
        </application>

        <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
            <option name="allow_glsl_extension_directive_midshader" value="true" />

            <!-- For the Definitive Edition which shares the same executable name -->
            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
        </application>

        <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
        </application>

        <application name="Dying Light" executable="DyingLightGame">
            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
        </application>

        <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Warsow (32-bit)" executable="warsow.i386">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Warsow (64-bit)" executable="warsow.x86_64">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Rust" executable="rust">
            <option name="glsl_zero_init" value="true"/>
        </application>

        <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Worms W.M.D" executable="Worms W.M.Dx64">
            <option name="allow_higher_compat_version" value="true" />
        </application>

        <application name="Crookz - The Big Heist" executable="Crookz">
            <option name="allow_higher_compat_version" value="true" />
        </application>

        <application name="Tropico 5" executable="Tropico5">
            <option name="allow_higher_compat_version" value="true" />
        </application>

        <application name="The Culling" executable="Victory">
            <option name="force_glsl_version" value="440" />
        </application>

        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
            <option name="force_glsl_abs_sqrt" value="true" />
        </application>

        <application name="Spec Ops: The Line (64-bit)" executable="specops">
            <option name="force_glsl_abs_sqrt" value="true" />
        </application>

        <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
            <option name="glsl_zero_init" value="true"/>
        </application>

        <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
            <option name="glsl_zero_init" value="true"/>
        </application>

        <application name="Rocket League" executable="RocketLeague">
            <option name="glsl_correct_derivatives_after_discard" value="true"/>
        </application>

        <application name="The Witcher 2" executable="witcher2">
            <option name="glsl_correct_derivatives_after_discard" value="true"/>
        </application>

        <!-- The GL thread whitelist is below, workarounds are above.
             Keep it that way. -->

        <application name="Alien Isolation" executable="AlienIsolation">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Civilization 6" executable="Civ6">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="BioShock Infinite" executable="bioshock.i386">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Borderlands 2" executable="Borderlands2">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Civilization 5" executable="Civ5XP">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="The Witcher 2" executable="witcher2">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="American Truck Simulator" executable="amtrucks">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Euro Truck Simulator 2" executable="eurotrucks2">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Overlord" executable="overlord.i386">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Overlord 2" executable="overlord2.i386">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Oil Rush" executable="OilRush_x86">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="War Thunder" executable="aces">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="Saints Row 2" executable="saintsrow2.i386">
            <option name="mesa_glthread" value="true"/>
        </application>
        <application name="War Thunder (Wine)" executable="aces.exe">
            <option name="mesa_glthread" value="true"/>
        </application>
    </device>
    <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
    <device driver="vmwgfx">
        <application name="gnome-shell" executable="gnome-shell">
            <option name="glx_disable_ext_buffer_age" value="true" />
            <option name="glx_disable_oml_sync_control" value="true" />
        </application>
	<application name="Compiz" executable="Compiz">
            <option name="glx_disable_ext_buffer_age" value="true" />
	    <option name="glx_disable_oml_sync_control" value="true" />
        </application>
    </device>
</driconf>