summaryrefslogtreecommitdiffstats
path: root/src/util/drirc
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-06-30 11:57:06 +0200
committerNicolai Hähnle <[email protected]>2017-07-31 15:38:41 +0200
commit601093f95ddf6b49a79baa91dc51d4f163dfc8de (patch)
tree79cc7388e4d4de45d226852368ffcc813098b577 /src/util/drirc
parent1e40d2c8820e2045fbfed387a93a486c8b1c94fd (diff)
xmlconfig: move into src/util
v2: attempt to fix Android build (Emil) v3: add missing include path Reviewed-by: Marek Olšák <[email protected]> (v1)
Diffstat (limited to 'src/util/drirc')
-rw-r--r--src/util/drirc220
1 files changed, 220 insertions, 0 deletions
diff --git a/src/util/drirc b/src/util/drirc
new file mode 100644
index 00000000000..30ac9c839be
--- /dev/null
+++ b/src/util/drirc
@@ -0,0 +1,220 @@
+<!--
+
+============================================
+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.
+
+TODO: document the other workarounds.
+
+-->
+
+<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" />
+ <!-- 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" />
+ <!-- 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" />
+ <!-- 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" />
+ <!-- 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="Dying Light" executable="DyingLightGame">
+ <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="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>
+
+ <!-- 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="Civilization 6" executable="Civ6">
+ <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="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="Saints Row 2" executable="saintsrow2.i386">
+ <option name="mesa_glthread" value="true"/>
+ </application>
+ <application name="War Thunder (Wine)" executable="aces.exe">
+ <option name="mesa_glthread" 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" />
+ </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>
+</driconf>