00-mesa-defaults.conf revision 01e04c3f
101e04c3fSmrg<!--
201e04c3fSmrg
301e04c3fSmrg============================================
401e04c3fSmrgApplication bugs worked around in this file:
501e04c3fSmrg============================================
601e04c3fSmrg
701e04c3fSmrg* Unigine Heaven 3.0 and older contain too many bugs and can't be supported
801e04c3fSmrg  by drivers that want to be compliant.
901e04c3fSmrg
1001e04c3fSmrg* Various Unigine products don't use the #version and #extension GLSL
1101e04c3fSmrg  directives, meaning they only get GLSL 1.10 and no extensions for their
1201e04c3fSmrg  shaders.
1301e04c3fSmrg  Enabling all extensions for Unigine fixes most issues, but the GLSL version
1401e04c3fSmrg  is still 1.10.
1501e04c3fSmrg
1601e04c3fSmrg* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
1701e04c3fSmrg  an #extension directive in the middle of its shaders, which is illegal
1801e04c3fSmrg  in GLSL.
1901e04c3fSmrg
2001e04c3fSmrg* Dying Light and Dead Island Definitive Edition redeclare vertex shader
2101e04c3fSmrg  built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
2201e04c3fSmrg  to compile.
2301e04c3fSmrg
2401e04c3fSmrgTODO: document the other workarounds.
2501e04c3fSmrg
2601e04c3fSmrg-->
2701e04c3fSmrg
2801e04c3fSmrg<driconf>
2901e04c3fSmrg    <!-- Please always enable app-specific workarounds for all drivers and
3001e04c3fSmrg         screens. -->
3101e04c3fSmrg    <device>
3201e04c3fSmrg        <application name="Unigine Sanctuary" executable="Sanctuary">
3301e04c3fSmrg            <option name="force_glsl_extensions_warn" value="true" />
3401e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
3501e04c3fSmrg        </application>
3601e04c3fSmrg
3701e04c3fSmrg        <application name="Unigine Tropics" executable="Tropics">
3801e04c3fSmrg            <option name="force_glsl_extensions_warn" value="true" />
3901e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
4001e04c3fSmrg        </application>
4101e04c3fSmrg
4201e04c3fSmrg        <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
4301e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
4401e04c3fSmrg            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
4501e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
4601e04c3fSmrg        </application>
4701e04c3fSmrg
4801e04c3fSmrg        <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
4901e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
5001e04c3fSmrg            <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
5101e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
5201e04c3fSmrg        </application>
5301e04c3fSmrg
5401e04c3fSmrg        <application name="Unigine Valley (32-bit)" executable="valley_x86">
5501e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
5601e04c3fSmrg            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
5701e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
5801e04c3fSmrg        </application>
5901e04c3fSmrg
6001e04c3fSmrg        <application name="Unigine Valley (64-bit)" executable="valley_x64">
6101e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
6201e04c3fSmrg            <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
6301e04c3fSmrg            <option name="dual_color_blend_by_location" value="true" />
6401e04c3fSmrg        </application>
6501e04c3fSmrg
6601e04c3fSmrg        <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
6701e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
6801e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
6901e04c3fSmrg        </application>
7001e04c3fSmrg
7101e04c3fSmrg        <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
7201e04c3fSmrg            <option name="disable_blend_func_extended" value="true" />
7301e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
7401e04c3fSmrg        </application>
7501e04c3fSmrg
7601e04c3fSmrg        <application name="Savage 2" executable="savage2.bin">
7701e04c3fSmrg            <option name="disable_glsl_line_continuations" value="true" />
7801e04c3fSmrg        </application>
7901e04c3fSmrg
8001e04c3fSmrg        <application name="Topogun (32-bit)" executable="topogun32">
8101e04c3fSmrg            <option name="always_have_depth_buffer" value="true" />
8201e04c3fSmrg        </application>
8301e04c3fSmrg
8401e04c3fSmrg        <application name="Topogun (64-bit)" executable="topogun64">
8501e04c3fSmrg            <option name="always_have_depth_buffer" value="true" />
8601e04c3fSmrg        </application>
8701e04c3fSmrg
8801e04c3fSmrg        <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
8901e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
9001e04c3fSmrg
9101e04c3fSmrg            <!-- For the Definitive Edition which shares the same executable name -->
9201e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
9301e04c3fSmrg        </application>
9401e04c3fSmrg
9501e04c3fSmrg        <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
9601e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
9701e04c3fSmrg        </application>
9801e04c3fSmrg
9901e04c3fSmrg        <application name="Dying Light" executable="DyingLightGame">
10001e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
10101e04c3fSmrg        </application>
10201e04c3fSmrg
10301e04c3fSmrg        <application name="RAGE (64-bit)" executable="Rage64.exe">
10401e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
10501e04c3fSmrg        </application>
10601e04c3fSmrg
10701e04c3fSmrg        <application name="RAGE (32-bit)" executable="Rage.exe">
10801e04c3fSmrg            <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
10901e04c3fSmrg        </application>
11001e04c3fSmrg
11101e04c3fSmrg        <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
11201e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
11301e04c3fSmrg        </application>
11401e04c3fSmrg
11501e04c3fSmrg        <application name="Warsow (32-bit)" executable="warsow.i386">
11601e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
11701e04c3fSmrg        </application>
11801e04c3fSmrg
11901e04c3fSmrg        <application name="Warsow (64-bit)" executable="warsow.x86_64">
12001e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
12101e04c3fSmrg        </application>
12201e04c3fSmrg
12301e04c3fSmrg        <application name="Rust" executable="rust">
12401e04c3fSmrg            <option name="glsl_zero_init" value="true"/>
12501e04c3fSmrg        </application>
12601e04c3fSmrg
12701e04c3fSmrg        <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
12801e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
12901e04c3fSmrg        </application>
13001e04c3fSmrg
13101e04c3fSmrg        <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
13201e04c3fSmrg            <option name="allow_glsl_extension_directive_midshader" value="true" />
13301e04c3fSmrg        </application>
13401e04c3fSmrg
13501e04c3fSmrg        <application name="Worms W.M.D" executable="Worms W.M.Dx64">
13601e04c3fSmrg            <option name="allow_higher_compat_version" value="true" />
13701e04c3fSmrg        </application>
13801e04c3fSmrg
13901e04c3fSmrg        <application name="Crookz - The Big Heist" executable="Crookz">
14001e04c3fSmrg            <option name="allow_higher_compat_version" value="true" />
14101e04c3fSmrg        </application>
14201e04c3fSmrg
14301e04c3fSmrg        <application name="Tropico 5" executable="Tropico5">
14401e04c3fSmrg            <option name="allow_higher_compat_version" value="true" />
14501e04c3fSmrg        </application>
14601e04c3fSmrg
14701e04c3fSmrg        <application name="The Culling" executable="Victory">
14801e04c3fSmrg            <option name="force_glsl_version" value="440" />
14901e04c3fSmrg        </application>
15001e04c3fSmrg
15101e04c3fSmrg        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
15201e04c3fSmrg            <option name="force_glsl_abs_sqrt" value="true" />
15301e04c3fSmrg        </application>
15401e04c3fSmrg
15501e04c3fSmrg        <application name="Spec Ops: The Line (64-bit)" executable="specops">
15601e04c3fSmrg            <option name="force_glsl_abs_sqrt" value="true" />
15701e04c3fSmrg        </application>
15801e04c3fSmrg
15901e04c3fSmrg        <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
16001e04c3fSmrg            <option name="glsl_zero_init" value="true"/>
16101e04c3fSmrg        </application>
16201e04c3fSmrg
16301e04c3fSmrg        <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
16401e04c3fSmrg            <option name="glsl_zero_init" value="true"/>
16501e04c3fSmrg        </application>
16601e04c3fSmrg
16701e04c3fSmrg        <application name="Rocket League" executable="RocketLeague">
16801e04c3fSmrg            <option name="glsl_correct_derivatives_after_discard" value="true"/>
16901e04c3fSmrg        </application>
17001e04c3fSmrg
17101e04c3fSmrg        <application name="The Witcher 2" executable="witcher2">
17201e04c3fSmrg            <option name="glsl_correct_derivatives_after_discard" value="true"/>
17301e04c3fSmrg        </application>
17401e04c3fSmrg
17501e04c3fSmrg        <application name="Unreal 4 Editor" executable="UE4Editor">
17601e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
17701e04c3fSmrg        </application>
17801e04c3fSmrg
17901e04c3fSmrg        <application name="Observer" executable="TheObserver-Linux-Shipping">
18001e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
18101e04c3fSmrg        </application>
18201e04c3fSmrg
18301e04c3fSmrg        <application name="Steamroll" executable="Steamroll-Linux-Shipping">
18401e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
18501e04c3fSmrg        </application>
18601e04c3fSmrg
18701e04c3fSmrg        <application name="Refunct" executable="Refunct-Linux-Shipping">
18801e04c3fSmrg            <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
18901e04c3fSmrg        </application>
19001e04c3fSmrg
19101e04c3fSmrg        <application name="Google Earth VR" executable="Earth.exe">
19201e04c3fSmrg            <option name="allow_glsl_builtin_const_expression" value="true"/>
19301e04c3fSmrg            <option name="allow_glsl_relaxed_es" value="true"/>
19401e04c3fSmrg        </application>
19501e04c3fSmrg
19601e04c3fSmrg        <application name="No Mans Sky" executable="NMS.exe">
19701e04c3fSmrg            <option name="force_glsl_extensions_warn" value="true" />
19801e04c3fSmrg            <option name="allow_glsl_layout_qualifier_on_function_parameters" value="true" />
19901e04c3fSmrg        </application>
20001e04c3fSmrg
20101e04c3fSmrg        <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
20201e04c3fSmrg            <option name="force_compat_profile" value="true" />
20301e04c3fSmrg        </application>
20401e04c3fSmrg
20501e04c3fSmrg        <application name="ARMA 3" executable="arma3.x86_64">
20601e04c3fSmrg            <option name="glsl_correct_derivatives_after_discard" value="true"/>
20701e04c3fSmrg        </application>
20801e04c3fSmrg
20901e04c3fSmrg        <!-- The GL thread whitelist is below, workarounds are above.
21001e04c3fSmrg             Keep it that way. -->
21101e04c3fSmrg
21201e04c3fSmrg        <application name="Alien Isolation" executable="AlienIsolation">
21301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
21401e04c3fSmrg        </application>
21501e04c3fSmrg
21601e04c3fSmrg        <application name="BioShock Infinite" executable="bioshock.i386">
21701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
21801e04c3fSmrg        </application>
21901e04c3fSmrg
22001e04c3fSmrg        <application name="Borderlands 2" executable="Borderlands2">
22101e04c3fSmrg            <option name="mesa_glthread" value="true"/>
22201e04c3fSmrg        </application>
22301e04c3fSmrg
22401e04c3fSmrg        <application name="Civilization 5" executable="Civ5XP">
22501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
22601e04c3fSmrg        </application>
22701e04c3fSmrg        <application name="Civilization 6" executable="Civ6">
22801e04c3fSmrg            <option name="mesa_glthread" value="true"/>
22901e04c3fSmrg        </application>
23001e04c3fSmrg
23101e04c3fSmrg        <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
23201e04c3fSmrg            <option name="mesa_glthread" value="true"/>
23301e04c3fSmrg        </application>
23401e04c3fSmrg
23501e04c3fSmrg        <application name="Hitman" executable="HitmanPro">
23601e04c3fSmrg            <option name="mesa_glthread" value="true"/>
23701e04c3fSmrg        </application>
23801e04c3fSmrg
23901e04c3fSmrg        <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
24001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
24101e04c3fSmrg        </application>
24201e04c3fSmrg
24301e04c3fSmrg        <application name="Saints Row 2" executable="saintsrow2.i386">
24401e04c3fSmrg            <option name="mesa_glthread" value="true"/>
24501e04c3fSmrg        </application>
24601e04c3fSmrg        <application name="Saints Row: The Third" executable="SaintsRow3.i386">
24701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
24801e04c3fSmrg        </application>
24901e04c3fSmrg        <application name="Saints Row IV" executable="SaintsRow4.i386">
25001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
25101e04c3fSmrg        </application>
25201e04c3fSmrg        <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
25301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
25401e04c3fSmrg        </application>
25501e04c3fSmrg
25601e04c3fSmrg        <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
25701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
25801e04c3fSmrg        </application>
25901e04c3fSmrg
26001e04c3fSmrg        <application name="The Witcher 2" executable="witcher2">
26101e04c3fSmrg            <option name="mesa_glthread" value="true"/>
26201e04c3fSmrg        </application>
26301e04c3fSmrg
26401e04c3fSmrg        <application name="American Truck Simulator" executable="amtrucks">
26501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
26601e04c3fSmrg        </application>
26701e04c3fSmrg        <application name="Euro Truck Simulator 2" executable="eurotrucks2">
26801e04c3fSmrg            <option name="mesa_glthread" value="true"/>
26901e04c3fSmrg        </application>
27001e04c3fSmrg
27101e04c3fSmrg        <application name="Overlord" executable="overlord.i386">
27201e04c3fSmrg            <option name="mesa_glthread" value="true"/>
27301e04c3fSmrg        </application>
27401e04c3fSmrg        <application name="Overlord 2" executable="overlord2.i386">
27501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
27601e04c3fSmrg        </application>
27701e04c3fSmrg
27801e04c3fSmrg        <application name="Oil Rush" executable="OilRush_x86">
27901e04c3fSmrg            <option name="mesa_glthread" value="true"/>
28001e04c3fSmrg        </application>
28101e04c3fSmrg
28201e04c3fSmrg        <application name="War Thunder" executable="aces">
28301e04c3fSmrg            <option name="mesa_glthread" value="true"/>
28401e04c3fSmrg        </application>
28501e04c3fSmrg        <application name="War Thunder (Wine)" executable="aces.exe">
28601e04c3fSmrg            <option name="mesa_glthread" value="true"/>
28701e04c3fSmrg        </application>
28801e04c3fSmrg
28901e04c3fSmrg        <application name="Outlast" executable="OLGame.x86_64">
29001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
29101e04c3fSmrg        </application>
29201e04c3fSmrg
29301e04c3fSmrg        <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
29401e04c3fSmrg            <option name="mesa_glthread" value="true"/>
29501e04c3fSmrg        </application>
29601e04c3fSmrg        <application name="Spec Ops: The Line (64-bit)" executable="specops">
29701e04c3fSmrg            <option name="mesa_glthread" value="true"/>
29801e04c3fSmrg        </application>
29901e04c3fSmrg        <application name="Mount and Blade Warband" executable="mb_warband_linux">
30001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
30101e04c3fSmrg        </application>
30201e04c3fSmrg
30301e04c3fSmrg        <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
30401e04c3fSmrg        <application name="Medieval II: Total War" executable="Medieval2">
30501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
30601e04c3fSmrg        </application>
30701e04c3fSmrg
30801e04c3fSmrg        <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
30901e04c3fSmrg        <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
31001e04c3fSmrg            <option name="mesa_glthread" value="true"/>
31101e04c3fSmrg        </application>
31201e04c3fSmrg
31301e04c3fSmrg        <!-- around 30% increase in avg fps -->
31401e04c3fSmrg        <application name="Far Cry 2 (wine)" executable="farcry2.exe">
31501e04c3fSmrg            <option name="mesa_glthread" value="true"/>
31601e04c3fSmrg        </application>
31701e04c3fSmrg    </device>
31801e04c3fSmrg    <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
31901e04c3fSmrg    <device driver="vmwgfx">
32001e04c3fSmrg        <application name="gnome-shell" executable="gnome-shell">
32101e04c3fSmrg            <option name="glx_disable_ext_buffer_age" value="true" />
32201e04c3fSmrg            <option name="glx_disable_oml_sync_control" value="true" />
32301e04c3fSmrg            <option name="glx_disable_sgi_video_sync" value="true" />
32401e04c3fSmrg        </application>
32501e04c3fSmrg        <application name="Compiz" executable="Compiz">
32601e04c3fSmrg            <option name="glx_disable_ext_buffer_age" value="true" />
32701e04c3fSmrg            <option name="glx_disable_oml_sync_control" value="true" />
32801e04c3fSmrg        </application>
32901e04c3fSmrg    </device>
33001e04c3fSmrg    <device driver="radeonsi">
33101e04c3fSmrg        <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
33201e04c3fSmrg            <option name="radeonsi_clear_db_cache_before_clear" value="true" />
33301e04c3fSmrg        </application>
33401e04c3fSmrg        <application name="No Mans Sky" executable="NMS.exe">
33501e04c3fSmrg            <option name="radeonsi_zerovram" value="true" />
33601e04c3fSmrg        </application>
33701e04c3fSmrg    </device>
33801e04c3fSmrg</driconf>
339