summaryrefslogtreecommitdiffstats
path: root/src/glsl/glcpp
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2010-11-17 12:50:35 -0800
committerKenneth Graunke <kenneth@whitecape.org>2010-11-17 12:50:35 -0800
commitd719bf8fb4b8f511fbb00dd990fb644efc510c0e (patch)
treee5a42a02ac347314385a4a86bf42408681e13fc0 /src/glsl/glcpp
parent778917069c34971d12c6704a53bcbd6416ddf9ab (diff)
downloadexternal_mesa3d-d719bf8fb4b8f511fbb00dd990fb644efc510c0e.zip
external_mesa3d-d719bf8fb4b8f511fbb00dd990fb644efc510c0e.tar.gz
external_mesa3d-d719bf8fb4b8f511fbb00dd990fb644efc510c0e.tar.bz2
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.
Diffstat (limited to 'src/glsl/glcpp')
-rw-r--r--src/glsl/glcpp/glcpp-parse.y7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index b69035a..8475e08 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);