Mesa (master): glsl: Unconditionally define GL_FRAGMENT_PRECISION_HIGH in ES2 shaders.
Kenneth Graunke
kwg at kemper.freedesktop.org
Wed Nov 17 20:55:41 UTC 2010
Module: Mesa
Branch: master
Commit: d719bf8fb4b8f511fbb00dd990fb644efc510c0e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d719bf8fb4b8f511fbb00dd990fb644efc510c0e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 17 12:50:35 2010 -0800
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 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);
More information about the mesa-commit
mailing list