drirc: Initial blacklist for adaptive sync
[mesa.git] / src / util / 00-mesa-defaults.conf
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 * Applications that are not suitable for adapative sync are blacklisted here.
25
26 TODO: document the other workarounds.
27
28 -->
29
30 <driconf>
31 <!-- Please always enable app-specific workarounds for all drivers and
32 screens. -->
33 <device>
34 <application name="Unigine Sanctuary" executable="Sanctuary">
35 <option name="force_glsl_extensions_warn" value="true" />
36 <option name="disable_blend_func_extended" value="true" />
37 </application>
38
39 <application name="Unigine Tropics" executable="Tropics">
40 <option name="force_glsl_extensions_warn" value="true" />
41 <option name="disable_blend_func_extended" value="true" />
42 </application>
43
44 <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
45 <option name="allow_glsl_extension_directive_midshader" value="true" />
46 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
47 <option name="dual_color_blend_by_location" value="true" />
48 </application>
49
50 <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
51 <option name="allow_glsl_extension_directive_midshader" value="true" />
52 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
53 <option name="dual_color_blend_by_location" value="true" />
54 </application>
55
56 <application name="Unigine Valley (32-bit)" executable="valley_x86">
57 <option name="allow_glsl_extension_directive_midshader" value="true" />
58 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
59 <option name="dual_color_blend_by_location" value="true" />
60 </application>
61
62 <application name="Unigine Valley (64-bit)" executable="valley_x64">
63 <option name="allow_glsl_extension_directive_midshader" value="true" />
64 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
65 <option name="dual_color_blend_by_location" value="true" />
66 </application>
67
68 <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
69 <option name="disable_blend_func_extended" value="true" />
70 <option name="allow_glsl_extension_directive_midshader" value="true" />
71 </application>
72
73 <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
74 <option name="disable_blend_func_extended" value="true" />
75 <option name="allow_glsl_extension_directive_midshader" value="true" />
76 </application>
77
78 <application name="Savage 2" executable="savage2.bin">
79 <option name="disable_glsl_line_continuations" value="true" />
80 </application>
81
82 <application name="Topogun (32-bit)" executable="topogun32">
83 <option name="always_have_depth_buffer" value="true" />
84 </application>
85
86 <application name="Topogun (64-bit)" executable="topogun64">
87 <option name="always_have_depth_buffer" value="true" />
88 </application>
89
90 <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
91 <option name="allow_glsl_extension_directive_midshader" value="true" />
92
93 <!-- For the Definitive Edition which shares the same executable name -->
94 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
95 </application>
96
97 <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
98 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
99 </application>
100
101 <application name="Dying Light" executable="DyingLightGame">
102 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
103 </application>
104
105 <application name="RAGE (64-bit)" executable="Rage64.exe">
106 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
107 </application>
108
109 <application name="RAGE (32-bit)" executable="Rage.exe">
110 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
111 </application>
112
113 <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
114 <option name="allow_glsl_extension_directive_midshader" value="true" />
115 </application>
116
117 <application name="Warsow (32-bit)" executable="warsow.i386">
118 <option name="allow_glsl_extension_directive_midshader" value="true" />
119 </application>
120
121 <application name="Warsow (64-bit)" executable="warsow.x86_64">
122 <option name="allow_glsl_extension_directive_midshader" value="true" />
123 </application>
124
125 <application name="Rust" executable="rust">
126 <option name="glsl_zero_init" value="true"/>
127 </application>
128
129 <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
130 <option name="allow_glsl_extension_directive_midshader" value="true" />
131 </application>
132
133 <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
134 <option name="allow_glsl_extension_directive_midshader" value="true" />
135 </application>
136
137 <application name="Worms W.M.D" executable="Worms W.M.Dx64">
138 <option name="allow_higher_compat_version" value="true" />
139 </application>
140
141 <application name="Crookz - The Big Heist" executable="Crookz">
142 <option name="allow_higher_compat_version" value="true" />
143 </application>
144
145 <application name="Tropico 5" executable="Tropico5">
146 <option name="allow_higher_compat_version" value="true" />
147 </application>
148
149 <application name="The Culling" executable="Victory">
150 <option name="force_glsl_version" value="440" />
151 </application>
152
153 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
154 <option name="force_glsl_abs_sqrt" value="true" />
155 </application>
156
157 <application name="Spec Ops: The Line (64-bit)" executable="specops">
158 <option name="force_glsl_abs_sqrt" value="true" />
159 </application>
160
161 <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
162 <option name="glsl_zero_init" value="true"/>
163 </application>
164
165 <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
166 <option name="glsl_zero_init" value="true"/>
167 </application>
168
169 <application name="Rocket League" executable="RocketLeague">
170 <option name="glsl_correct_derivatives_after_discard" value="true"/>
171 </application>
172
173 <application name="The Witcher 2" executable="witcher2">
174 <option name="glsl_correct_derivatives_after_discard" value="true"/>
175 </application>
176
177 <application name="Unreal 4 Editor" executable="UE4Editor">
178 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
179 </application>
180
181 <application name="Observer" executable="TheObserver-Linux-Shipping">
182 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
183 </application>
184
185 <application name="Steamroll" executable="Steamroll-Linux-Shipping">
186 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
187 </application>
188
189 <application name="Refunct" executable="Refunct-Linux-Shipping">
190 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
191 </application>
192
193 <application name="Google Earth VR" executable="Earth.exe">
194 <option name="allow_glsl_builtin_const_expression" value="true"/>
195 <option name="allow_glsl_relaxed_es" value="true"/>
196 </application>
197
198 <application name="No Mans Sky" executable="NMS.exe">
199 <option name="force_glsl_extensions_warn" value="true" />
200 <option name="allow_glsl_layout_qualifier_on_function_parameters" value="true" />
201 </application>
202
203 <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
204 <option name="force_compat_profile" value="true" />
205 </application>
206
207 <application name="ARMA 3" executable="arma3.x86_64">
208 <option name="glsl_correct_derivatives_after_discard" value="true"/>
209 </application>
210
211 <!-- The GL thread whitelist is below, workarounds are above.
212 Keep it that way. -->
213
214 <application name="Alien Isolation" executable="AlienIsolation">
215 <option name="mesa_glthread" value="true"/>
216 </application>
217
218 <application name="BioShock Infinite" executable="bioshock.i386">
219 <option name="mesa_glthread" value="true"/>
220 </application>
221
222 <application name="Borderlands 2" executable="Borderlands2">
223 <option name="mesa_glthread" value="true"/>
224 </application>
225
226 <application name="Civilization 5" executable="Civ5XP">
227 <option name="mesa_glthread" value="true"/>
228 </application>
229 <application name="Civilization 6" executable="Civ6">
230 <option name="mesa_glthread" value="true"/>
231 </application>
232
233 <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
234 <option name="mesa_glthread" value="true"/>
235 </application>
236
237 <application name="Hitman" executable="HitmanPro">
238 <option name="mesa_glthread" value="true"/>
239 </application>
240
241 <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
242 <option name="mesa_glthread" value="true"/>
243 </application>
244
245 <application name="Saints Row 2" executable="saintsrow2.i386">
246 <option name="mesa_glthread" value="true"/>
247 </application>
248 <application name="Saints Row: The Third" executable="SaintsRow3.i386">
249 <option name="mesa_glthread" value="true"/>
250 </application>
251 <application name="Saints Row IV" executable="SaintsRow4.i386">
252 <option name="mesa_glthread" value="true"/>
253 </application>
254 <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
255 <option name="mesa_glthread" value="true"/>
256 </application>
257
258 <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
259 <option name="mesa_glthread" value="true"/>
260 </application>
261
262 <application name="The Witcher 2" executable="witcher2">
263 <option name="mesa_glthread" value="true"/>
264 </application>
265
266 <application name="American Truck Simulator" executable="amtrucks">
267 <option name="mesa_glthread" value="true"/>
268 </application>
269 <application name="Euro Truck Simulator 2" executable="eurotrucks2">
270 <option name="mesa_glthread" value="true"/>
271 </application>
272
273 <application name="Overlord" executable="overlord.i386">
274 <option name="mesa_glthread" value="true"/>
275 </application>
276 <application name="Overlord 2" executable="overlord2.i386">
277 <option name="mesa_glthread" value="true"/>
278 </application>
279
280 <application name="Oil Rush" executable="OilRush_x86">
281 <option name="mesa_glthread" value="true"/>
282 </application>
283
284 <application name="War Thunder" executable="aces">
285 <option name="mesa_glthread" value="true"/>
286 </application>
287 <application name="War Thunder (Wine)" executable="aces.exe">
288 <option name="mesa_glthread" value="true"/>
289 </application>
290
291 <application name="Outlast" executable="OLGame.x86_64">
292 <option name="mesa_glthread" value="true"/>
293 </application>
294
295 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
296 <option name="mesa_glthread" value="true"/>
297 </application>
298 <application name="Spec Ops: The Line (64-bit)" executable="specops">
299 <option name="mesa_glthread" value="true"/>
300 </application>
301 <application name="Mount and Blade Warband" executable="mb_warband_linux">
302 <option name="mesa_glthread" value="true"/>
303 </application>
304
305 <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
306 <application name="Medieval II: Total War" executable="Medieval2">
307 <option name="mesa_glthread" value="true"/>
308 </application>
309
310 <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
311 <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
312 <option name="mesa_glthread" value="true"/>
313 </application>
314
315 <!-- around 30% increase in avg fps -->
316 <application name="Far Cry 2 (wine)" executable="farcry2.exe">
317 <option name="mesa_glthread" value="true"/>
318 </application>
319
320 <application name="Talos Principle" executable="Talos">
321 <option name="mesa_glthread" value="true"/>
322 </application>
323 <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted">
324 <option name="mesa_glthread" value="true"/>
325 </application>
326
327 <!-- Adaptive sync blacklist follows below: -->
328 <application name="gnome-shell" executable="gnome-shell">
329 <option name="adaptive_sync" value="false" />
330 </application>
331 <application name="Desktop — Plasma" executable="plasmashell">
332 <option name="adaptive_sync" value="false" />
333 </application>
334 <application name="kwin_x11" executable="kwin_x11">
335 <option name="adaptive_sync" value="false" />
336 </application>
337 <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
338 <option name="adaptive_sync" value="false" />
339 </application>
340 <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
341 <option name="adaptive_sync" value="false" />
342 </application>
343 <application name="kscreenlocker_greet" executable="kscreenlocker_greet">
344 <option name="adaptive_sync" value="false" />
345 </application>
346 <application name="startplasma" executable="startplasma">
347 <option name="adaptive_sync" value="false" />
348 </application>
349 <application name="krunner" executable="krunner">
350 <option name="adaptive_sync" value="false" />
351 </application>
352 <application name="marco" executable="marco">
353 <option name="adaptive_sync" value="false" />
354 </application>
355 <application name="compton" executable="compton">
356 <option name="adaptive_sync" value="false" />
357 </application>
358 <application name="xfwm4" executable="xfwm4">
359 <option name="adaptive_sync" value="false" />
360 </application>
361 <application name="Enlightenment" executable="enlightenment">
362 <option name="adaptive_sync" value="false" />
363 </application>
364 <application name="mutter" executable="mutter">
365 <option name="adaptive_sync" value="false" />
366 </application>
367 <application name="muffin" executable="muffin">
368 <option name="adaptive_sync" value="false" />
369 </application>
370 <application name="compiz" executable="compiz">
371 <option name="adaptive_sync" value="false" />
372 </application>
373 <application name="Firefox" executable="firefox">
374 <option name="adaptive_sync" value="false" />
375 </application>
376 <application name="Firefox ESR" executable="firefox-esr">
377 <option name="adaptive_sync" value="false" />
378 </application>
379 <application name="Chromium" executable="chromium">
380 <option name="adaptive_sync" value="false" />
381 </application>
382 <application name="Google Chrome" executable="chrome">
383 <option name="adaptive_sync" value="false" />
384 </application>
385 <application name="Iceweasel" executable="iceweasel">
386 <option name="adaptive_sync" value="false" />
387 </application>
388 <application name="Epiphany" executable="epiphany">
389 <option name="adaptive_sync" value="false" />
390 </application>
391 <application name="Konqueror" executable="konqueror">
392 <option name="adaptive_sync" value="false" />
393 </application>
394 <application name="Seamonkey" executable="seamonkey">
395 <option name="adaptive_sync" value="false" />
396 </application>
397 <application name="VLC Media Player" executable="vlc">
398 <option name="adaptive_sync" value="false" />
399 </application>
400 <application name="Totem" executable="totem">
401 <option name="adaptive_sync" value="false" />
402 </application>
403 <application name="Dragon Player" executable="dragon">
404 <option name="adaptive_sync" value="false" />
405 </application>
406 <application name="mpv" executable="mpv">
407 <option name="adaptive_sync" value="false" />
408 </application>
409 </device>
410 <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
411 <device driver="vmwgfx">
412 <application name="gnome-shell" executable="gnome-shell">
413 <option name="glx_disable_ext_buffer_age" value="true" />
414 <option name="glx_disable_oml_sync_control" value="true" />
415 <option name="glx_disable_sgi_video_sync" value="true" />
416 </application>
417 <application name="Compiz" executable="Compiz">
418 <option name="glx_disable_ext_buffer_age" value="true" />
419 <option name="glx_disable_oml_sync_control" value="true" />
420 </application>
421 </device>
422 <device driver="radeonsi">
423 <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
424 <option name="radeonsi_clear_db_cache_before_clear" value="true" />
425 </application>
426 <application name="No Mans Sky" executable="NMS.exe">
427 <option name="radeonsi_zerovram" value="true" />
428 </application>
429 </device>
430 </driconf>