From: Kenneth Graunke Date: Wed, 17 Nov 2010 20:50:35 +0000 (-0800) Subject: glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d719bf8fb4b8f511fbb00dd990fb644efc510c0e;p=mesa.git glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders. This is really supposed to be defined only if the driver supports highp in the fragment shader - but all of our current ES2 implementations do. So, just define it. In the future, we'll need to add a flag to gl_context and only define the macro if the flag is set. "Fixes" freedesktop.org bug #31673. --- diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index b69035a410a..8475e08f00c 100644 --- a/src/glsl/glcpp/glcpp-parse.y +++ b/src/glsl/glcpp/glcpp-parse.y @@ -320,7 +320,12 @@ control_line: if ($2 == 100) add_builtin_define (parser, "GL_ES", 1); - if ($2 >= 130) + /* Currently, all ES2 implementations support highp in the + * fragment shader, so we always define this macro in ES2. + * If we ever get a driver that doesn't support highp, we'll + * need to add a flag to the gl_context and check that here. + */ + if ($2 >= 130 || $2 == 100) add_builtin_define (parser, "GL_FRAGMENT_PRECISION_HIGH", 1); glcpp_printf(parser->output, "#version %" PRIiMAX, $2);