<!--

============================================
Application bugs worked around in this file:
============================================

* 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.

* Unigine Heaven 3.0 with ARB_texture_multisample uses a "ivec4 * vec4"
  expression, which is illegal in GLSL 1.10.
  Adding "#version 130" fixes this.

* Unigine Heaven 3.0 with ARB_shader_bit_encoding uses the uint keyword, which
  is illegal in GLSL 1.10.
  Adding "#version 130" fixes this.

* Unigine Heaven 3.0 with ARB_shader_bit_encoding uses a "uint & int"
  expression, which is illegal in any GLSL version.
  Disabling ARB_shader_bit_encoding fixes this.

* 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.

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="force_glsl_extensions_warn" value="true" />
            <option name="disable_blend_func_extended" value="true" />
            <option name="force_glsl_version" value="130" />
            <option name="disable_shader_bit_encoding" value="true" />
            <option name="allow_glsl_extension_directive_midshader" value="true" />
	</application>

        <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
            <option name="force_glsl_extensions_warn" value="true" />
            <option name="disable_blend_func_extended" value="true" />
            <option name="force_glsl_version" value="130" />
            <option name="disable_shader_bit_encoding" value="true" />
            <option name="allow_glsl_extension_directive_midshader" value="true" />
	</application>

        <application name="Unigine Valley (32-bit)" executable="valley_x86">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
	</application>

        <application name="Unigine Valley (64-bit)" executable="valley_x64">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
	</application>

        <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
            <option name="disable_blend_func_extended" value="true" />
	</application>

        <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
            <option name="disable_blend_func_extended" 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" executable="DeadIslandGame">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>

        <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
            <option name="allow_glsl_extension_directive_midshader" value="true" />
        </application>
    </device>
</driconf>
