From d719bf8fb4b8f511fbb00dd990fb644efc510c0e Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 17 Nov 2010 12:50:35 -0800 Subject: 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. --- src/glsl/glcpp/glcpp-parse.y | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/glsl/glcpp') diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y index b69035a410..8475e08f00 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); -- cgit v1.2.3