drirc: Add "Second Life" quirk (allow_glsl_extension_directive_midshader).
[mesa.git] / src / mesa / drivers / dri / common / drirc
1 <!--
2
3 ============================================
4 Application bugs worked around in this file:
5 ============================================
6
7 * Various Unigine products don't use the #version and #extension GLSL
8 directives, meaning they only get GLSL 1.10 and no extensions for their
9 shaders.
10 Enabling all extensions for Unigine fixes most issues, but the GLSL version
11 is still 1.10.
12
13 * Unigine Heaven 3.0 with ARB_texture_multisample uses a "ivec4 * vec4"
14 expression, which is illegal in GLSL 1.10.
15 Adding "#version 130" fixes this.
16
17 * Unigine Heaven 3.0 with ARB_shader_bit_encoding uses the uint keyword, which
18 is illegal in GLSL 1.10.
19 Adding "#version 130" fixes this.
20
21 * Unigine Heaven 3.0 with ARB_shader_bit_encoding uses a "uint & int"
22 expression, which is illegal in any GLSL version.
23 Disabling ARB_shader_bit_encoding fixes this.
24
25 * If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
26 an #extension directive in the middle of its shaders, which is illegal
27 in GLSL.
28
29 TODO: document the other workarounds.
30
31 -->
32
33 <driconf>
34 <!-- Please always enable app-specific workarounds for all drivers and
35 screens. -->
36 <device>
37 <application name="Unigine Sanctuary" executable="Sanctuary">
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 Tropics" executable="Tropics">
43 <option name="force_glsl_extensions_warn" value="true" />
44 <option name="disable_blend_func_extended" value="true" />
45 </application>
46
47 <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
48 <option name="force_glsl_extensions_warn" value="true" />
49 <option name="disable_blend_func_extended" value="true" />
50 <option name="force_glsl_version" value="130" />
51 <option name="disable_shader_bit_encoding" value="true" />
52 <option name="allow_glsl_extension_directive_midshader" value="true" />
53 </application>
54
55 <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
56 <option name="force_glsl_extensions_warn" value="true" />
57 <option name="disable_blend_func_extended" value="true" />
58 <option name="force_glsl_version" value="130" />
59 <option name="disable_shader_bit_encoding" value="true" />
60 <option name="allow_glsl_extension_directive_midshader" value="true" />
61 </application>
62
63 <application name="Unigine Valley (32-bit)" executable="valley_x86">
64 <option name="allow_glsl_extension_directive_midshader" value="true" />
65 </application>
66
67 <application name="Unigine Valley (64-bit)" executable="valley_x64">
68 <option name="allow_glsl_extension_directive_midshader" value="true" />
69 </application>
70
71 <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
72 <option name="disable_blend_func_extended" value="true" />
73 </application>
74
75 <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
76 <option name="disable_blend_func_extended" value="true" />
77 </application>
78
79 <application name="Savage 2" executable="savage2.bin">
80 <option name="disable_glsl_line_continuations" value="true" />
81 </application>
82
83 <application name="Topogun (32-bit)" executable="topogun32">
84 <option name="always_have_depth_buffer" value="true" />
85 </application>
86
87 <application name="Topogun (64-bit)" executable="topogun64">
88 <option name="always_have_depth_buffer" value="true" />
89 </application>
90
91 <application name="Dead Island" executable="DeadIslandGame">
92 <option name="allow_glsl_extension_directive_midshader" value="true" />
93 </application>
94
95 <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
96 <option name="allow_glsl_extension_directive_midshader" value="true" />
97 </application>
98 </device>
99 </driconf>