<!--

============================================
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="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" />
        </application>

        <application name="ARMA 3" executable="arma3.x86_64">
            <option name="glsl_correct_derivatives_after_discard" value="true"/>
        </application>

        <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.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="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>
    </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>
    </device>
</driconf>
