1<?xml version="1.0" standalone="yes"?>
2<!--
3
4============================================
5Application bugs worked around in this file:
6============================================
7
8* Unigine Heaven 3.0 and older contain too many bugs and can't be supported
9  by drivers that want to be compliant.
10
11* Various Unigine products don't use the #version and #extension GLSL
12  directives, meaning they only get GLSL 1.10 and no extensions for their
13  shaders.
14  Enabling all extensions for Unigine fixes most issues, but the GLSL version
15  is still 1.10.
16
17* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
18  an #extension directive in the middle of its shaders, which is illegal
19  in GLSL.
20
21* Dying Light and Dead Island Definitive Edition redeclare vertex shader
22  built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
23  to compile.
24
25* Applications that are not suitable for adapative sync are blacklisted here.
26
27TODO: document the other workarounds.
28
29-->
30
31<!DOCTYPE driconf [
32   <!ELEMENT driconf      (device+)>
33   <!ELEMENT device       (application | engine)+>
34   <!ATTLIST device       driver CDATA #IMPLIED>
35   <!ELEMENT application  (option+)>
36   <!ATTLIST application  name CDATA #REQUIRED
37                          executable CDATA #IMPLIED
38                          sha1 CDATA #IMPLIED
39                          application_name_match CDATA #IMPLIED
40                          application_versions CDATA #IMPLIED>
41   <!ELEMENT engine       (option+)>
42
43   <!-- engine_name_match: A regexp matching the engine name -->
44   <!-- engine_versions: A version in range format
45             (version 1 to 4 : "1:4") -->
46
47   <!ATTLIST engine       engine_name_match CDATA #REQUIRED
48                          engine_versions CDATA #REQUIRED>
49
50   <!ELEMENT option       EMPTY>
51   <!ATTLIST option       name CDATA #REQUIRED
52                          value CDATA #REQUIRED>
53]>
54
55<driconf>
56    <!-- Please always enable app-specific workarounds for all drivers and
57         screens. -->
58    <device>
59        <application name="Unigine Sanctuary" executable="Sanctuary">
60            <option name="force_glsl_extensions_warn" value="true" />
61            <option name="disable_blend_func_extended" value="true" />
62            <option name="disable_arb_gpu_shader5" value="true" />
63        </application>
64
65        <application name="Unigine Tropics" executable="Tropics">
66            <option name="force_glsl_extensions_warn" value="true" />
67            <option name="disable_blend_func_extended" value="true" />
68            <option name="disable_arb_gpu_shader5" value="true" />
69        </application>
70
71        <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
72            <option name="allow_glsl_extension_directive_midshader" value="true" />
73            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
74            <option name="dual_color_blend_by_location" value="true" />
75        </application>
76
77        <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
78            <option name="allow_glsl_extension_directive_midshader" value="true" />
79            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
80            <option name="dual_color_blend_by_location" value="true" />
81        </application>
82
83        <application name="Unigine Valley (32-bit)" executable="valley_x86">
84            <option name="allow_glsl_extension_directive_midshader" value="true" />
85            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
86            <option name="dual_color_blend_by_location" value="true" />
87        </application>
88
89        <application name="Unigine Valley (64-bit)" executable="valley_x64">
90            <option name="allow_glsl_extension_directive_midshader" value="true" />
91            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
92            <option name="dual_color_blend_by_location" value="true" />
93        </application>
94
95        <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
96            <option name="disable_blend_func_extended" value="true" />
97            <option name="allow_glsl_extension_directive_midshader" value="true" />
98        </application>
99
100        <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
101            <option name="disable_blend_func_extended" value="true" />
102            <option name="allow_glsl_extension_directive_midshader" value="true" />
103        </application>
104
105        <application name="Savage 2" executable="savage2.bin">
106            <option name="disable_glsl_line_continuations" value="true" />
107        </application>
108
109        <application name="Topogun (32-bit)" executable="topogun32">
110            <option name="always_have_depth_buffer" value="true" />
111        </application>
112
113        <application name="Topogun (64-bit)" executable="topogun64">
114            <option name="always_have_depth_buffer" value="true" />
115        </application>
116
117        <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
118            <option name="allow_glsl_extension_directive_midshader" value="true" />
119
120            <!-- For the Definitive Edition which shares the same executable name -->
121            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
122        </application>
123
124        <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
125            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
126        </application>
127
128        <application name="Doom 3: BFG" executable="Doom3BFG.exe">
129            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
130            <option name="force_glsl_extensions_warn" value="true" />
131        </application>
132
133        <application name="Dying Light" executable="DyingLightGame">
134            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
135        </application>
136
137        <application name="RAGE (64-bit)" executable="Rage64.exe">
138            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
139        </application>
140
141        <application name="RAGE (32-bit)" executable="Rage.exe">
142            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
143        </application>
144
145        <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
146            <option name="allow_glsl_extension_directive_midshader" value="true" />
147        </application>
148
149        <application name="Warsow (32-bit)" executable="warsow.i386">
150            <option name="allow_glsl_extension_directive_midshader" value="true" />
151        </application>
152
153        <application name="Warsow (64-bit)" executable="warsow.x86_64">
154            <option name="allow_glsl_extension_directive_midshader" value="true" />
155        </application>
156
157        <application name="Rust" executable="rust">
158            <option name="glsl_zero_init" value="true"/>
159        </application>
160
161        <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
162            <option name="allow_glsl_extension_directive_midshader" value="true" />
163            <option name="glsl_correct_derivatives_after_discard" value="true" />
164            <option name="force_gl_vendor" value="ATI Technologies, Inc."/>
165        </application>
166
167        <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
168            <option name="allow_glsl_extension_directive_midshader" value="true" />
169        </application>
170
171        <application name="Worms W.M.D" executable="Worms W.M.Dx64">
172            <option name="allow_higher_compat_version" value="true" />
173        </application>
174
175        <application name="Crookz - The Big Heist" executable="Crookz">
176            <option name="allow_higher_compat_version" value="true" />
177        </application>
178
179        <application name="Tropico 5" executable="Tropico5">
180            <option name="allow_higher_compat_version" value="true" />
181        </application>
182
183	<application name="Faster than Light (32-bit)" executable="FTL.x86">
184            <option name="allow_higher_compat_version" value="true" />
185        </application>
186
187	<application name="Faster than Light (64-bit)" executable="FTL.amd64">
188            <option name="allow_higher_compat_version" value="true" />
189        </application>
190
191        <application name="Final Fantasy VIII: Remastered" executable="FFVIII.exe">
192            <option name="allow_higher_compat_version" value="true" />
193        </application>
194
195	<application name="The Culling" executable="Victory">
196            <option name="force_glsl_version" value="440" />
197        </application>
198
199        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
200            <option name="force_glsl_abs_sqrt" value="true" />
201        </application>
202
203        <application name="Spec Ops: The Line (64-bit)" executable="specops">
204            <option name="force_glsl_abs_sqrt" value="true" />
205        </application>
206
207        <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
208            <option name="glsl_zero_init" value="true"/>
209        </application>
210
211        <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
212            <option name="glsl_zero_init" value="true"/>
213        </application>
214
215        <application name="Rocket League" executable="RocketLeague">
216            <option name="glsl_correct_derivatives_after_discard" value="true"/>
217        </application>
218
219        <application name="The Witcher 2" executable="witcher2">
220            <option name="glsl_correct_derivatives_after_discard" value="true"/>
221        </application>
222
223        <application name="Unreal 4 Editor" executable="UE4Editor">
224            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
225        </application>
226
227        <application name="Observer" executable="TheObserver-Linux-Shipping">
228            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
229        </application>
230
231        <application name="Steamroll" executable="Steamroll-Linux-Shipping">
232            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
233        </application>
234
235        <application name="Refunct" executable="Refunct-Linux-Shipping">
236            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
237        </application>
238
239        <application name="Google Earth VR" executable="Earth.exe">
240            <option name="allow_glsl_builtin_const_expression" value="true"/>
241            <option name="allow_glsl_relaxed_es" value="true"/>
242        </application>
243
244        <application name="Champions of Regnum" executable="game">
245            <option name="allow_extra_pp_tokens" value="true" />
246        </application>
247
248        <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
249            <option name="force_compat_profile" value="true" />
250        </application>
251
252        <application name="ARMA 3" executable="arma3.x86_64">
253            <option name="glsl_correct_derivatives_after_discard" value="true"/>
254        </application>
255
256        <application name="Epic Games Launcher" executable="EpicGamesLauncher.exe">
257            <option name="force_compat_profile" value="true" />
258        </application>
259
260        <application name="GpuTest" executable="GpuTest">
261            <!-- GiMark benchmark from GpuTest does not initialize .w channel of
262                 lightDir0 and lightDir1 varyings in the vertex shader while
263                 uses it in the fragment shader. -->
264            <option name="glsl_zero_init" value="true"/>
265        </application>
266
267        <application name="Curse of the Dead Gods" executable="Curse of the Dead Gods.exe">
268            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2598 -->
269            <option name="glsl_zero_init" value="true" />
270        </application>
271
272        <application name="GRID Autosport" executable="GridAutosport">
273            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 -->
274            <option name="force_integer_tex_nearest" value="true" />
275        </application>
276
277        <application name="DIRT: Showdown" executable="dirt.i386">
278            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 -->
279            <option name="force_integer_tex_nearest" value="true" />
280        </application>
281
282        <!-- Workarounds for SPECviewperf relying on invalid / non-conformant
283             OpenGL behavior. Older SPECviewperf versions might also need this.
284          -->
285        <application name="SPECviewperf13" executable="viewperf">
286            <option name="allow_glsl_extension_directive_midshader" value="true" />
287            <option name="allow_glsl_120_subset_in_110" value="true" />
288            <option name="force_gl_names_reuse" value="true" />
289            <!-- This makes it use GL_NVX_gpu_memory_info to query memory info
290                 instead of non-existent GLX_AMD_gpu_association. Yes, it checks
291                 the vendor string, not the extension list. -->
292            <option name="force_gl_vendor" value="NVIDIA Corporation" />
293            <!-- creo-02 doesn't enable GL_EXT_shader_image_load_store in GLSL -->
294            <option name="force_glsl_extensions_warn" value="true" />
295        </application>
296
297        <!-- The GL thread allowlist is below, workarounds are above.
298             Keep it that way. -->
299
300        <application name="Alien Isolation" executable="AlienIsolation">
301            <option name="mesa_glthread" value="true"/>
302        </application>
303
304        <application name="BioShock Infinite" executable="bioshock.i386">
305            <option name="mesa_glthread" value="true"/>
306        </application>
307
308        <application name="Borderlands 2" executable="Borderlands2">
309            <option name="mesa_glthread" value="true"/>
310        </application>
311
312        <application name="Civilization 5" executable="Civ5XP">
313            <option name="mesa_glthread" value="true"/>
314        </application>
315        <application name="Civilization 6" executable="Civ6">
316            <option name="mesa_glthread" value="true"/>
317        </application>
318        <application name="Civilization 6" executable="Civ6Sub">
319            <option name="mesa_glthread" value="true"/>
320        </application>
321
322        <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
323            <option name="mesa_glthread" value="true"/>
324        </application>
325
326        <application name="Hitman" executable="HitmanPro">
327            <option name="mesa_glthread" value="true"/>
328        </application>
329
330        <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
331            <option name="mesa_glthread" value="true"/>
332        </application>
333
334        <application name="Saints Row 2" executable="saintsrow2.i386">
335            <option name="mesa_glthread" value="true"/>
336        </application>
337        <application name="Saints Row: The Third" executable="SaintsRow3.i386">
338            <option name="mesa_glthread" value="true"/>
339        </application>
340        <application name="Saints Row IV" executable="SaintsRow4.i386">
341            <option name="mesa_glthread" value="true"/>
342        </application>
343        <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
344            <option name="mesa_glthread" value="true"/>
345        </application>
346
347        <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
348            <option name="mesa_glthread" value="true"/>
349        </application>
350
351        <application name="The Witcher 2" executable="witcher2">
352            <option name="mesa_glthread" value="true"/>
353        </application>
354
355        <application name="American Truck Simulator" executable="amtrucks">
356            <option name="mesa_glthread" value="true"/>
357        </application>
358        <application name="Euro Truck Simulator 2" executable="eurotrucks2">
359            <option name="mesa_glthread" value="true"/>
360        </application>
361
362        <application name="Overlord" executable="overlord.i386">
363            <option name="mesa_glthread" value="true"/>
364        </application>
365        <application name="Overlord 2" executable="overlord2.i386">
366            <option name="mesa_glthread" value="true"/>
367        </application>
368
369        <application name="Oil Rush" executable="OilRush_x86">
370            <option name="mesa_glthread" value="true"/>
371        </application>
372
373        <application name="War Thunder" executable="aces">
374            <option name="mesa_glthread" value="true"/>
375        </application>
376        <application name="War Thunder (Wine)" executable="aces.exe">
377            <option name="mesa_glthread" value="true"/>
378        </application>
379
380        <application name="Outlast" executable="OLGame.x86_64">
381            <option name="mesa_glthread" value="true"/>
382        </application>
383
384        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
385            <option name="mesa_glthread" value="true"/>
386        </application>
387        <application name="Spec Ops: The Line (64-bit)" executable="specops">
388            <option name="mesa_glthread" value="true"/>
389        </application>
390        <application name="Mount and Blade Warband" executable="mb_warband_linux">
391            <option name="mesa_glthread" value="true"/>
392        </application>
393
394        <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
395        <application name="Medieval II: Total War" executable="Medieval2">
396            <option name="mesa_glthread" value="true"/>
397        </application>
398
399        <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
400        <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
401            <option name="mesa_glthread" value="true"/>
402        </application>
403
404        <!-- around 30% increase in avg fps -->
405        <application name="Far Cry 2 (wine)" executable="farcry2.exe">
406            <option name="mesa_glthread" value="true"/>
407        </application>
408
409        <application name="Talos Principle" executable="Talos">
410            <option name="mesa_glthread" value="true"/>
411        </application>
412        <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted">
413            <option name="mesa_glthread" value="true"/>
414        </application>
415
416        <!-- roughly 30% increase in fps -->
417        <application name="7 Days To Die (64-bit)" executable="7DaysToDie.x86_64">
418            <option name="mesa_glthread" value="true"/>
419        </application>
420        <application name="7 Days To Die (32-bit)" executable="7DaysToDie.x86">
421            <option name="mesa_glthread" value="true"/>
422        </application>
423
424        <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. -->
425        <application name="Dolphin Emulator" executable="dolphin-emu">
426            <option name="mesa_glthread" value="true"/>
427        </application>
428        <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt">
429            <option name="mesa_glthread" value="true"/>
430        </application>
431        <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu">
432            <option name="mesa_glthread" value="true"/>
433        </application>
434        <application name="RPCS3" executable="rpcs3">
435            <option name="mesa_glthread" value="true"/>
436        </application>
437        <application name="PCSX2" executable="PCSX2">
438            <option name="mesa_glthread" value="true"/>
439        </application>
440
441        <application name="From The Depths" executable="From_The_Depths.x86_64">
442            <option name="mesa_glthread" value="true"/>
443        </application>
444
445        <!-- #Minimum fps 136 ==> 144 -->
446        <application name="Plague Inc Evolved (32-bit)" executable="PlagueIncEvolved.x86">
447            <option name="mesa_glthread" value="true" />
448        </application>
449        <application name="Plague Inc Evolved (64-bit)" executable="PlagueIncEvolved.x86_64">
450            <option name="mesa_glthread" value="true" />
451        </application>
452
453        <!-- 10% fps increase -->
454        <application name="Beholder (32-bit)" executable="Beholder.x86">
455            <option name="mesa_glthread" value="true" />
456        </application>
457        <application name="Beholder (64-bit)" executable="Beholder.x86_64">
458            <option name="mesa_glthread" value="true" />
459        </application>
460
461        <!-- X3 games: 15% avg fps increase while flying in space -->
462        <application name="X3 Reunion" executable="X3R_main">
463            <option name="mesa_glthread" value="true" />
464        </application>
465        <application name="X3 Terran Conflict" executable="X3TR_main">
466            <option name="mesa_glthread" value="true" />
467        </application>
468        <application name="X3 Albion Prelude" executable="X3AP_main">
469            <option name="mesa_glthread" value="true" />
470        </application>
471
472        <!-- +30% avg fps -->
473        <application name="Borderlands: The Pre-Sequel" executable="BorderlandsPreSequel">
474            <option name="mesa_glthread" value="true" />
475        </application>
476        <application name="Transport Fever" executable="TransportFever">
477            <option name="mesa_glthread" value="true" />
478        </application>
479
480        <!-- Adaptive sync denylist follows below: -->
481        <application name="gnome-shell" executable="gnome-shell">
482            <option name="adaptive_sync" value="false" />
483        </application>
484        <application name="DesktopPlasma" executable="plasmashell">
485            <option name="adaptive_sync" value="false" />
486        </application>
487        <application name="budgie-wm" executable="budgie-wm">
488            <option name="adaptive_sync" value="false" />
489        </application>
490        <application name="kwin_x11" executable="kwin_x11">
491            <option name="adaptive_sync" value="false" />
492        </application>
493        <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
494            <option name="adaptive_sync" value="false" />
495        </application>
496        <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
497            <option name="adaptive_sync" value="false" />
498        </application>
499        <application name="kscreenlocker_greet" executable="kscreenlocker_greet">
500            <option name="adaptive_sync" value="false" />
501        </application>
502        <application name="startplasma" executable="startplasma">
503            <option name="adaptive_sync" value="false" />
504        </application>
505        <application name="sddm-greeter" executable="sddm-greeter">
506            <option name="adaptive_sync" value="false" />
507        </application>
508        <application name="krunner" executable="krunner">
509            <option name="adaptive_sync" value="false" />
510        </application>
511        <application name="spectacle" executable="spectacle">
512            <option name="adaptive_sync" value="false" />
513        </application>
514        <application name="marco" executable="marco">
515            <option name="adaptive_sync" value="false" />
516        </application>
517        <application name="compton" executable="compton">
518            <option name="adaptive_sync" value="false" />
519        </application>
520        <application name="picom" executable="picom">
521            <option name="adaptive_sync" value="false" />
522        </application>
523        <application name="xfwm4" executable="xfwm4">
524            <option name="adaptive_sync" value="false" />
525        </application>
526        <application name="Enlightenment" executable="enlightenment">
527            <option name="adaptive_sync" value="false" />
528        </application>
529        <application name="mutter" executable="mutter">
530            <option name="adaptive_sync" value="false" />
531        </application>
532        <application name="muffin" executable="muffin">
533            <option name="adaptive_sync" value="false" />
534        </application>
535        <application name="compiz" executable="compiz">
536            <option name="adaptive_sync" value="false" />
537        </application>
538        <application name="Firefox" executable="firefox">
539            <option name="adaptive_sync" value="false" />
540        </application>
541        <application name="Firefox ESR" executable="firefox-esr">
542            <option name="adaptive_sync" value="false" />
543        </application>
544        <application name="Chromium" executable="chromium">
545            <option name="adaptive_sync" value="false" />
546        </application>
547        <application name="Google Chrome" executable="chrome">
548            <option name="adaptive_sync" value="false" />
549        </application>
550        <application name="Iceweasel" executable="iceweasel">
551            <option name="adaptive_sync" value="false" />
552        </application>
553        <application name="Epiphany" executable="epiphany">
554            <option name="adaptive_sync" value="false" />
555        </application>
556        <application name="Konqueror" executable="konqueror">
557            <option name="adaptive_sync" value="false" />
558        </application>
559        <application name="Falkon" executable="falkon">
560            <option name="adaptive_sync" value="false" />
561        </application>
562        <application name="Seamonkey" executable="seamonkey">
563            <option name="adaptive_sync" value="false" />
564        </application>
565        <application name="Waterfox" executable="waterfox">
566            <option name="adaptive_sync" value="false" />
567        </application>
568        <application name="VLC Media Player" executable="vlc">
569            <option name="adaptive_sync" value="false" />
570        </application>
571        <application name="Totem" executable="totem">
572            <option name="adaptive_sync" value="false" />
573        </application>
574        <application name="Dragon Player" executable="dragon">
575            <option name="adaptive_sync" value="false" />
576        </application>
577        <application name="mpv" executable="mpv">
578            <option name="adaptive_sync" value="false" />
579        </application>
580        <application name="Xorg" executable="Xorg">
581            <option name="v3d_nonmsaa_texture_size_limit" value="true" />
582        </application>
583
584        <application name="gfxbench" executable="testfw_app">
585            <option name="vk_x11_override_min_image_count" value="2" />
586            <option name="vk_wsi_force_bgra8_unorm_first" value="true" />
587        </application>
588
589        <application name="Brink" executable="brink.exe">
590            <option name="glx_extension_override" value="-GLX_OML_swap_method" />
591            <option name="allow_higher_compat_version" value="true" />
592        </application>
593
594        <!-- Gallium Nine workarounds: -->
595        <application name="Rayman Legends" executable="Rayman Legends.exe">
596            <option name="dynamic_texture_workaround" value="true" />
597        </application>
598
599        <!-- Vulkan workarounds: -->
600
601        <!-- Works around the game not starting (does not deal with
602             the implementation returning more images than the minimum
603             specified by the application. -->
604        <engine engine_name_match="UnrealEngine4.*" engine_versions="0:23">
605            <option name="vk_x11_strict_image_count" value="true" />
606        </engine>
607
608        <!-- DOOM crashes at startup without this workaround if the adaptative sync mode is enabled. -->
609        <application name="DOOM" executable="DOOMx64vk.exe">
610            <option name="vk_x11_strict_image_count" value="true" />
611        </application>
612
613        <!-- DOOM Doom Eternal happily creates a swapchain with 2 images for
614             IMMEDIATE. This fixes a 10% performance issue with RADV. -->
615        <application name="DOOMEternal" executable="DOOMEternalx64vk.exe">
616            <option name="vk_x11_ensure_min_image_count" value="true" />
617        </application>
618    </device>
619    <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
620    <device driver="vmwgfx">
621        <application name="gnome-shell" executable="gnome-shell">
622            <option name="glx_disable_ext_buffer_age" value="true" />
623            <option name="glx_disable_oml_sync_control" value="true" />
624            <option name="glx_disable_sgi_video_sync" value="true" />
625        </application>
626        <application name="Compiz" executable="Compiz">
627            <option name="glx_disable_ext_buffer_age" value="true" />
628            <option name="glx_disable_oml_sync_control" value="true" />
629        </application>
630    </device>
631    <device driver="radeonsi">
632        <application name="Alien Isolation" executable="AlienIsolation">
633            <option name="force_gl_vendor" value="X.Org" />
634        </application>
635        <application name="American Truck Simulator" executable="amtrucks">
636            <option name="radeonsi_zerovram" value="true" />
637        </application>
638        <application name="Counter-Strike Global Offensive" executable="csgo_linux64">
639            <option name="radeonsi_zerovram" value="true" />
640            <option name="radeonsi_clamp_div_by_zero" value="true" />
641        </application>
642        <application name="Rocket League" executable="RocketLeague">
643            <option name="radeonsi_zerovram" value="true" />
644        </application>
645        <application name="DiRT Rally" executable="DirtRally">
646            <option name="radeonsi_prim_restart_tri_strips_only" value="true"/>
647        </application>
648        <application name="Gfx Bench" executable="gfxbench_gl">
649            <!-- Helps offscreen tests -->
650            <option name="mesa_glthread" value="true"/>
651        </application>
652        <!-- YoYo game engine workarounds -->
653        <application name="Monolith demo5" executable="runner" sha1="0c40d509a74e357f0280cb1bd882e9cd94b91bdf">
654            <option name="radeonsi_sync_compile" value="true" />
655            <option name="radeonsi_zerovram" value="true" />
656        </application>
657        <application name="Memoranda" executable="runner" sha1="aa13dec6af63c88f308ebb487693896434a4db56">
658            <option name="radeonsi_sync_compile" value="true" />
659        </application>
660        <application name="Undertale" executable="runner" sha1="dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff">
661            <option name="radeonsi_sync_compile" value="true" />
662        </application>
663        <application name="Turmoil" executable="runner" sha1="cbbf757aaab289859f8dae191a7d63afc30643d9">
664            <option name="radeonsi_sync_compile" value="true" />
665        </application>
666        <application name="Peace, Death!" executable="runner" sha1="5b909f3d21799773370adf084f649848f098234e">
667            <option name="radeonsi_sync_compile" value="true" />
668        </application>
669        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647 -->
670        <application name="Kerbal Space Program" executable="KSP.x86_64">
671            <option name="radeonsi_no_infinite_interp" value="true" />
672        </application>
673        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 -->
674        <application name="7 Days to Die" executable="7DaysToDie.x86_64">
675            <option name="radeonsi_zerovram" value="true" />
676        </application>
677        <application name="7 Days to Die" executable="7DaysToDie.x86">
678            <option name="radeonsi_zerovram" value="true" />
679        </application>
680        <application name="SPECviewperf13" executable="viewperf">
681            <option name="radeonsi_sync_compile" value="true" />
682            <option name="radeonsi_clamp_div_by_zero" value="true" />
683        </application>
684        <application name="Road Redemption" executable="RoadRedemption.x86_64">
685            <option name="radeonsi_clamp_div_by_zero" value="true" />
686        </application>
687        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3233 -->
688        <application name="Total War: WARHAMMER" executable="TotalWarhammer">
689            <option name="radeonsi_no_trunc_coord" value="true" />
690        </application>
691        <application name="Wasteland 2" executable="WL2">
692            <option name="radeonsi_clamp_div_by_zero" value="true" />
693        </application>
694    </device>
695    <device driver="i965">
696        <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor">
697            <option name="vs_position_always_invariant" value="true" />
698        </application>
699    </device>
700    <device driver="iris">
701        <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor">
702            <option name="vs_position_always_invariant" value="true" />
703        </application>
704    </device>
705    <device driver="radv">
706        <application name="Shadow Of The Tomb Raider" executable="ShadowOfTheTombRaider">
707            <option name="radv_report_llvm9_version_string" value="true" />
708	</application>
709
710	<application name="RAGE 2" executable="RAGE2.exe">
711            <option name="radv_enable_mrt_output_nan_fixup" value="true" />
712        </application>
713
714        <application name="Path of Exile (64-bit, Steam)" executable="PathOfExile_x64Steam.exe">
715            <option name="radv_no_dynamic_bounds" value="true" />
716        </application>
717        <application name="Path of Exile (32-bit, Steam)" executable="PathOfExileSteam.exe">
718            <option name="radv_no_dynamic_bounds" value="true" />
719        </application>
720        <application name="Path of Exile (64-bit)" executable="PathOfExile_x64.exe">
721            <option name="radv_no_dynamic_bounds" value="true" />
722        </application>
723        <application name="Path of Exile (32-bit)" executable="PathOfExile.exe">
724            <option name="radv_no_dynamic_bounds" value="true" />
725        </application>
726
727	<application name="World War Z" application_name_match="WWZ">
728            <option name="radv_override_uniform_offset_alignment" value="16" />
729        </application>
730    </device>
731</driconf>
732