18a1362adSmaya<?xml version="1.0" standalone="yes"?>
201e04c3fSmrg<!--
301e04c3fSmrg
401e04c3fSmrg============================================
501e04c3fSmrgApplication bugs worked around in this file:
601e04c3fSmrg============================================
701e04c3fSmrg
801e04c3fSmrg* Unigine Heaven 3.0 and older contain too many bugs and can't be supported
901e04c3fSmrg  by drivers that want to be compliant.
1001e04c3fSmrg
1101e04c3fSmrg* Various Unigine products don't use the #version and #extension GLSL
1201e04c3fSmrg  directives, meaning they only get GLSL 1.10 and no extensions for their
1301e04c3fSmrg  shaders.
1401e04c3fSmrg  Enabling all extensions for Unigine fixes most issues, but the GLSL version
1501e04c3fSmrg  is still 1.10.
1601e04c3fSmrg
1701e04c3fSmrg* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
1801e04c3fSmrg  an #extension directive in the middle of its shaders, which is illegal
1901e04c3fSmrg  in GLSL.
2001e04c3fSmrg
2101e04c3fSmrg* Dying Light and Dead Island Definitive Edition redeclare vertex shader
2201e04c3fSmrg  built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
2301e04c3fSmrg  to compile.
2401e04c3fSmrg
257ec681f3Smrg* Applications that are not suitable for adapative sync are denylisted here.
268a1362adSmaya
2701e04c3fSmrgTODO: document the other workarounds.
2801e04c3fSmrg
2901e04c3fSmrg-->
3001e04c3fSmrg
318a1362adSmaya<!DOCTYPE driconf [
328a1362adSmaya   <!ELEMENT driconf      (device+)>
337ec681f3Smrg   <!ELEMENT device       (application | engine)+>
347ec681f3Smrg   <!ATTLIST device       driver CDATA #IMPLIED
357ec681f3Smrg                          device CDATA #IMPLIED>
368a1362adSmaya   <!ELEMENT application  (option+)>
378a1362adSmaya   <!ATTLIST application  name CDATA #REQUIRED
387ec681f3Smrg                          executable CDATA #IMPLIED
397ec681f3Smrg                          sha1 CDATA #IMPLIED
407ec681f3Smrg                          application_name_match CDATA #IMPLIED
417ec681f3Smrg                          application_versions CDATA #IMPLIED>
427ec681f3Smrg   <!ELEMENT engine       (option+)>
437ec681f3Smrg
447ec681f3Smrg   <!-- engine_name_match: A regexp matching the engine name -->
457ec681f3Smrg   <!-- engine_versions: A version in range format
467ec681f3Smrg             (version 1 to 4 : "1:4") -->
477ec681f3Smrg
487ec681f3Smrg   <!ATTLIST engine       engine_name_match CDATA #REQUIRED
497ec681f3Smrg                          engine_versions CDATA #IMPLIED>
507ec681f3Smrg
518a1362adSmaya   <!ELEMENT option       EMPTY>
528a1362adSmaya   <!ATTLIST option       name CDATA #REQUIRED
538a1362adSmaya                          value CDATA #REQUIRED>
548a1362adSmaya]>
558a1362adSmaya
5601e04c3fSmrg<driconf>
5701e04c3fSmrg    <!-- Please always enable app-specific workarounds for all drivers and
5801e04c3fSmrg         screens. -->
5901e04c3fSmrg    <device>
6001e04c3fSmrg        <application name="Unigine Sanctuary" executable="Sanctuary">
6101e04c3fSmrg            <option name="force_glsl_extensions_warn" value="true" />
6201e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
637ec681f3Smrg            <option name="disable_arb_gpu_shader5" value="true" />
6401e04c3fSmrg        </application>
6501e04c3fSmrg
6601e04c3fSmrg        <application name="Unigine Tropics" executable="Tropics">
6701e04c3fSmrg            <option name="force_glsl_extensions_warn" value="true" />
6801e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
697ec681f3Smrg            <option name="disable_arb_gpu_shader5" value="true" />
7001e04c3fSmrg        </application>
7101e04c3fSmrg
7201e04c3fSmrg        <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
7301e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
7401e04c3fSmrg            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
7501e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
7601e04c3fSmrg        </application>
7701e04c3fSmrg
7801e04c3fSmrg        <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
7901e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
8001e04c3fSmrg            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
8101e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
8201e04c3fSmrg        </application>
8301e04c3fSmrg
8401e04c3fSmrg        <application name="Unigine Valley (32-bit)" executable="valley_x86">
8501e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
8601e04c3fSmrg            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
8701e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
8801e04c3fSmrg        </application>
8901e04c3fSmrg
9001e04c3fSmrg        <application name="Unigine Valley (64-bit)" executable="valley_x64">
9101e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
9201e04c3fSmrg            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
9301e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
9401e04c3fSmrg        </application>
9501e04c3fSmrg
9601e04c3fSmrg        <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
9701e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
9801e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
9901e04c3fSmrg        </application>
10001e04c3fSmrg
10101e04c3fSmrg        <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
10201e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
10301e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
10401e04c3fSmrg        </application>
10501e04c3fSmrg
10601e04c3fSmrg        <application name="Savage 2" executable="savage2.bin">
10701e04c3fSmrg            <option name="disable_glsl_line_continuations" value="true" />
10801e04c3fSmrg        </application>
10901e04c3fSmrg
11001e04c3fSmrg        <application name="Topogun (32-bit)" executable="topogun32">
11101e04c3fSmrg            <option name="always_have_depth_buffer" value="true" />
11201e04c3fSmrg        </application>
11301e04c3fSmrg
11401e04c3fSmrg        <application name="Topogun (64-bit)" executable="topogun64">
11501e04c3fSmrg            <option name="always_have_depth_buffer" value="true" />
11601e04c3fSmrg        </application>
11701e04c3fSmrg
11801e04c3fSmrg        <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
11901e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
12001e04c3fSmrg
12101e04c3fSmrg            <!-- For the Definitive Edition which shares the same executable name -->
12201e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
12301e04c3fSmrg        </application>
12401e04c3fSmrg
12501e04c3fSmrg        <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
12601e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
12701e04c3fSmrg        </application>
12801e04c3fSmrg
1298a1362adSmaya        <application name="Doom 3: BFG" executable="Doom3BFG.exe">
1308a1362adSmaya            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
1318a1362adSmaya            <option name="force_glsl_extensions_warn" value="true" />
1328a1362adSmaya        </application>
1338a1362adSmaya
13401e04c3fSmrg        <application name="Dying Light" executable="DyingLightGame">
13501e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
13601e04c3fSmrg        </application>
13701e04c3fSmrg
1387ec681f3Smrg        <application name="Full Bore" executable="fullbore">
1397ec681f3Smrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
1407ec681f3Smrg        </application>
1417ec681f3Smrg
14201e04c3fSmrg        <application name="RAGE (64-bit)" executable="Rage64.exe">
14301e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
14401e04c3fSmrg        </application>
14501e04c3fSmrg
14601e04c3fSmrg        <application name="RAGE (32-bit)" executable="Rage.exe">
14701e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
14801e04c3fSmrg        </application>
14901e04c3fSmrg
15001e04c3fSmrg        <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
15101e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
15201e04c3fSmrg        </application>
15301e04c3fSmrg
15401e04c3fSmrg        <application name="Warsow (32-bit)" executable="warsow.i386">
15501e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
15601e04c3fSmrg        </application>
15701e04c3fSmrg
15801e04c3fSmrg        <application name="Warsow (64-bit)" executable="warsow.x86_64">
15901e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
16001e04c3fSmrg        </application>
16101e04c3fSmrg
16201e04c3fSmrg        <application name="Rust" executable="rust">
16301e04c3fSmrg            <option name="glsl_zero_init" value="true"/>
16401e04c3fSmrg        </application>
16501e04c3fSmrg
16601e04c3fSmrg        <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
16701e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
1687ec681f3Smrg            <option name="glsl_correct_derivatives_after_discard" value="true" />
1697ec681f3Smrg            <option name="force_gl_vendor" value="ATI Technologies, Inc."/>
17001e04c3fSmrg        </application>
17101e04c3fSmrg
17201e04c3fSmrg        <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
17301e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
17401e04c3fSmrg        </application>
17501e04c3fSmrg
17601e04c3fSmrg        <application name="Worms W.M.D" executable="Worms W.M.Dx64">
17701e04c3fSmrg            <option name="allow_higher_compat_version" value="true" />
17801e04c3fSmrg        </application>
17901e04c3fSmrg
18001e04c3fSmrg        <application name="Crookz - The Big Heist" executable="Crookz">
18101e04c3fSmrg            <option name="allow_higher_compat_version" value="true" />
18201e04c3fSmrg        </application>
18301e04c3fSmrg
18401e04c3fSmrg        <application name="Tropico 5" executable="Tropico5">
18501e04c3fSmrg            <option name="allow_higher_compat_version" value="true" />
18601e04c3fSmrg        </application>
18701e04c3fSmrg
1887ec681f3Smrg        <application name="Faster than Light (32-bit)" executable="FTL.x86">
1897ec681f3Smrg            <option name="allow_higher_compat_version" value="true" />
1907ec681f3Smrg        </application>
1917ec681f3Smrg
1927ec681f3Smrg        <application name="Faster than Light (64-bit)" executable="FTL.amd64">
1937ec681f3Smrg            <option name="allow_higher_compat_version" value="true" />
1947ec681f3Smrg        </application>
1957ec681f3Smrg
1967ec681f3Smrg        <application name="Final Fantasy VIII: Remastered" executable="FFVIII.exe">
1977ec681f3Smrg            <option name="allow_higher_compat_version" value="true" />
1987ec681f3Smrg        </application>
1997ec681f3Smrg
20001e04c3fSmrg        <application name="The Culling" executable="Victory">
20101e04c3fSmrg            <option name="force_glsl_version" value="440" />
20201e04c3fSmrg        </application>
20301e04c3fSmrg
20401e04c3fSmrg        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
20501e04c3fSmrg            <option name="force_glsl_abs_sqrt" value="true" />
20601e04c3fSmrg        </application>
20701e04c3fSmrg
20801e04c3fSmrg        <application name="Spec Ops: The Line (64-bit)" executable="specops">
20901e04c3fSmrg            <option name="force_glsl_abs_sqrt" value="true" />
21001e04c3fSmrg        </application>
21101e04c3fSmrg
21201e04c3fSmrg        <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
21301e04c3fSmrg            <option name="glsl_zero_init" value="true"/>
21401e04c3fSmrg        </application>
21501e04c3fSmrg
21601e04c3fSmrg        <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
21701e04c3fSmrg            <option name="glsl_zero_init" value="true"/>
21801e04c3fSmrg        </application>
21901e04c3fSmrg
2207ec681f3Smrg        <application name="Luna Sky" executable="lunasky">
2217ec681f3Smrg            <option name="force_glsl_version" value="130"/>
2227ec681f3Smrg            <option name="glsl_ignore_write_to_readonly_var" value="true"/>
2237ec681f3Smrg        </application>
2247ec681f3Smrg
22501e04c3fSmrg        <application name="Rocket League" executable="RocketLeague">
22601e04c3fSmrg            <option name="glsl_correct_derivatives_after_discard" value="true"/>
22701e04c3fSmrg        </application>
22801e04c3fSmrg
22901e04c3fSmrg        <application name="The Witcher 2" executable="witcher2">
23001e04c3fSmrg            <option name="glsl_correct_derivatives_after_discard" value="true"/>
23101e04c3fSmrg        </application>
23201e04c3fSmrg
23301e04c3fSmrg        <application name="Unreal 4 Editor" executable="UE4Editor">
23401e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
23501e04c3fSmrg        </application>
23601e04c3fSmrg
23701e04c3fSmrg        <application name="Observer" executable="TheObserver-Linux-Shipping">
23801e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
23901e04c3fSmrg        </application>
24001e04c3fSmrg
24101e04c3fSmrg        <application name="Steamroll" executable="Steamroll-Linux-Shipping">
24201e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
24301e04c3fSmrg        </application>
24401e04c3fSmrg
24501e04c3fSmrg        <application name="Refunct" executable="Refunct-Linux-Shipping">
24601e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
24701e04c3fSmrg        </application>
24801e04c3fSmrg
2497ec681f3Smrg        <application name="We Happy Few" executable="GlimpseGame">
2507ec681f3Smrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
2517ec681f3Smrg        </application>
2527ec681f3Smrg
25301e04c3fSmrg        <application name="Google Earth VR" executable="Earth.exe">
25401e04c3fSmrg            <option name="allow_glsl_builtin_const_expression" value="true"/>
25501e04c3fSmrg            <option name="allow_glsl_relaxed_es" value="true"/>
25601e04c3fSmrg        </application>
25701e04c3fSmrg
2587ec681f3Smrg        <application name="Champions of Regnum" executable="game">
2597ec681f3Smrg            <option name="allow_extra_pp_tokens" value="true" />
26001e04c3fSmrg        </application>
26101e04c3fSmrg
26201e04c3fSmrg        <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
26301e04c3fSmrg            <option name="force_compat_profile" value="true" />
26401e04c3fSmrg        </application>
26501e04c3fSmrg
26601e04c3fSmrg        <application name="ARMA 3" executable="arma3.x86_64">
26701e04c3fSmrg            <option name="glsl_correct_derivatives_after_discard" value="true"/>
26801e04c3fSmrg        </application>
26901e04c3fSmrg
2708a1362adSmaya        <application name="Epic Games Launcher" executable="EpicGamesLauncher.exe">
2718a1362adSmaya            <option name="force_compat_profile" value="true" />
2728a1362adSmaya        </application>
2738a1362adSmaya
2747ec681f3Smrg        <application name="GpuTest" executable="GpuTest">
2757ec681f3Smrg            <!-- GiMark benchmark from GpuTest does not initialize .w channel of
2767ec681f3Smrg                 lightDir0 and lightDir1 varyings in the vertex shader while
2777ec681f3Smrg                 uses it in the fragment shader. -->
2787ec681f3Smrg            <option name="glsl_zero_init" value="true"/>
2797ec681f3Smrg        </application>
2807ec681f3Smrg
2817ec681f3Smrg        <application name="Curse of the Dead Gods" executable="Curse of the Dead Gods.exe">
2827ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2598 -->
2837ec681f3Smrg            <option name="glsl_zero_init" value="true" />
2847ec681f3Smrg        </application>
2857ec681f3Smrg
2867ec681f3Smrg        <application name="GRID Autosport" executable="GridAutosport">
2877ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 -->
2887ec681f3Smrg            <option name="force_integer_tex_nearest" value="true" />
2897ec681f3Smrg        </application>
2907ec681f3Smrg
2917ec681f3Smrg        <application name="DIRT: Showdown" executable="dirt.i386">
2927ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 -->
2937ec681f3Smrg            <option name="force_integer_tex_nearest" value="true" />
2947ec681f3Smrg        </application>
2957ec681f3Smrg
2967ec681f3Smrg        <application name="DiRT Rally" executable="DirtRally">
2977ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5648 -->
2987ec681f3Smrg            <option name="vs_position_always_invariant" value="true" />
2997ec681f3Smrg        </application>
3007ec681f3Smrg
3017ec681f3Smrg        <!-- Workarounds for SPECviewperf relying on invalid / non-conformant
3027ec681f3Smrg             OpenGL behavior. Older SPECviewperf versions might also need this.
3037ec681f3Smrg          -->
3047ec681f3Smrg        <application name="SPECviewperf13" executable="viewperf">
3057ec681f3Smrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
3067ec681f3Smrg            <option name="allow_glsl_120_subset_in_110" value="true" />
3077ec681f3Smrg            <option name="force_gl_names_reuse" value="true" />
3087ec681f3Smrg            <!-- This makes it use GL_NVX_gpu_memory_info to query memory info
3097ec681f3Smrg                 instead of non-existent GLX_AMD_gpu_association. Yes, it checks
3107ec681f3Smrg                 the vendor string, not the extension list. -->
3117ec681f3Smrg            <option name="force_gl_vendor" value="NVIDIA Corporation" />
3127ec681f3Smrg            <!-- creo-02 doesn't enable GL_EXT_shader_image_load_store in GLSL -->
3137ec681f3Smrg            <option name="force_glsl_extensions_warn" value="true" />
3147ec681f3Smrg            <option name="allow_draw_out_of_order" value="true" />
3157ec681f3Smrg            <option name="mesa_glthread" value="true" />
3167ec681f3Smrg            <option name="mesa_no_error" value="true" />
3177ec681f3Smrg            <!-- Creating 10-bit pbuffers fails in the X server and returns BadAlloc. -->
3187ec681f3Smrg            <option name="allow_rgb10_configs" value="false" />
3197ec681f3Smrg        </application>
3207ec681f3Smrg
3217ec681f3Smrg        <!-- Workaround for unsynchronized VBO updates on Dead Cells android
3227ec681f3Smrg             game.  (Possibly also needed for desktop version?)
3237ec681f3Smrg         -->
3247ec681f3Smrg        <application name="Dead-Cells" executable="com.playdigious.deadcells.mobile">
3257ec681f3Smrg            <option name="ignore_map_unsynchronized" value="true" />
3267ec681f3Smrg        </application>
3277ec681f3Smrg
3287ec681f3Smrg        <application name="Teardown" executable="teardown.exe">
3297ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 -->
3307ec681f3Smrg            <option name="force_integer_tex_nearest" value="true" />
3317ec681f3Smrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
3327ec681f3Smrg        </application>
3337ec681f3Smrg
3347ec681f3Smrg        <application name="Golf With Your Friends" executable="Golf With Your Friends.x86_64">
3357ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/4547 -->
3367ec681f3Smrg            <option name="glsl_correct_derivatives_after_discard" value="true" />
3377ec681f3Smrg        </application>
3387ec681f3Smrg
3397ec681f3Smrg        <!-- The GL thread allowlist is below, workarounds are above.
34001e04c3fSmrg             Keep it that way. -->
34101e04c3fSmrg
34201e04c3fSmrg        <application name="Alien Isolation" executable="AlienIsolation">
34301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
34401e04c3fSmrg        </application>
34501e04c3fSmrg
34601e04c3fSmrg        <application name="BioShock Infinite" executable="bioshock.i386">
34701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
34801e04c3fSmrg        </application>
34901e04c3fSmrg
35001e04c3fSmrg        <application name="Borderlands 2" executable="Borderlands2">
35101e04c3fSmrg            <option name="mesa_glthread" value="true"/>
35201e04c3fSmrg        </application>
35301e04c3fSmrg
35401e04c3fSmrg        <application name="Civilization 5" executable="Civ5XP">
35501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
35601e04c3fSmrg        </application>
35701e04c3fSmrg        <application name="Civilization 6" executable="Civ6">
35801e04c3fSmrg            <option name="mesa_glthread" value="true"/>
35901e04c3fSmrg        </application>
360993e1d59Smrg        <application name="Civilization 6" executable="Civ6Sub">
361993e1d59Smrg            <option name="mesa_glthread" value="true"/>
362993e1d59Smrg        </application>
36301e04c3fSmrg
36401e04c3fSmrg        <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
36501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
36601e04c3fSmrg        </application>
36701e04c3fSmrg
36801e04c3fSmrg        <application name="Hitman" executable="HitmanPro">
36901e04c3fSmrg            <option name="mesa_glthread" value="true"/>
37001e04c3fSmrg        </application>
37101e04c3fSmrg
37201e04c3fSmrg        <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
37301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
37401e04c3fSmrg        </application>
37501e04c3fSmrg
37601e04c3fSmrg        <application name="Saints Row 2" executable="saintsrow2.i386">
37701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
37801e04c3fSmrg        </application>
37901e04c3fSmrg        <application name="Saints Row: The Third" executable="SaintsRow3.i386">
38001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
38101e04c3fSmrg        </application>
38201e04c3fSmrg        <application name="Saints Row IV" executable="SaintsRow4.i386">
38301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
38401e04c3fSmrg        </application>
38501e04c3fSmrg        <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
38601e04c3fSmrg            <option name="mesa_glthread" value="true"/>
38701e04c3fSmrg        </application>
38801e04c3fSmrg
38901e04c3fSmrg        <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
39001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
39101e04c3fSmrg        </application>
39201e04c3fSmrg
39301e04c3fSmrg        <application name="The Witcher 2" executable="witcher2">
39401e04c3fSmrg            <option name="mesa_glthread" value="true"/>
39501e04c3fSmrg        </application>
39601e04c3fSmrg
39701e04c3fSmrg        <application name="American Truck Simulator" executable="amtrucks">
39801e04c3fSmrg            <option name="mesa_glthread" value="true"/>
39901e04c3fSmrg        </application>
40001e04c3fSmrg        <application name="Euro Truck Simulator 2" executable="eurotrucks2">
40101e04c3fSmrg            <option name="mesa_glthread" value="true"/>
40201e04c3fSmrg        </application>
40301e04c3fSmrg
40401e04c3fSmrg        <application name="Overlord" executable="overlord.i386">
40501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
40601e04c3fSmrg        </application>
40701e04c3fSmrg        <application name="Overlord 2" executable="overlord2.i386">
40801e04c3fSmrg            <option name="mesa_glthread" value="true"/>
40901e04c3fSmrg        </application>
41001e04c3fSmrg
41101e04c3fSmrg        <application name="Oil Rush" executable="OilRush_x86">
41201e04c3fSmrg            <option name="mesa_glthread" value="true"/>
41301e04c3fSmrg        </application>
41401e04c3fSmrg
41501e04c3fSmrg        <application name="War Thunder" executable="aces">
41601e04c3fSmrg            <option name="mesa_glthread" value="true"/>
41701e04c3fSmrg        </application>
41801e04c3fSmrg        <application name="War Thunder (Wine)" executable="aces.exe">
41901e04c3fSmrg            <option name="mesa_glthread" value="true"/>
42001e04c3fSmrg        </application>
42101e04c3fSmrg
42201e04c3fSmrg        <application name="Outlast" executable="OLGame.x86_64">
42301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
42401e04c3fSmrg        </application>
42501e04c3fSmrg
42601e04c3fSmrg        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
42701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
42801e04c3fSmrg        </application>
42901e04c3fSmrg        <application name="Spec Ops: The Line (64-bit)" executable="specops">
43001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
43101e04c3fSmrg        </application>
43201e04c3fSmrg        <application name="Mount and Blade Warband" executable="mb_warband_linux">
43301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
43401e04c3fSmrg        </application>
43501e04c3fSmrg
4367ec681f3Smrg        <application name="Valheim" executable="valheim.x86_64">
4377ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4387ec681f3Smrg        </application>
4397ec681f3Smrg
44001e04c3fSmrg        <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
44101e04c3fSmrg        <application name="Medieval II: Total War" executable="Medieval2">
44201e04c3fSmrg            <option name="mesa_glthread" value="true"/>
44301e04c3fSmrg        </application>
44401e04c3fSmrg
44501e04c3fSmrg        <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
44601e04c3fSmrg        <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
44701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
44801e04c3fSmrg        </application>
44901e04c3fSmrg
45001e04c3fSmrg        <!-- around 30% increase in avg fps -->
45101e04c3fSmrg        <application name="Far Cry 2 (wine)" executable="farcry2.exe">
45201e04c3fSmrg            <option name="mesa_glthread" value="true"/>
45301e04c3fSmrg        </application>
4548a1362adSmaya
4558a1362adSmaya        <application name="Talos Principle" executable="Talos">
4568a1362adSmaya            <option name="mesa_glthread" value="true"/>
4578a1362adSmaya        </application>
4588a1362adSmaya        <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted">
4598a1362adSmaya            <option name="mesa_glthread" value="true"/>
4608a1362adSmaya        </application>
4618a1362adSmaya
4627ec681f3Smrg        <!-- roughly 30% increase in fps -->
4637ec681f3Smrg        <application name="7 Days To Die (64-bit)" executable="7DaysToDie.x86_64">
4647ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4657ec681f3Smrg        </application>
4667ec681f3Smrg        <application name="7 Days To Die (32-bit)" executable="7DaysToDie.x86">
4677ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4687ec681f3Smrg        </application>
4697ec681f3Smrg
4707ec681f3Smrg        <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. -->
4717ec681f3Smrg        <application name="Dolphin Emulator" executable="dolphin-emu">
4727ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4737ec681f3Smrg        </application>
4747ec681f3Smrg        <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt">
4757ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4767ec681f3Smrg        </application>
4777ec681f3Smrg        <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu">
4787ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4797ec681f3Smrg        </application>
4807ec681f3Smrg        <application name="RPCS3" executable="rpcs3">
4817ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4827ec681f3Smrg        </application>
4837ec681f3Smrg        <application name="PCSX2" executable="PCSX2">
4847ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4857ec681f3Smrg        </application>
4867ec681f3Smrg
4877ec681f3Smrg        <application name="From The Depths" executable="From_The_Depths.x86_64">
4887ec681f3Smrg            <option name="mesa_glthread" value="true"/>
4897ec681f3Smrg        </application>
4907ec681f3Smrg
4917ec681f3Smrg        <!-- #Minimum fps 136 ==> 144 -->
4927ec681f3Smrg        <application name="Plague Inc Evolved (32-bit)" executable="PlagueIncEvolved.x86">
4937ec681f3Smrg            <option name="mesa_glthread" value="true" />
4947ec681f3Smrg        </application>
4957ec681f3Smrg        <application name="Plague Inc Evolved (64-bit)" executable="PlagueIncEvolved.x86_64">
4967ec681f3Smrg            <option name="mesa_glthread" value="true" />
4977ec681f3Smrg        </application>
4987ec681f3Smrg
4997ec681f3Smrg        <!-- 10% fps increase -->
5007ec681f3Smrg        <application name="Beholder (32-bit)" executable="Beholder.x86">
5017ec681f3Smrg            <option name="mesa_glthread" value="true" />
5027ec681f3Smrg        </application>
5037ec681f3Smrg        <application name="Beholder (64-bit)" executable="Beholder.x86_64">
5047ec681f3Smrg            <option name="mesa_glthread" value="true" />
5057ec681f3Smrg        </application>
5067ec681f3Smrg
5077ec681f3Smrg        <!-- X3 games: 15% avg fps increase while flying in space -->
5087ec681f3Smrg        <application name="X3 Reunion" executable="X3R_main">
5097ec681f3Smrg            <option name="mesa_glthread" value="true" />
5107ec681f3Smrg        </application>
5117ec681f3Smrg        <application name="X3 Terran Conflict" executable="X3TR_main">
5127ec681f3Smrg            <option name="mesa_glthread" value="true" />
5137ec681f3Smrg        </application>
5147ec681f3Smrg        <application name="X3 Albion Prelude" executable="X3AP_main">
5157ec681f3Smrg            <option name="mesa_glthread" value="true" />
5167ec681f3Smrg        </application>
5177ec681f3Smrg
5187ec681f3Smrg        <!-- +30% avg fps -->
5197ec681f3Smrg        <application name="Borderlands: The Pre-Sequel" executable="BorderlandsPreSequel">
5207ec681f3Smrg            <option name="mesa_glthread" value="true" />
5217ec681f3Smrg        </application>
5227ec681f3Smrg        <application name="Transport Fever" executable="TransportFever">
5237ec681f3Smrg            <option name="mesa_glthread" value="true" />
5247ec681f3Smrg        </application>
5257ec681f3Smrg
5267ec681f3Smrg        <!-- Adaptive sync denylist follows below: -->
5278a1362adSmaya        <application name="gnome-shell" executable="gnome-shell">
5288a1362adSmaya            <option name="adaptive_sync" value="false" />
5297ec681f3Smrg            <option name="v3d_nonmsaa_texture_size_limit" value="true" />
5308a1362adSmaya        </application>
5318a1362adSmaya        <application name="DesktopPlasma" executable="plasmashell">
5328a1362adSmaya            <option name="adaptive_sync" value="false" />
5338a1362adSmaya        </application>
5348a1362adSmaya        <application name="budgie-wm" executable="budgie-wm">
5358a1362adSmaya            <option name="adaptive_sync" value="false" />
5368a1362adSmaya        </application>
5378a1362adSmaya        <application name="kwin_x11" executable="kwin_x11">
5388a1362adSmaya            <option name="adaptive_sync" value="false" />
5398a1362adSmaya        </application>
5408a1362adSmaya        <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
5418a1362adSmaya            <option name="adaptive_sync" value="false" />
5428a1362adSmaya        </application>
5438a1362adSmaya        <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
5448a1362adSmaya            <option name="adaptive_sync" value="false" />
5458a1362adSmaya        </application>
5468a1362adSmaya        <application name="kscreenlocker_greet" executable="kscreenlocker_greet">
5478a1362adSmaya            <option name="adaptive_sync" value="false" />
5488a1362adSmaya        </application>
5498a1362adSmaya        <application name="startplasma" executable="startplasma">
5508a1362adSmaya            <option name="adaptive_sync" value="false" />
5518a1362adSmaya        </application>
5528a1362adSmaya        <application name="sddm-greeter" executable="sddm-greeter">
5538a1362adSmaya            <option name="adaptive_sync" value="false" />
5548a1362adSmaya        </application>
5558a1362adSmaya        <application name="krunner" executable="krunner">
5568a1362adSmaya            <option name="adaptive_sync" value="false" />
5578a1362adSmaya        </application>
5588a1362adSmaya        <application name="spectacle" executable="spectacle">
5598a1362adSmaya            <option name="adaptive_sync" value="false" />
5608a1362adSmaya        </application>
5618a1362adSmaya        <application name="marco" executable="marco">
5628a1362adSmaya            <option name="adaptive_sync" value="false" />
5638a1362adSmaya        </application>
5648a1362adSmaya        <application name="compton" executable="compton">
5658a1362adSmaya            <option name="adaptive_sync" value="false" />
5668a1362adSmaya        </application>
5677ec681f3Smrg        <application name="picom" executable="picom">
5687ec681f3Smrg            <option name="adaptive_sync" value="false" />
5697ec681f3Smrg        </application>
5708a1362adSmaya        <application name="xfwm4" executable="xfwm4">
5718a1362adSmaya            <option name="adaptive_sync" value="false" />
5728a1362adSmaya        </application>
5738a1362adSmaya        <application name="Enlightenment" executable="enlightenment">
5748a1362adSmaya            <option name="adaptive_sync" value="false" />
5758a1362adSmaya        </application>
5768a1362adSmaya        <application name="mutter" executable="mutter">
5778a1362adSmaya            <option name="adaptive_sync" value="false" />
5787ec681f3Smrg            <option name="v3d_nonmsaa_texture_size_limit" value="true" />
5798a1362adSmaya        </application>
5808a1362adSmaya        <application name="muffin" executable="muffin">
5818a1362adSmaya            <option name="adaptive_sync" value="false" />
5828a1362adSmaya        </application>
5838a1362adSmaya        <application name="compiz" executable="compiz">
5848a1362adSmaya            <option name="adaptive_sync" value="false" />
5858a1362adSmaya        </application>
5868a1362adSmaya        <application name="Firefox" executable="firefox">
5878a1362adSmaya            <option name="adaptive_sync" value="false" />
5888a1362adSmaya        </application>
5898a1362adSmaya        <application name="Firefox ESR" executable="firefox-esr">
5908a1362adSmaya            <option name="adaptive_sync" value="false" />
5918a1362adSmaya        </application>
5928a1362adSmaya        <application name="Chromium" executable="chromium">
5938a1362adSmaya            <option name="adaptive_sync" value="false" />
5948a1362adSmaya        </application>
5958a1362adSmaya        <application name="Google Chrome" executable="chrome">
5968a1362adSmaya            <option name="adaptive_sync" value="false" />
5978a1362adSmaya        </application>
5988a1362adSmaya        <application name="Iceweasel" executable="iceweasel">
5998a1362adSmaya            <option name="adaptive_sync" value="false" />
6008a1362adSmaya        </application>
6018a1362adSmaya        <application name="Epiphany" executable="epiphany">
6028a1362adSmaya            <option name="adaptive_sync" value="false" />
6038a1362adSmaya        </application>
6048a1362adSmaya        <application name="Konqueror" executable="konqueror">
6058a1362adSmaya            <option name="adaptive_sync" value="false" />
6068a1362adSmaya        </application>
6078a1362adSmaya        <application name="Falkon" executable="falkon">
6088a1362adSmaya            <option name="adaptive_sync" value="false" />
6098a1362adSmaya        </application>
6108a1362adSmaya        <application name="Seamonkey" executable="seamonkey">
6118a1362adSmaya            <option name="adaptive_sync" value="false" />
6128a1362adSmaya        </application>
6138a1362adSmaya        <application name="Waterfox" executable="waterfox">
6148a1362adSmaya            <option name="adaptive_sync" value="false" />
6158a1362adSmaya        </application>
6168a1362adSmaya        <application name="VLC Media Player" executable="vlc">
6178a1362adSmaya            <option name="adaptive_sync" value="false" />
6188a1362adSmaya        </application>
6198a1362adSmaya        <application name="Totem" executable="totem">
6208a1362adSmaya            <option name="adaptive_sync" value="false" />
6218a1362adSmaya        </application>
6228a1362adSmaya        <application name="Dragon Player" executable="dragon">
6238a1362adSmaya            <option name="adaptive_sync" value="false" />
6248a1362adSmaya        </application>
6258a1362adSmaya        <application name="mpv" executable="mpv">
6268a1362adSmaya            <option name="adaptive_sync" value="false" />
6278a1362adSmaya        </application>
6287ec681f3Smrg        <application name="Xorg" executable="Xorg">
6297ec681f3Smrg            <option name="v3d_nonmsaa_texture_size_limit" value="true" />
6307ec681f3Smrg        </application>
6317ec681f3Smrg
6327ec681f3Smrg        <application name="gfxbench" executable="testfw_app">
6337ec681f3Smrg            <option name="vk_x11_override_min_image_count" value="2" />
6347ec681f3Smrg            <option name="vk_wsi_force_bgra8_unorm_first" value="true" />
6357ec681f3Smrg        </application>
6368a1362adSmaya
6377ec681f3Smrg        <application name="Brink" executable="brink.exe">
6387ec681f3Smrg            <option name="glx_extension_override" value="-GLX_OML_swap_method" />
6397ec681f3Smrg            <option name="allow_higher_compat_version" value="true" />
6407ec681f3Smrg        </application>
6417ec681f3Smrg
6427ec681f3Smrg        <application name="Enter The Gungeon (32 bits)" executable="EtG.x86">
6437ec681f3Smrg            <option name="glsl_correct_derivatives_after_discard" value="true" />
6447ec681f3Smrg        </application>
6457ec681f3Smrg
6467ec681f3Smrg        <application name="Enter The Gungeon (64 bits)" executable="EtG.x86_64">
6477ec681f3Smrg            <option name="glsl_correct_derivatives_after_discard" value="true" />
6487ec681f3Smrg        </application>
6497ec681f3Smrg
6507ec681f3Smrg        <!-- Workaround for STAR WARS: Knights of the Old Republic relying on
6517ec681f3Smrg             non-specified OpenGL behavior (expecting texture names to be
6527ec681f3Smrg             small enough to fit in the static array).
6537ec681f3Smrg          -->
6547ec681f3Smrg        <application name="SWKOTOR (wine)" executable="swkotor.exe">
6557ec681f3Smrg            <option name="force_gl_names_reuse" value="true"/>
6567ec681f3Smrg        </application>
6577ec681f3Smrg
6587ec681f3Smrg        <application name="Assault Android Cactus (32-bit)" executable="cactus_demo.x86">
6597ec681f3Smrg            <option name="vs_position_always_precise" value="true" />
6607ec681f3Smrg        </application>
6617ec681f3Smrg        <application name="Assault Android Cactus (64-bit)" executable="cactus_demo.x86_64">
6627ec681f3Smrg            <option name="vs_position_always_precise" value="true" />
6637ec681f3Smrg        </application>
6647ec681f3Smrg        <application name="Assault Android Cactus (32-bit)" executable="cactus.x86">
6657ec681f3Smrg            <option name="vs_position_always_precise" value="true" />
6667ec681f3Smrg        </application>
6677ec681f3Smrg        <application name="Assault Android Cactus (64-bit)" executable="cactus.x86_64">
6687ec681f3Smrg            <option name="vs_position_always_precise" value="true" />
6697ec681f3Smrg        </application>
6707ec681f3Smrg
6717ec681f3Smrg        <!-- Vulkan workarounds: -->
6727ec681f3Smrg
6737ec681f3Smrg        <!-- Works around the game not starting (does not deal with
6747ec681f3Smrg             the implementation returning more images than the minimum
6757ec681f3Smrg             specified by the application. -->
6767ec681f3Smrg        <engine engine_name_match="UnrealEngine4.*" engine_versions="0:23">
6777ec681f3Smrg            <option name="vk_x11_strict_image_count" value="true" />
6787ec681f3Smrg        </engine>
6797ec681f3Smrg
6807ec681f3Smrg        <!-- DOOM crashes at startup without this workaround if the adaptative sync mode is enabled. -->
6817ec681f3Smrg        <application name="DOOM" executable="DOOMx64vk.exe">
6827ec681f3Smrg            <option name="vk_x11_strict_image_count" value="true" />
6837ec681f3Smrg        </application>
6847ec681f3Smrg
6857ec681f3Smrg        <!-- DOOM Doom Eternal happily creates a swapchain with 2 images for
6867ec681f3Smrg             IMMEDIATE. This fixes a 10% performance issue with RADV. -->
6877ec681f3Smrg        <application name="DOOMEternal" executable="DOOMEternalx64vk.exe">
6887ec681f3Smrg            <option name="vk_x11_ensure_min_image_count" value="true" />
6897ec681f3Smrg        </application>
6907ec681f3Smrg
6917ec681f3Smrg        <!-- Wolfenstein: Youngblood crashes at startup on xwayland without this workaround. -->
6927ec681f3Smrg        <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe">
6937ec681f3Smrg            <option name="vk_x11_strict_image_count" value="true" />
6947ec681f3Smrg        </application>
6957ec681f3Smrg
6967ec681f3Smrg        <!-- Metro:Exodus crashes at startup on xwayland without this workaround. -->
6977ec681f3Smrg        <application name="Metro: Exodus" application_name_match="metroexodus">
6987ec681f3Smrg            <option name="vk_x11_strict_image_count" value="true" />
6998a1362adSmaya        </application>
70001e04c3fSmrg    </device>
70101e04c3fSmrg    <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
70201e04c3fSmrg    <device driver="vmwgfx">
70301e04c3fSmrg        <application name="gnome-shell" executable="gnome-shell">
7047ec681f3Smrg            <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control -GLX_SGI_video_sync" />
70501e04c3fSmrg        </application>
70601e04c3fSmrg        <application name="Compiz" executable="Compiz">
7077ec681f3Smrg            <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control" />
70801e04c3fSmrg        </application>
70901e04c3fSmrg    </device>
71001e04c3fSmrg    <device driver="radeonsi">
7117ec681f3Smrg        <application name="Half Life 2" executable="hl2_linux">
7127ec681f3Smrg            <option name="mesa_glthread" value="true" />
7137ec681f3Smrg        </application>
7147ec681f3Smrg        <application name="Black Mesa" executable="bms_linux">
7157ec681f3Smrg            <option name="mesa_glthread" value="true" />
7167ec681f3Smrg        </application>
7177ec681f3Smrg        <application name="Alien Isolation" executable="AlienIsolation">
7187ec681f3Smrg            <option name="force_gl_vendor" value="X.Org" />
7197ec681f3Smrg        </application>
7207ec681f3Smrg        <application name="American Truck Simulator" executable="amtrucks">
7217ec681f3Smrg            <option name="radeonsi_zerovram" value="true" />
72201e04c3fSmrg        </application>
7238a1362adSmaya        <application name="Counter-Strike Global Offensive" executable="csgo_linux64">
7247ec681f3Smrg            <option name="mesa_glthread" value="true" />
7258a1362adSmaya            <option name="radeonsi_zerovram" value="true" />
7267ec681f3Smrg            <option name="radeonsi_clamp_div_by_zero" value="true" />
7278a1362adSmaya        </application>
7287ec681f3Smrg        <application name="Rocket League" executable="RocketLeague">
72901e04c3fSmrg            <option name="radeonsi_zerovram" value="true" />
73001e04c3fSmrg        </application>
7317ec681f3Smrg        <application name="DiRT Rally" executable="DirtRally">
7327ec681f3Smrg            <option name="radeonsi_prim_restart_tri_strips_only" value="true"/>
733993e1d59Smrg        </application>
7347ec681f3Smrg        <application name="Gfx Bench" executable="gfxbench_gl">
7357ec681f3Smrg            <!-- Helps offscreen tests -->
7367ec681f3Smrg            <option name="mesa_glthread" value="true"/>
7377ec681f3Smrg        </application>
7387ec681f3Smrg        <!-- YoYo game engine workarounds -->
7397ec681f3Smrg        <application name="Monolith demo5" executable="runner" sha1="0c40d509a74e357f0280cb1bd882e9cd94b91bdf">
7407ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7417ec681f3Smrg            <option name="radeonsi_zerovram" value="true" />
7427ec681f3Smrg        </application>
7437ec681f3Smrg        <!-- Note: The following fix works for both Memoranda and Riptale as they have the same sha -->
7447ec681f3Smrg        <application name="Memoranda / Riptale" executable="runner" sha1="aa13dec6af63c88f308ebb487693896434a4db56">
7457ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7467ec681f3Smrg        </application>
7477ec681f3Smrg        <application name="Nuclear Throne" executable="runner" sha1="84814e8db125e889f5d9d4195a0ca72a871ea1fd">
7487ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7497ec681f3Smrg        </application>
7507ec681f3Smrg        <application name="Undertale" executable="runner" sha1="dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff">
7517ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7527ec681f3Smrg        </application>
7537ec681f3Smrg        <application name="Turmoil" executable="runner" sha1="cbbf757aaab289859f8dae191a7d63afc30643d9">
7547ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7557ec681f3Smrg        </application>
7567ec681f3Smrg        <application name="Peace, Death!" executable="runner" sha1="5b909f3d21799773370adf084f649848f098234e">
7577ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7587ec681f3Smrg        </application>
7597ec681f3Smrg        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647 -->
7607ec681f3Smrg        <application name="Kerbal Space Program" executable="KSP.x86_64">
7617ec681f3Smrg            <option name="radeonsi_no_infinite_interp" value="true" />
7627ec681f3Smrg        </application>
7637ec681f3Smrg        <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 -->
7647ec681f3Smrg        <application name="7 Days to Die" executable="7DaysToDie.x86_64">
7657ec681f3Smrg            <option name="radeonsi_zerovram" value="true" />
7667ec681f3Smrg        </application>
7677ec681f3Smrg        <application name="7 Days to Die" executable="7DaysToDie.x86">
7687ec681f3Smrg            <option name="radeonsi_zerovram" value="true" />
7697ec681f3Smrg        </application>
7707ec681f3Smrg        <application name="SPECviewperf13" executable="viewperf">
7717ec681f3Smrg            <option name="radeonsi_sync_compile" value="true" />
7727ec681f3Smrg            <option name="radeonsi_clamp_div_by_zero" value="true" />
7737ec681f3Smrg            <option name="radeonsi_inline_uniforms" value="true" />
7747ec681f3Smrg            <option name="radeonsi_shader_culling" value="true" />
7757ec681f3Smrg        </application>
7767ec681f3Smrg        <application name="Road Redemption" executable="RoadRedemption.x86_64">
7777ec681f3Smrg            <option name="radeonsi_clamp_div_by_zero" value="true" />
7787ec681f3Smrg        </application>
7797ec681f3Smrg        <application name="Wasteland 2" executable="WL2">
7807ec681f3Smrg            <option name="radeonsi_clamp_div_by_zero" value="true" />
7817ec681f3Smrg        </application>
7827ec681f3Smrg        <application name="Teardown" executable="teardown.exe">
7837ec681f3Smrg            <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 -->
7847ec681f3Smrg            <option name="radeonsi_clamp_div_by_zero" value="true" />
7857ec681f3Smrg            <option name="radeonsi_no_infinite_interp" value="true" />
7867ec681f3Smrg        </application>
7877ec681f3Smrg        <application name="SpaceEngine" executable="SpaceEngine.exe">
7887ec681f3Smrg            <option name="force_gl_vendor" value="X.Org" />
7897ec681f3Smrg        </application>
7907ec681f3Smrg    </device>
7917ec681f3Smrg    <device driver="i965">
7927ec681f3Smrg        <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor">
7937ec681f3Smrg            <option name="vs_position_always_invariant" value="true" />
7947ec681f3Smrg        </application>
7957ec681f3Smrg    </device>
7967ec681f3Smrg    <device driver="iris">
7977ec681f3Smrg        <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor">
7987ec681f3Smrg            <option name="vs_position_always_invariant" value="true" />
7997ec681f3Smrg        </application>
8007ec681f3Smrg    </device>
8017ec681f3Smrg    <device driver="radv">
8027ec681f3Smrg        <!-- Engine workarounds -->
8037ec681f3Smrg        <engine engine_name_match="vkd3d">
8047ec681f3Smrg            <option name="radv_zero_vram" value="true" />
8057ec681f3Smrg        </engine>
8067ec681f3Smrg
8077ec681f3Smrg        <engine engine_name_match="Quantic Dream Engine">
8087ec681f3Smrg            <option name="radv_zero_vram" value="true" />
8097ec681f3Smrg            <option name="radv_lower_discard_to_demote" value="true" />
8107ec681f3Smrg            <option name="radv_disable_tc_compat_htile_general" value="true" />
8117ec681f3Smrg        </engine>
8127ec681f3Smrg
8137ec681f3Smrg        <!-- Game workarounds -->
8147ec681f3Smrg        <application name="Shadow Of The Tomb Raider (Native)" application_name_match="ShadowOfTheTomb">
8157ec681f3Smrg            <option name="radv_report_llvm9_version_string" value="true" />
8167ec681f3Smrg            <option name="radv_invariant_geom" value="true" />
8177ec681f3Smrg        </application>
8187ec681f3Smrg
8197ec681f3Smrg        <application name="Shadow Of The Tomb Raider (DX11/DX12)" application_name_match="SOTTR.exe">
8207ec681f3Smrg            <option name="radv_invariant_geom" value="true" />
8217ec681f3Smrg        </application>
8227ec681f3Smrg
8237ec681f3Smrg        <application name="RAGE 2" executable="RAGE2.exe">
8247ec681f3Smrg            <option name="radv_enable_mrt_output_nan_fixup" value="true" />
8257ec681f3Smrg        </application>
8267ec681f3Smrg
8277ec681f3Smrg        <application name="Path of Exile (64-bit, Steam)" executable="PathOfExile_x64Steam.exe">
8287ec681f3Smrg            <option name="radv_no_dynamic_bounds" value="true" />
8297ec681f3Smrg            <option name="radv_absolute_depth_bias" value="true" />
8307ec681f3Smrg        </application>
8317ec681f3Smrg        <application name="Path of Exile (32-bit, Steam)" executable="PathOfExileSteam.exe">
8327ec681f3Smrg            <option name="radv_no_dynamic_bounds" value="true" />
8337ec681f3Smrg            <option name="radv_absolute_depth_bias" value="true" />
8347ec681f3Smrg        </application>
8357ec681f3Smrg        <application name="Path of Exile (64-bit)" executable="PathOfExile_x64.exe">
8367ec681f3Smrg            <option name="radv_no_dynamic_bounds" value="true" />
8377ec681f3Smrg            <option name="radv_absolute_depth_bias" value="true" />
8387ec681f3Smrg        </application>
8397ec681f3Smrg        <application name="Path of Exile (32-bit)" executable="PathOfExile.exe">
8407ec681f3Smrg            <option name="radv_no_dynamic_bounds" value="true" />
8417ec681f3Smrg            <option name="radv_absolute_depth_bias" value="true" />
8427ec681f3Smrg        </application>
8437ec681f3Smrg
8447ec681f3Smrg        <application name="The Surge 2" application_name_match="Fledge">
8457ec681f3Smrg            <option name="radv_disable_shrink_image_store" value="true" />
8467ec681f3Smrg            <option name="radv_zero_vram" value="true" />
8477ec681f3Smrg        </application>
8487ec681f3Smrg
8497ec681f3Smrg        <application name="World War Z (and World War Z: Aftermath)" application_name_match="WWZ|wwz">
8507ec681f3Smrg            <option name="radv_override_uniform_offset_alignment" value="16" />
8517ec681f3Smrg            <option name="radv_disable_shrink_image_store" value="true" />
8527ec681f3Smrg            <option name="radv_invariant_geom" value="true" />
8537ec681f3Smrg        </application>
8547ec681f3Smrg
8557ec681f3Smrg        <application name="DOOM VFR" application_name_match="DOOM_VFR">
8567ec681f3Smrg            <option name="radv_no_dynamic_bounds" value="true" />
8577ec681f3Smrg        </application>
8587ec681f3Smrg
8597ec681f3Smrg        <application name="DOOM Eternal" application_name_match="DOOMEternal">
8607ec681f3Smrg            <option name="radv_zero_vram" value="true" />
8617ec681f3Smrg        </application>
8627ec681f3Smrg
8637ec681f3Smrg        <application name="No Man's Sky" application_name_match="No Man's Sky">
8647ec681f3Smrg            <option name="radv_lower_discard_to_demote" value="true" />
8657ec681f3Smrg        </application>
8667ec681f3Smrg
8677ec681f3Smrg        <application name="Monster Hunter World" application_name_match="MonsterHunterWorld.exe">
8687ec681f3Smrg            <option name="radv_invariant_geom" value="true" />
8697ec681f3Smrg        </application>
8707ec681f3Smrg
8717ec681f3Smrg        <application name="DOOM (2016)" application_name_match="DOOM$">
8727ec681f3Smrg            <option name="radv_disable_dcc" value="true" />
8737ec681f3Smrg        </application>
8747ec681f3Smrg
8757ec681f3Smrg        <application name="Wolfenstein II" application_name_match="Wolfenstein II The New Colossus">
8767ec681f3Smrg            <option name="radv_disable_dcc" value="true" />
8777ec681f3Smrg        </application>
8787ec681f3Smrg
8797ec681f3Smrg        <application name="RDR2" application_name_match="Red Dead Redemption 2">
8807ec681f3Smrg            <option name="radv_report_apu_as_dgpu" value="true" />
8817ec681f3Smrg        </application>
8827ec681f3Smrg
8837ec681f3Smrg        <application name="Resident Evil Village" application_name_match="re8.exe">
8847ec681f3Smrg            <option name="radv_invariant_geom" value="true" />
8857ec681f3Smrg        </application>
8867ec681f3Smrg
8877ec681f3Smrg        <application name="F1 2021" application_name_match="F1_2021_dx12.exe">
8887ec681f3Smrg            <option name="radv_disable_htile_layers" value="true" />
8897ec681f3Smrg        </application>
8907ec681f3Smrg    </device>
8917ec681f3Smrg    <!--
8927ec681f3Smrg         The android game hall of shame:
8937ec681f3Smrg
8947ec681f3Smrg         Workarounds for android games that are not aware of open source drivers.
8957ec681f3Smrg         These can be removed as games have their allowlists updated.
8967ec681f3Smrg     -->
8977ec681f3Smrg    <device driver="msm" device="FD618">
8987ec681f3Smrg        <application name="Call of Duty Mobile" executable="com.activision.callofduty.shooter">
8997ec681f3Smrg            <option name="force_gl_renderer" value="Adreno (TM) 618"/>
9007ec681f3Smrg            <option name="force_gl_vendor" value="Qualcomm"/>
9017ec681f3Smrg        </application>
9027ec681f3Smrg        <application name="Asphalt 8" executable="com.gameloft.android.ANMP.GloftA8HM">
9037ec681f3Smrg            <!-- Note: asphalt8's allowlist seems to not have been updated recently
9047ec681f3Smrg                 enough to be aware of "Adreno (TM) 618", but we seem to otherwise
9057ec681f3Smrg                 have enough headroom to opt into the higher settings.  (Conversely
9067ec681f3Smrg                 the allowlist seems to allow G72-MP3 into the higher tier, despite
9077ec681f3Smrg                 not being able to maintain fps.. possibly it is not properly
9087ec681f3Smrg                 differentiating between various core MPn configurations.  So I'm
9097ec681f3Smrg                 going to use that to justify claiming to be a618's *slightly*
9107ec681f3Smrg                 bigger brother)
9117ec681f3Smrg             -->
9127ec681f3Smrg            <option name="force_gl_renderer" value="Adreno (TM) 630"/>
9137ec681f3Smrg            <option name="force_gl_vendor" value="Qualcomm"/>
9147ec681f3Smrg        </application>
9157ec681f3Smrg        <application name="Asphalt 9" executable="com.gameloft.android.ANMP.GloftA9HM">
9167ec681f3Smrg            <option name="force_gl_renderer" value="Adreno (TM) 618"/>
9177ec681f3Smrg            <option name="force_gl_vendor" value="Qualcomm"/>
9187ec681f3Smrg        </application>
9197ec681f3Smrg        <application name="PUBG Mobile" executable="com.tencent.ig">
9207ec681f3Smrg            <!-- Note: Maxed out a630 settings still limits max framerate, yet GPU
9217ec681f3Smrg                 is below 45% utilization (mostly closer to 40%).  If I claim to
9227ec681f3Smrg                 be a640, that unlocks "Extreme" framerate (and "Ultra HD" graphics).
9237ec681f3Smrg                 With "Extreme" + "HDR" we are comfortably at 60fps with plenty of
9247ec681f3Smrg                 headroom.  "Extreme" + "Ultra HD" (max settings for a640) we are
9257ec681f3Smrg                 starting to approach the limit.  I'll stick with a630 to be
9267ec681f3Smrg                 conservative, but argueably we could go higher.  (This flagship
9277ec681f3Smrg                 gaming phone thing is a scam!)
9287ec681f3Smrg             -->
9297ec681f3Smrg            <option name="force_gl_renderer" value="Adreno (TM) 630"/>
9307ec681f3Smrg            <option name="force_gl_vendor" value="Qualcomm"/>
931993e1d59Smrg        </application>
93201e04c3fSmrg    </device>
93301e04c3fSmrg</driconf>
934