mesa/src/util/00-mesa-defaults.conf

520 lines
23 KiB
Plaintext
Raw Normal View History

<?xml version="1.0" standalone="yes"?>
<!--
============================================
Application bugs worked around in this file:
============================================
* Unigine Heaven 3.0 and older contain too many bugs and can't be supported
by drivers that want to be compliant.
* Various Unigine products don't use the #version and #extension GLSL
directives, meaning they only get GLSL 1.10 and no extensions for their
shaders.
Enabling all extensions for Unigine fixes most issues, but the GLSL version
is still 1.10.
* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
an #extension directive in the middle of its shaders, which is illegal
in GLSL.
* Dying Light and Dead Island Definitive Edition redeclare vertex shader
built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
to compile.
* Applications that are not suitable for adapative sync are blacklisted here.
TODO: document the other workarounds.
-->
<!DOCTYPE driconf [
<!ELEMENT driconf (device+)>
<!ELEMENT device (application+)>
<!ATTLIST device driver CDATA #IMPLIED>
<!ELEMENT application (option+)>
<!ATTLIST application name CDATA #REQUIRED
executable CDATA #REQUIRED>
<!ELEMENT option EMPTY>
<!ATTLIST option name CDATA #REQUIRED
value CDATA #REQUIRED>
]>
<driconf>
<!-- Please always enable app-specific workarounds for all drivers and
screens. -->
<device>
<application name="Unigine Sanctuary" executable="Sanctuary">
<option name="force_glsl_extensions_warn" value="true" />
<option name="disable_blend_func_extended" value="true" />
</application>
<application name="Unigine Tropics" executable="Tropics">
<option name="force_glsl_extensions_warn" value="true" />
<option name="disable_blend_func_extended" value="true" />
</application>
<application name="Unigine Heaven (32-bit)" executable="heaven_x86">
<option name="allow_glsl_extension_directive_midshader" value="true" />
i965: Implement a drirc workaround for broken dual color blending. OpenGL's dual color blending feature was specified so that an implementation could support both multiple render targets (MRT) and dual source blending. Fragment shader outputs specify both "location" (the render target number) and "index" (either color 0 or 1). I believe DirectX only has the notion of "location" - if using dual color blending, location 0 or 1 will specify the operands. If not, then location means the render target index. The two features can't be used together. As such, some applications mistakenly try to use <loc = 0, index = 0> and <loc = 1, index = 0> in a shader used for dual color blending with a single render target, rather than the correct <loc = 0, index = 0> and <loc = 0, index = 1>. In particular, Unigine Heaven 4.0 and Valley 1.0 suffer from this bug. Unigine is aware of the problem, and quickly developed a fix, but has not bothered to change the download link on their website to a working copy in over a year. People were still using the broken version and complaining. We tried working around this by disabling dual color blending, but that apparently hurts performance, and people were once again unhappy. On i965, dual source blending is achieved by using different framebuffer write messages than normal rendering. So, we have to compile different code for the two cases. We're not being pedantic: we actually have to know in order to function. Normally, dual source blending is detectable in the shader: if a shader has an output with index = 1, then it's meant for blending, not MRT. With the broken inputs, they're indistinguishable, so we can only tell by looking at the current GL state. This patch implements a new drirc workaround: export dual_color_blend_by_location=true which makes the i965 driver detect when OpenGL state is configured for dual source blending, and recompile the fragment shader to use the right messages. In that case, we allow either location = 1 or index = 1 to specify the second source for the blending equations. It also re-enables GL_ARB_blend_func_extended for Unigine. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92233 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
2016-01-21 01:33:14 +00:00
<!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
<option name="dual_color_blend_by_location" value="true" />
</application>
<application name="Unigine Heaven (64-bit)" executable="heaven_x64">
<option name="allow_glsl_extension_directive_midshader" value="true" />
i965: Implement a drirc workaround for broken dual color blending. OpenGL's dual color blending feature was specified so that an implementation could support both multiple render targets (MRT) and dual source blending. Fragment shader outputs specify both "location" (the render target number) and "index" (either color 0 or 1). I believe DirectX only has the notion of "location" - if using dual color blending, location 0 or 1 will specify the operands. If not, then location means the render target index. The two features can't be used together. As such, some applications mistakenly try to use <loc = 0, index = 0> and <loc = 1, index = 0> in a shader used for dual color blending with a single render target, rather than the correct <loc = 0, index = 0> and <loc = 0, index = 1>. In particular, Unigine Heaven 4.0 and Valley 1.0 suffer from this bug. Unigine is aware of the problem, and quickly developed a fix, but has not bothered to change the download link on their website to a working copy in over a year. People were still using the broken version and complaining. We tried working around this by disabling dual color blending, but that apparently hurts performance, and people were once again unhappy. On i965, dual source blending is achieved by using different framebuffer write messages than normal rendering. So, we have to compile different code for the two cases. We're not being pedantic: we actually have to know in order to function. Normally, dual source blending is detectable in the shader: if a shader has an output with index = 1, then it's meant for blending, not MRT. With the broken inputs, they're indistinguishable, so we can only tell by looking at the current GL state. This patch implements a new drirc workaround: export dual_color_blend_by_location=true which makes the i965 driver detect when OpenGL state is configured for dual source blending, and recompile the fragment shader to use the right messages. In that case, we allow either location = 1 or index = 1 to specify the second source for the blending equations. It also re-enables GL_ARB_blend_func_extended for Unigine. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92233 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
2016-01-21 01:33:14 +00:00
<!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
<option name="dual_color_blend_by_location" value="true" />
</application>
<application name="Unigine Valley (32-bit)" executable="valley_x86">
<option name="allow_glsl_extension_directive_midshader" value="true" />
i965: Implement a drirc workaround for broken dual color blending. OpenGL's dual color blending feature was specified so that an implementation could support both multiple render targets (MRT) and dual source blending. Fragment shader outputs specify both "location" (the render target number) and "index" (either color 0 or 1). I believe DirectX only has the notion of "location" - if using dual color blending, location 0 or 1 will specify the operands. If not, then location means the render target index. The two features can't be used together. As such, some applications mistakenly try to use <loc = 0, index = 0> and <loc = 1, index = 0> in a shader used for dual color blending with a single render target, rather than the correct <loc = 0, index = 0> and <loc = 0, index = 1>. In particular, Unigine Heaven 4.0 and Valley 1.0 suffer from this bug. Unigine is aware of the problem, and quickly developed a fix, but has not bothered to change the download link on their website to a working copy in over a year. People were still using the broken version and complaining. We tried working around this by disabling dual color blending, but that apparently hurts performance, and people were once again unhappy. On i965, dual source blending is achieved by using different framebuffer write messages than normal rendering. So, we have to compile different code for the two cases. We're not being pedantic: we actually have to know in order to function. Normally, dual source blending is detectable in the shader: if a shader has an output with index = 1, then it's meant for blending, not MRT. With the broken inputs, they're indistinguishable, so we can only tell by looking at the current GL state. This patch implements a new drirc workaround: export dual_color_blend_by_location=true which makes the i965 driver detect when OpenGL state is configured for dual source blending, and recompile the fragment shader to use the right messages. In that case, we allow either location = 1 or index = 1 to specify the second source for the blending equations. It also re-enables GL_ARB_blend_func_extended for Unigine. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92233 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
2016-01-21 01:33:14 +00:00
<!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
<option name="dual_color_blend_by_location" value="true" />
</application>
<application name="Unigine Valley (64-bit)" executable="valley_x64">
<option name="allow_glsl_extension_directive_midshader" value="true" />
i965: Implement a drirc workaround for broken dual color blending. OpenGL's dual color blending feature was specified so that an implementation could support both multiple render targets (MRT) and dual source blending. Fragment shader outputs specify both "location" (the render target number) and "index" (either color 0 or 1). I believe DirectX only has the notion of "location" - if using dual color blending, location 0 or 1 will specify the operands. If not, then location means the render target index. The two features can't be used together. As such, some applications mistakenly try to use <loc = 0, index = 0> and <loc = 1, index = 0> in a shader used for dual color blending with a single render target, rather than the correct <loc = 0, index = 0> and <loc = 0, index = 1>. In particular, Unigine Heaven 4.0 and Valley 1.0 suffer from this bug. Unigine is aware of the problem, and quickly developed a fix, but has not bothered to change the download link on their website to a working copy in over a year. People were still using the broken version and complaining. We tried working around this by disabling dual color blending, but that apparently hurts performance, and people were once again unhappy. On i965, dual source blending is achieved by using different framebuffer write messages than normal rendering. So, we have to compile different code for the two cases. We're not being pedantic: we actually have to know in order to function. Normally, dual source blending is detectable in the shader: if a shader has an output with index = 1, then it's meant for blending, not MRT. With the broken inputs, they're indistinguishable, so we can only tell by looking at the current GL state. This patch implements a new drirc workaround: export dual_color_blend_by_location=true which makes the i965 driver detect when OpenGL state is configured for dual source blending, and recompile the fragment shader to use the right messages. In that case, we allow either location = 1 or index = 1 to specify the second source for the blending equations. It also re-enables GL_ARB_blend_func_extended for Unigine. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92233 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Ilia Mirkin <imirkin@alum.mit.edu>
2016-01-21 01:33:14 +00:00
<!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
<option name="dual_color_blend_by_location" value="true" />
</application>
<application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
<option name="disable_blend_func_extended" value="true" />
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
<option name="disable_blend_func_extended" value="true" />
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Savage 2" executable="savage2.bin">
<option name="disable_glsl_line_continuations" value="true" />
</application>
<application name="Topogun (32-bit)" executable="topogun32">
<option name="always_have_depth_buffer" value="true" />
</application>
<application name="Topogun (64-bit)" executable="topogun64">
<option name="always_have_depth_buffer" value="true" />
</application>
<application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
<option name="allow_glsl_extension_directive_midshader" value="true" />
<!-- For the Definitive Edition which shares the same executable name -->
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
</application>
<application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
</application>
<application name="Doom 3: BFG" executable="Doom3BFG.exe">
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
<option name="force_glsl_extensions_warn" value="true" />
</application>
<application name="Dying Light" executable="DyingLightGame">
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
</application>
<application name="RAGE (64-bit)" executable="Rage64.exe">
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
</application>
<application name="RAGE (32-bit)" executable="Rage.exe">
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
</application>
<application name="Second Life" executable="do-not-directly-run-secondlife-bin">
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Warsow (32-bit)" executable="warsow.i386">
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Warsow (64-bit)" executable="warsow.x86_64">
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Rust" executable="rust">
<option name="glsl_zero_init" value="true"/>
</application>
<application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
<option name="allow_glsl_extension_directive_midshader" value="true" />
</application>
<application name="Worms W.M.D" executable="Worms W.M.Dx64">
<option name="allow_higher_compat_version" value="true" />
</application>
<application name="Crookz - The Big Heist" executable="Crookz">
<option name="allow_higher_compat_version" value="true" />
</application>
<application name="Tropico 5" executable="Tropico5">
<option name="allow_higher_compat_version" value="true" />
</application>
<application name="The Culling" executable="Victory">
<option name="force_glsl_version" value="440" />
</application>
<application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
<option name="force_glsl_abs_sqrt" value="true" />
</application>
<application name="Spec Ops: The Line (64-bit)" executable="specops">
<option name="force_glsl_abs_sqrt" value="true" />
</application>
<application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
<option name="glsl_zero_init" value="true"/>
</application>
<application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
<option name="glsl_zero_init" value="true"/>
</application>
<application name="Rocket League" executable="RocketLeague">
<option name="glsl_correct_derivatives_after_discard" value="true"/>
</application>
<application name="The Witcher 2" executable="witcher2">
<option name="glsl_correct_derivatives_after_discard" value="true"/>
</application>
<application name="Unreal 4 Editor" executable="UE4Editor">
<option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
</application>
<application name="Observer" executable="TheObserver-Linux-Shipping">
<option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
</application>
<application name="Steamroll" executable="Steamroll-Linux-Shipping">
<option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
</application>
<application name="Refunct" executable="Refunct-Linux-Shipping">
<option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
</application>
<application name="Google Earth VR" executable="Earth.exe">
<option name="allow_glsl_builtin_const_expression" value="true"/>
<option name="allow_glsl_relaxed_es" value="true"/>
</application>
<application name="No Mans Sky" executable="NMS.exe">
<option name="force_glsl_extensions_warn" value="true" />
<option name="allow_glsl_layout_qualifier_on_function_parameters" value="true" />
</application>
<application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
<option name="force_compat_profile" value="true" />
</application>
<application name="ARMA 3" executable="arma3.x86_64">
<option name="glsl_correct_derivatives_after_discard" value="true"/>
</application>
<application name="Epic Games Launcher" executable="EpicGamesLauncher.exe">
<option name="force_compat_profile" value="true" />
</application>
<!-- The GL thread whitelist is below, workarounds are above.
Keep it that way. -->
<application name="Alien Isolation" executable="AlienIsolation">
<option name="mesa_glthread" value="true"/>
</application>
<application name="BioShock Infinite" executable="bioshock.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Borderlands 2" executable="Borderlands2">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Civilization 5" executable="Civ5XP">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Civilization 6" executable="Civ6">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Civilization 6" executable="Civ6Sub">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Dreamfall Chapters" executable="Dreamfall Chapters">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Hitman" executable="HitmanPro">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Renowned Explorers: International Society" executable="abbeycore_steam">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Saints Row 2" executable="saintsrow2.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Saints Row: The Third" executable="SaintsRow3.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Saints Row IV" executable="SaintsRow4.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
<option name="mesa_glthread" value="true"/>
</application>
<application name="The Witcher 2" executable="witcher2">
<option name="mesa_glthread" value="true"/>
</application>
<application name="American Truck Simulator" executable="amtrucks">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Euro Truck Simulator 2" executable="eurotrucks2">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Overlord" executable="overlord.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Overlord 2" executable="overlord2.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Oil Rush" executable="OilRush_x86">
<option name="mesa_glthread" value="true"/>
</application>
<application name="War Thunder" executable="aces">
<option name="mesa_glthread" value="true"/>
</application>
<application name="War Thunder (Wine)" executable="aces.exe">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Outlast" executable="OLGame.x86_64">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Spec Ops: The Line (64-bit)" executable="specops">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Mount and Blade Warband" executable="mb_warband_linux">
<option name="mesa_glthread" value="true"/>
</application>
<!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
<application name="Medieval II: Total War" executable="Medieval2">
<option name="mesa_glthread" value="true"/>
</application>
<!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
<application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
<option name="mesa_glthread" value="true"/>
</application>
<!-- around 30% increase in avg fps -->
<application name="Far Cry 2 (wine)" executable="farcry2.exe">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Talos Principle" executable="Talos">
<option name="mesa_glthread" value="true"/>
</application>
<application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted">
<option name="mesa_glthread" value="true"/>
</application>
<!-- Adaptive sync blacklist follows below: -->
<application name="gnome-shell" executable="gnome-shell">
<option name="adaptive_sync" value="false" />
</application>
<application name="Desktop — Plasma" executable="plasmashell">
<option name="adaptive_sync" value="false" />
</application>
<application name="budgie-wm" executable="budgie-wm">
<option name="adaptive_sync" value="false" />
</application>
<application name="kwin_x11" executable="kwin_x11">
<option name="adaptive_sync" value="false" />
</application>
<application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
<option name="adaptive_sync" value="false" />
</application>
<application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
<option name="adaptive_sync" value="false" />
</application>
<application name="kscreenlocker_greet" executable="kscreenlocker_greet">
<option name="adaptive_sync" value="false" />
</application>
<application name="startplasma" executable="startplasma">
<option name="adaptive_sync" value="false" />
</application>
<application name="sddm-greeter" executable="sddm-greeter">
<option name="adaptive_sync" value="false" />
</application>
<application name="krunner" executable="krunner">
<option name="adaptive_sync" value="false" />
</application>
<application name="spectacle" executable="spectacle">
<option name="adaptive_sync" value="false" />
</application>
<application name="marco" executable="marco">
<option name="adaptive_sync" value="false" />
</application>
<application name="compton" executable="compton">
<option name="adaptive_sync" value="false" />
</application>
<application name="xfwm4" executable="xfwm4">
<option name="adaptive_sync" value="false" />
</application>
<application name="Enlightenment" executable="enlightenment">
<option name="adaptive_sync" value="false" />
</application>
<application name="mutter" executable="mutter">
<option name="adaptive_sync" value="false" />
</application>
<application name="muffin" executable="muffin">
<option name="adaptive_sync" value="false" />
</application>
<application name="compiz" executable="compiz">
<option name="adaptive_sync" value="false" />
</application>
<application name="Firefox" executable="firefox">
<option name="adaptive_sync" value="false" />
</application>
<application name="Firefox ESR" executable="firefox-esr">
<option name="adaptive_sync" value="false" />
</application>
<application name="Chromium" executable="chromium">
<option name="adaptive_sync" value="false" />
</application>
<application name="Google Chrome" executable="chrome">
<option name="adaptive_sync" value="false" />
</application>
<application name="Iceweasel" executable="iceweasel">
<option name="adaptive_sync" value="false" />
</application>
<application name="Epiphany" executable="epiphany">
<option name="adaptive_sync" value="false" />
</application>
<application name="Konqueror" executable="konqueror">
<option name="adaptive_sync" value="false" />
</application>
<application name="Falkon" executable="falkon">
<option name="adaptive_sync" value="false" />
</application>
<application name="Seamonkey" executable="seamonkey">
<option name="adaptive_sync" value="false" />
</application>
<application name="Waterfox" executable="waterfox">
<option name="adaptive_sync" value="false" />
</application>
<application name="VLC Media Player" executable="vlc">
<option name="adaptive_sync" value="false" />
</application>
<application name="Totem" executable="totem">
<option name="adaptive_sync" value="false" />
</application>
<application name="Dragon Player" executable="dragon">
<option name="adaptive_sync" value="false" />
</application>
<application name="mpv" executable="mpv">
<option name="adaptive_sync" value="false" />
</application>
<application name="Xorg" executable="Xorg">
<option name="v3d_nonmsaa_texture_size_limit" value="true" />
</application>
<!-- Gallium Nine workarounds: -->
<application name="Rayman Legends" executable="Rayman Legends.exe">
<option name="dynamic_texture_workaround" value="true" />
</application>
</device>
<!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
<device driver="vmwgfx">
<application name="gnome-shell" executable="gnome-shell">
<option name="glx_disable_ext_buffer_age" value="true" />
<option name="glx_disable_oml_sync_control" value="true" />
<option name="glx_disable_sgi_video_sync" value="true" />
</application>
<application name="Compiz" executable="Compiz">
<option name="glx_disable_ext_buffer_age" value="true" />
<option name="glx_disable_oml_sync_control" value="true" />
</application>
</device>
<device driver="radeonsi">
<application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
<option name="radeonsi_clear_db_cache_before_clear" value="true" />
</application>
<application name="American Truck Simulator" executable="amtrucks">
<option name="radeonsi_zerovram" value="true" />
</application>
<application name="Counter-Strike Global Offensive" executable="csgo_linux64">
<option name="radeonsi_zerovram" value="true" />
</application>
<application name="No Mans Sky" executable="NMS.exe">
<option name="radeonsi_zerovram" value="true" />
</application>
<application name="Civilization 6" executable="Civ6">
<option name="radeonsi_enable_nir" value="true"/>
</application>
<application name="Civilization 6" executable="Civ6Sub">
<option name="radeonsi_enable_nir" value="true"/>
</application>
<application name="DiRT Rally" executable="DirtRally">
<option name="radeonsi_prim_restart_tri_strips_only" value="true"/>
</application>
</device>
<device driver="virtio_gpu">
<!-- Some Valve games do a final blit to a BRGA_sRGB surface. On a GLES
host this format is not supported and the blit will go to BGRA_UNORM
resulting in an unintended linearization and the final output being
too dark. -->
<application name="Half Life 2" executable="hl2_linux">
<option name="gles_emulate_bgra" value="true" />
</application>
<application name="Portal" executable="hl2_linux">
<option name="gles_emulate_bgra" value="true" />
</application>
<application name="Left 4 Dead 2" executable="hl2_linux">
<option name="gles_emulate_bgra" value="true" />
</application>
<application name="Dota 2" executable="dota2">
<option name="gles_emulate_bgra" value="true" />
</application>
<!-- The Raven Remastered expects a BGRA_sRGB surface and a BGRA_sRGB
surface that is capable to do texture views, since on GLES the BGRA
format provided by EXT_texture_BGRA8888 has no sRGB counterpart and
is not in the list of suppoerted TextureView formats we need to
emulate this -->
<application name="The Raven Remastered" executable="Raven">
<option name="gles_emulate_bgra" value="true" />
</application>
</device>
</driconf>