util: add allow_glsl_builtin_const_expression to drirc for Google Earth VR
[mesa.git] / src / util / drirc
1 <!--
2
3 ============================================
4 Application bugs worked around in this file:
5 ============================================
6
7 * Unigine Heaven 3.0 and older contain too many bugs and can't be supported
8 by drivers that want to be compliant.
9
10 * Various Unigine products don't use the #version and #extension GLSL
11 directives, meaning they only get GLSL 1.10 and no extensions for their
12 shaders.
13 Enabling all extensions for Unigine fixes most issues, but the GLSL version
14 is still 1.10.
15
16 * If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
17 an #extension directive in the middle of its shaders, which is illegal
18 in GLSL.
19
20 * Dying Light and Dead Island Definitive Edition redeclare vertex shader
21 built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
22 to compile.
23
24 TODO: document the other workarounds.
25
26 -->
27
28 <driconf>
29 <!-- Please always enable app-specific workarounds for all drivers and
30 screens. -->
31 <device>
32 <application name="Unigine Sanctuary" executable="Sanctuary">
33 <option name="force_glsl_extensions_warn" value="true" />
34 <option name="disable_blend_func_extended" value="true" />
35 </application>
36
37 <application name="Unigine Tropics" executable="Tropics">
38 <option name="force_glsl_extensions_warn" value="true" />
39 <option name="disable_blend_func_extended" value="true" />
40 </application>
41
42 <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
43 <option name="allow_glsl_extension_directive_midshader" value="true" />
44 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
45 <option name="dual_color_blend_by_location" value="true" />
46 </application>
47
48 <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
49 <option name="allow_glsl_extension_directive_midshader" value="true" />
50 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
51 <option name="dual_color_blend_by_location" value="true" />
52 </application>
53
54 <application name="Unigine Valley (32-bit)" executable="valley_x86">
55 <option name="allow_glsl_extension_directive_midshader" value="true" />
56 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
57 <option name="dual_color_blend_by_location" value="true" />
58 </application>
59
60 <application name="Unigine Valley (64-bit)" executable="valley_x64">
61 <option name="allow_glsl_extension_directive_midshader" value="true" />
62 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
63 <option name="dual_color_blend_by_location" value="true" />
64 </application>
65
66 <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
67 <option name="disable_blend_func_extended" value="true" />
68 <option name="allow_glsl_extension_directive_midshader" value="true" />
69 </application>
70
71 <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
72 <option name="disable_blend_func_extended" value="true" />
73 <option name="allow_glsl_extension_directive_midshader" value="true" />
74 </application>
75
76 <application name="Savage 2" executable="savage2.bin">
77 <option name="disable_glsl_line_continuations" value="true" />
78 </application>
79
80 <application name="Topogun (32-bit)" executable="topogun32">
81 <option name="always_have_depth_buffer" value="true" />
82 </application>
83
84 <application name="Topogun (64-bit)" executable="topogun64">
85 <option name="always_have_depth_buffer" value="true" />
86 </application>
87
88 <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
89 <option name="allow_glsl_extension_directive_midshader" value="true" />
90
91 <!-- For the Definitive Edition which shares the same executable name -->
92 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
93 </application>
94
95 <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
96 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
97 </application>
98
99 <application name="Dying Light" executable="DyingLightGame">
100 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
101 </application>
102
103 <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
104 <option name="allow_glsl_extension_directive_midshader" value="true" />
105 </application>
106
107 <application name="Warsow (32-bit)" executable="warsow.i386">
108 <option name="allow_glsl_extension_directive_midshader" value="true" />
109 </application>
110
111 <application name="Warsow (64-bit)" executable="warsow.x86_64">
112 <option name="allow_glsl_extension_directive_midshader" value="true" />
113 </application>
114
115 <application name="Rust" executable="rust">
116 <option name="glsl_zero_init" value="true"/>
117 </application>
118
119 <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
120 <option name="allow_glsl_extension_directive_midshader" value="true" />
121 </application>
122
123 <application name="Worms W.M.D" executable="Worms W.M.Dx64">
124 <option name="allow_higher_compat_version" value="true" />
125 </application>
126
127 <application name="Crookz - The Big Heist" executable="Crookz">
128 <option name="allow_higher_compat_version" value="true" />
129 </application>
130
131 <application name="Tropico 5" executable="Tropico5">
132 <option name="allow_higher_compat_version" value="true" />
133 </application>
134
135 <application name="The Culling" executable="Victory">
136 <option name="force_glsl_version" value="440" />
137 </application>
138
139 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
140 <option name="force_glsl_abs_sqrt" value="true" />
141 </application>
142
143 <application name="Spec Ops: The Line (64-bit)" executable="specops">
144 <option name="force_glsl_abs_sqrt" value="true" />
145 </application>
146
147 <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
148 <option name="glsl_zero_init" value="true"/>
149 </application>
150
151 <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
152 <option name="glsl_zero_init" value="true"/>
153 </application>
154
155 <application name="Rocket League" executable="RocketLeague">
156 <option name="glsl_correct_derivatives_after_discard" value="true"/>
157 </application>
158
159 <application name="The Witcher 2" executable="witcher2">
160 <option name="glsl_correct_derivatives_after_discard" value="true"/>
161 </application>
162
163 <application name="Unreal 4 Editor" executable="UE4Editor">
164 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
165 </application>
166
167 <application name="Observer" executable="TheObserver-Linux-Shipping">
168 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
169 </application>
170
171 <application name="Steamroll" executable="Steamroll-Linux-Shipping">
172 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
173 </application>
174
175 <application name="Refunct" executable="Refunct-Linux-Shipping">
176 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
177 </application>
178
179 <application name="Google Earth VR" executable="Earth.exe">
180 <option name="allow_glsl_builtin_const_expression" value="true"/>
181 </application>
182
183 <!-- The GL thread whitelist is below, workarounds are above.
184 Keep it that way. -->
185
186 <application name="Alien Isolation" executable="AlienIsolation">
187 <option name="mesa_glthread" value="true"/>
188 </application>
189
190 <application name="BioShock Infinite" executable="bioshock.i386">
191 <option name="mesa_glthread" value="true"/>
192 </application>
193
194 <application name="Borderlands 2" executable="Borderlands2">
195 <option name="mesa_glthread" value="true"/>
196 </application>
197
198 <application name="Civilization 5" executable="Civ5XP">
199 <option name="mesa_glthread" value="true"/>
200 </application>
201 <application name="Civilization 6" executable="Civ6">
202 <option name="mesa_glthread" value="true"/>
203 </application>
204
205 <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
206 <option name="mesa_glthread" value="true"/>
207 </application>
208
209 <application name="Hitman" executable="HitmanPro">
210 <option name="mesa_glthread" value="true"/>
211 </application>
212
213 <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
214 <option name="mesa_glthread" value="true"/>
215 </application>
216
217 <application name="Saints Row 2" executable="saintsrow2.i386">
218 <option name="mesa_glthread" value="true"/>
219 </application>
220 <application name="Saints Row: The Third" executable="SaintsRow3.i386">
221 <option name="mesa_glthread" value="true"/>
222 </application>
223 <application name="Saints Row IV" executable="SaintsRow4.i386">
224 <option name="mesa_glthread" value="true"/>
225 </application>
226 <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
227 <option name="mesa_glthread" value="true"/>
228 </application>
229
230 <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
231 <option name="mesa_glthread" value="true"/>
232 </application>
233
234 <application name="The Witcher 2" executable="witcher2">
235 <option name="mesa_glthread" value="true"/>
236 </application>
237
238 <application name="American Truck Simulator" executable="amtrucks">
239 <option name="mesa_glthread" value="true"/>
240 </application>
241 <application name="Euro Truck Simulator 2" executable="eurotrucks2">
242 <option name="mesa_glthread" value="true"/>
243 </application>
244
245 <application name="Overlord" executable="overlord.i386">
246 <option name="mesa_glthread" value="true"/>
247 </application>
248 <application name="Overlord 2" executable="overlord2.i386">
249 <option name="mesa_glthread" value="true"/>
250 </application>
251
252 <application name="Oil Rush" executable="OilRush_x86">
253 <option name="mesa_glthread" value="true"/>
254 </application>
255
256 <application name="War Thunder" executable="aces">
257 <option name="mesa_glthread" value="true"/>
258 </application>
259 <application name="War Thunder (Wine)" executable="aces.exe">
260 <option name="mesa_glthread" value="true"/>
261 </application>
262
263 <application name="Outlast" executable="OLGame.x86_64">
264 <option name="mesa_glthread" value="true"/>
265 </application>
266
267 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
268 <option name="mesa_glthread" value="true"/>
269 </application>
270 <application name="Spec Ops: The Line (64-bit)" executable="specops">
271 <option name="mesa_glthread" value="true"/>
272 </application>
273 <application name="Mount and Blade Warband" executable="mb_warband_linux">
274 <option name="mesa_glthread" value="true"/>
275 </application>
276
277 <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
278 <application name="Medieval II: Total War" executable="Medieval2">
279 <option name="mesa_glthread" value="true"/>
280 </application>
281
282 <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
283 <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
284 <option name="mesa_glthread" value="true"/>
285 </application>
286
287 <!-- around 30% increase in avg fps -->
288 <application name="Far Cry 2 (wine)" executable="farcry2.exe">
289 <option name="mesa_glthread" value="true"/>
290 </application>
291 </device>
292 <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
293 <device driver="vmwgfx">
294 <application name="gnome-shell" executable="gnome-shell">
295 <option name="glx_disable_ext_buffer_age" value="true" />
296 <option name="glx_disable_oml_sync_control" value="true" />
297 <option name="glx_disable_sgi_video_sync" value="true" />
298 </application>
299 <application name="Compiz" executable="Compiz">
300 <option name="glx_disable_ext_buffer_age" value="true" />
301 <option name="glx_disable_oml_sync_control" value="true" />
302 </application>
303 </device>
304 <device driver="radeonsi">
305 <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
306 <option name="radeonsi_clear_db_cache_before_clear" value="true" />
307 </application>
308 </device>
309 </driconf>