Home | History | Annotate | Download | only in util
      1 <!--
      2 
      3 ============================================
      4 Application bugs worked around in this file:
      5 ============================================
      6 
      7 * Unigine Heaven 3.0 and older contain too many bugs and can't be supported
      8   by drivers that want to be compliant.
      9 
     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
     12   shaders.
     13   Enabling all extensions for Unigine fixes most issues, but the GLSL version
     14   is still 1.10.
     15 
     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
     18   in GLSL.
     19 
     20 * Dying Light and Dead Island Definitive Edition redeclare vertex shader
     21   built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
     22   to compile.
     23 
     24 TODO: document the other workarounds.
     25 
     26 -->
     27 
     28 <driconf>
     29     <!-- Please always enable app-specific workarounds for all drivers and
     30          screens. -->
     31     <device>
     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" />
     35         </application>
     36 
     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" />
     40         </application>
     41 
     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" />
     46         </application>
     47 
     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" />
     52         </application>
     53 
     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" />
     58         </application>
     59 
     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" />
     64         </application>
     65 
     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" />
     69         </application>
     70 
     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" />
     74         </application>
     75 
     76         <application name="Savage 2" executable="savage2.bin">
     77             <option name="disable_glsl_line_continuations" value="true" />
     78         </application>
     79 
     80         <application name="Topogun (32-bit)" executable="topogun32">
     81             <option name="always_have_depth_buffer" value="true" />
     82         </application>
     83 
     84         <application name="Topogun (64-bit)" executable="topogun64">
     85             <option name="always_have_depth_buffer" value="true" />
     86         </application>
     87 
     88         <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
     89             <option name="allow_glsl_extension_directive_midshader" value="true" />
     90 
     91             <!-- For the Definitive Edition which shares the same executable name -->
     92             <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
     93         </application>
     94 
     95         <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
     96             <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
     97         </application>
     98 
     99         <application name="Dying Light" executable="DyingLightGame">
    100             <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
    101         </application>
    102 
    103         <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
    104             <option name="allow_glsl_extension_directive_midshader" value="true" />
    105         </application>
    106 
    107         <application name="Warsow (32-bit)" executable="warsow.i386">
    108             <option name="allow_glsl_extension_directive_midshader" value="true" />
    109         </application>
    110 
    111         <application name="Warsow (64-bit)" executable="warsow.x86_64">
    112             <option name="allow_glsl_extension_directive_midshader" value="true" />
    113         </application>
    114 
    115         <application name="Rust" executable="rust">
    116             <option name="glsl_zero_init" value="true"/>
    117         </application>
    118 
    119         <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
    120             <option name="allow_glsl_extension_directive_midshader" value="true" />
    121         </application>
    122 
    123         <application name="Worms W.M.D" executable="Worms W.M.Dx64">
    124             <option name="allow_higher_compat_version" value="true" />
    125         </application>
    126 
    127         <application name="Crookz - The Big Heist" executable="Crookz">
    128             <option name="allow_higher_compat_version" value="true" />
    129         </application>
    130 
    131         <application name="Tropico 5" executable="Tropico5">
    132             <option name="allow_higher_compat_version" value="true" />
    133         </application>
    134 
    135         <application name="The Culling" executable="Victory">
    136             <option name="force_glsl_version" value="440" />
    137         </application>
    138 
    139         <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
    140             <option name="force_glsl_abs_sqrt" value="true" />
    141         </application>
    142 
    143         <application name="Spec Ops: The Line (64-bit)" executable="specops">
    144             <option name="force_glsl_abs_sqrt" value="true" />
    145         </application>
    146 
    147         <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
    148             <option name="glsl_zero_init" value="true"/>
    149         </application>
    150 
    151         <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
    152             <option name="glsl_zero_init" value="true"/>
    153         </application>
    154 
    155         <application name="Rocket League" executable="RocketLeague">
    156             <option name="glsl_correct_derivatives_after_discard" value="true"/>
    157         </application>
    158 
    159         <application name="The Witcher 2" executable="witcher2">
    160             <option name="glsl_correct_derivatives_after_discard" value="true"/>
    161         </application>
    162 
    163         <application name="Unreal 4 Editor" executable="UE4Editor">
    164             <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
    165         </application>
    166 
    167         <application name="Observer" executable="TheObserver-Linux-Shipping">
    168             <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
    169         </application>
    170 
    171         <application name="Steamroll" executable="Steamroll-Linux-Shipping">
    172             <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
    173         </application>
    174 
    175         <application name="Refunct" executable="Refunct-Linux-Shipping">
    176             <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
    177         </application>
    178 
    179         <!-- The GL thread whitelist is below, workarounds are above.
    180              Keep it that way. -->
    181 
    182         <application name="Alien Isolation" executable="AlienIsolation">
    183             <option name="mesa_glthread" value="true"/>
    184         </application>
    185 
    186         <application name="BioShock Infinite" executable="bioshock.i386">
    187             <option name="mesa_glthread" value="true"/>
    188         </application>
    189 
    190         <application name="Borderlands 2" executable="Borderlands2">
    191             <option name="mesa_glthread" value="true"/>
    192         </application>
    193 
    194         <application name="Civilization 5" executable="Civ5XP">
    195             <option name="mesa_glthread" value="true"/>
    196         </application>
    197         <application name="Civilization 6" executable="Civ6">
    198             <option name="mesa_glthread" value="true"/>
    199         </application>
    200 
    201         <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
    202             <option name="mesa_glthread" value="true"/>
    203         </application>
    204 
    205         <application name="Hitman" executable="HitmanPro">
    206             <option name="mesa_glthread" value="true"/>
    207         </application>
    208 
    209         <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
    210             <option name="mesa_glthread" value="true"/>
    211         </application>
    212 
    213         <application name="Saints Row 2" executable="saintsrow2.i386">
    214             <option name="mesa_glthread" value="true"/>
    215         </application>
    216         <application name="Saints Row: The Third" executable="SaintsRow3.i386">
    217             <option name="mesa_glthread" value="true"/>
    218         </application>
    219         <application name="Saints Row IV" executable="SaintsRow4.i386">
    220             <option name="mesa_glthread" value="true"/>
    221         </application>
    222         <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
    223             <option name="mesa_glthread" value="true"/>
    224         </application>
    225 
    226         <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
    227             <option name="mesa_glthread" value="true"/>
    228         </application>
    229 
    230         <application name="The Witcher 2" executable="witcher2">
    231             <option name="mesa_glthread" value="true"/>
    232         </application>
    233 
    234         <application name="American Truck Simulator" executable="amtrucks">
    235             <option name="mesa_glthread" value="true"/>
    236         </application>
    237         <application name="Euro Truck Simulator 2" executable="eurotrucks2">
    238             <option name="mesa_glthread" value="true"/>
    239         </application>
    240 
    241         <application name="Overlord" executable="overlord.i386">
    242             <option name="mesa_glthread" value="true"/>
    243         </application>
    244         <application name="Overlord 2" executable="overlord2.i386">
    245             <option name="mesa_glthread" value="true"/>
    246         </application>
    247 
    248         <application name="Oil Rush" executable="OilRush_x86">
    249             <option name="mesa_glthread" value="true"/>
    250         </application>
    251 
    252         <application name="War Thunder" executable="aces">
    253             <option name="mesa_glthread" value="true"/>
    254         </application>
    255         <application name="War Thunder (Wine)" executable="aces.exe">
    256             <option name="mesa_glthread" value="true"/>
    257         </application>
    258 
    259         <application name="Outlast" executable="OLGame.x86_64">
    260             <option name="mesa_glthread" value="true"/>
    261         </application>
    262 
    263         <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
    264             <option name="mesa_glthread" value="true"/>
    265         </application>
    266         <application name="Spec Ops: The Line (64-bit)" executable="specops">
    267             <option name="mesa_glthread" value="true"/>
    268         </application>
    269         <application name="Mount and Blade Warband" executable="mb_warband_linux">
    270             <option name="mesa_glthread" value="true"/>
    271         </application>
    272     </device>
    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" />
    278         </application>
    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" />
    282         </application>
    283     </device>
    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" />
    287         </application>
    288     </device>
    289 </driconf>
    290