[Mesa-dev] [PATCH 13/15] mesa, glsl, st/dri: add a new driconf option force_glsl_version for Unigine

Kenneth Graunke kenneth at whitecape.org
Fri Jul 19 10:57:29 PDT 2013


On 07/19/2013 08:18 AM, Marek Olšák wrote:
[snip]
> diff --git a/src/mesa/drivers/dri/common/drirc b/src/mesa/drivers/dri/common/drirc
> index 7c2d3ba..b5430ed 100644
> --- a/src/mesa/drivers/dri/common/drirc
> +++ b/src/mesa/drivers/dri/common/drirc
> @@ -1,3 +1,27 @@
> +<!--
> +
> +============================================
> +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 fails to compile with GLSL 1.10.
> +  Adding "#version 130" fixes this.
> +
> +* Unigine Heaven 3.0 with ARB_shader_bit_encoding uses the uint keyword, which
> +  fails to compile with GLSL 1.10.
> +  Adding "#version 130" fixes this.

Have you tried Unigine Heaven 4.0?  You need to:

export MESA_GL_VERSION_OVERRIDE=3.2
export MESA_GLSL_VERSION_OVERRIDE=150

but then it works fine, at least on i965, without any workarounds at 
all.  It actually seems to render correctly and everything.  Heaven 3.0 
never did (maybe I need the -ARB_shader_bit_encoding workaround too).

Valley and OilRush still have one bug with blend_func_extended.

--Ken


More information about the mesa-dev mailing list