3 ============================================
4 Application bugs worked around in this file:
5 ============================================
7 * Unigine Heaven 3.0 and older contain too many bugs and can't be supported
8 by drivers that want to be compliant.
10 * Various Unigine products don't use the #version and #extension GLSL
11 directives, meaning they only get GLSL 1.10 and no extensions for their
13 Enabling all extensions for Unigine fixes most issues, but the GLSL version
16 * If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
17 an #extension directive in the middle of its shaders, which is illegal
20 * Dying Light and Dead Island Definitive Edition redeclare vertex shader
21 built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
24 TODO: document the other workarounds.
29 <!-- Please always enable app-specific workarounds for all drivers and
32 <application name="Unigine Sanctuary" executable="Sanctuary">
33 <option name="force_glsl_extensions_warn" value="true" />
34 <option name="disable_blend_func_extended" value="true" />
37 <application name="Unigine Tropics" executable="Tropics">
38 <option name="force_glsl_extensions_warn" value="true" />
39 <option name="disable_blend_func_extended" value="true" />
42 <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
43 <option name="allow_glsl_extension_directive_midshader" value="true" />
44 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
45 <option name="dual_color_blend_by_location" value="true" />
48 <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
49 <option name="allow_glsl_extension_directive_midshader" value="true" />
50 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
51 <option name="dual_color_blend_by_location" value="true" />
54 <application name="Unigine Valley (32-bit)" executable="valley_x86">
55 <option name="allow_glsl_extension_directive_midshader" value="true" />
56 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
57 <option name="dual_color_blend_by_location" value="true" />
60 <application name="Unigine Valley (64-bit)" executable="valley_x64">
61 <option name="allow_glsl_extension_directive_midshader" value="true" />
62 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
63 <option name="dual_color_blend_by_location" value="true" />
66 <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
67 <option name="disable_blend_func_extended" value="true" />
68 <option name="allow_glsl_extension_directive_midshader" value="true" />
71 <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
72 <option name="disable_blend_func_extended" value="true" />
73 <option name="allow_glsl_extension_directive_midshader" value="true" />
76 <application name="Savage 2" executable="savage2.bin">
77 <option name="disable_glsl_line_continuations" value="true" />
80 <application name="Topogun (32-bit)" executable="topogun32">
81 <option name="always_have_depth_buffer" value="true" />
84 <application name="Topogun (64-bit)" executable="topogun64">
85 <option name="always_have_depth_buffer" value="true" />
88 <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
89 <option name="allow_glsl_extension_directive_midshader" value="true" />
91 <!-- For the Definitive Edition which shares the same executable name -->
92 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
95 <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
96 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
99 <application name="Dying Light" executable="DyingLightGame">
100 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
103 <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
104 <option name="allow_glsl_extension_directive_midshader" value="true" />
107 <application name="Warsow (32-bit)" executable="warsow.i386">
108 <option name="allow_glsl_extension_directive_midshader" value="true" />
111 <application name="Warsow (64-bit)" executable="warsow.x86_64">
112 <option name="allow_glsl_extension_directive_midshader" value="true" />
115 <application name="Rust" executable="rust">
116 <option name="glsl_zero_init" value="true"/>
119 <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
120 <option name="allow_glsl_extension_directive_midshader" value="true" />
123 <application name="Worms W.M.D" executable="Worms W.M.Dx64">
124 <option name="allow_higher_compat_version" value="true" />
127 <application name="Crookz - The Big Heist" executable="Crookz">
128 <option name="allow_higher_compat_version" value="true" />
131 <application name="Tropico 5" executable="Tropico5">
132 <option name="allow_higher_compat_version" value="true" />
135 <application name="The Culling" executable="Victory">
136 <option name="force_glsl_version" value="440" />
139 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
140 <option name="force_glsl_abs_sqrt" value="true" />
143 <application name="Spec Ops: The Line (64-bit)" executable="specops">
144 <option name="force_glsl_abs_sqrt" value="true" />
147 <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
148 <option name="glsl_zero_init" value="true"/>
151 <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
152 <option name="glsl_zero_init" value="true"/>
155 <application name="Rocket League" executable="RocketLeague">
156 <option name="glsl_correct_derivatives_after_discard" value="true"/>
159 <application name="The Witcher 2" executable="witcher2">
160 <option name="glsl_correct_derivatives_after_discard" value="true"/>
163 <application name="Unreal 4 Editor" executable="UE4Editor">
164 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
167 <application name="Observer" executable="TheObserver-Linux-Shipping">
168 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
171 <application name="Steamroll" executable="Steamroll-Linux-Shipping">
172 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
175 <application name="Refunct" executable="Refunct-Linux-Shipping">
176 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
179 <!-- The GL thread whitelist is below, workarounds are above.
180 Keep it that way. -->
182 <application name="Alien Isolation" executable="AlienIsolation">
183 <option name="mesa_glthread" value="true"/>
186 <application name="BioShock Infinite" executable="bioshock.i386">
187 <option name="mesa_glthread" value="true"/>
190 <application name="Borderlands 2" executable="Borderlands2">
191 <option name="mesa_glthread" value="true"/>
194 <application name="Civilization 5" executable="Civ5XP">
195 <option name="mesa_glthread" value="true"/>
197 <application name="Civilization 6" executable="Civ6">
198 <option name="mesa_glthread" value="true"/>
201 <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
202 <option name="mesa_glthread" value="true"/>
205 <application name="Hitman" executable="HitmanPro">
206 <option name="mesa_glthread" value="true"/>
209 <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
210 <option name="mesa_glthread" value="true"/>
213 <application name="Saints Row 2" executable="saintsrow2.i386">
214 <option name="mesa_glthread" value="true"/>
216 <application name="Saints Row: The Third" executable="SaintsRow3.i386">
217 <option name="mesa_glthread" value="true"/>
219 <application name="Saints Row IV" executable="SaintsRow4.i386">
220 <option name="mesa_glthread" value="true"/>
222 <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
223 <option name="mesa_glthread" value="true"/>
226 <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
227 <option name="mesa_glthread" value="true"/>
230 <application name="The Witcher 2" executable="witcher2">
231 <option name="mesa_glthread" value="true"/>
234 <application name="American Truck Simulator" executable="amtrucks">
235 <option name="mesa_glthread" value="true"/>
237 <application name="Euro Truck Simulator 2" executable="eurotrucks2">
238 <option name="mesa_glthread" value="true"/>
241 <application name="Overlord" executable="overlord.i386">
242 <option name="mesa_glthread" value="true"/>
244 <application name="Overlord 2" executable="overlord2.i386">
245 <option name="mesa_glthread" value="true"/>
248 <application name="Oil Rush" executable="OilRush_x86">
249 <option name="mesa_glthread" value="true"/>
252 <application name="War Thunder" executable="aces">
253 <option name="mesa_glthread" value="true"/>
255 <application name="War Thunder (Wine)" executable="aces.exe">
256 <option name="mesa_glthread" value="true"/>
259 <application name="Outlast" executable="OLGame.x86_64">
260 <option name="mesa_glthread" value="true"/>
263 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
264 <option name="mesa_glthread" value="true"/>
266 <application name="Spec Ops: The Line (64-bit)" executable="specops">
267 <option name="mesa_glthread" value="true"/>
269 <application name="Mount and Blade Warband" executable="mb_warband_linux">
270 <option name="mesa_glthread" value="true"/>
273 <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
274 <device driver="vmwgfx">
275 <application name="gnome-shell" executable="gnome-shell">
276 <option name="glx_disable_ext_buffer_age" value="true" />
277 <option name="glx_disable_oml_sync_control" value="true" />
279 <application name="Compiz" executable="Compiz">
280 <option name="glx_disable_ext_buffer_age" value="true" />
281 <option name="glx_disable_oml_sync_control" value="true" />
284 <device driver="radeonsi">
285 <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
286 <option name="radeonsi_clear_db_cache_before_clear" value="true" />