summaryrefslogtreecommitdiffstats
path: root/src/glsl/ast.h
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2013-08-09 15:17:18 -0700
committerIan Romanick <ian.d.romanick@intel.com>2013-08-21 07:44:26 -0700
commitcabd45773b58d6aa48202da1cdd8cf1a6b856c53 (patch)
tree6c227936eb1e3d4b10cf4f8a07c3ad53058bd543 /src/glsl/ast.h
parent73e2d69792fba229e52ea47165592d086e650c45 (diff)
downloadexternal_mesa3d-cabd45773b58d6aa48202da1cdd8cf1a6b856c53.zip
external_mesa3d-cabd45773b58d6aa48202da1cdd8cf1a6b856c53.tar.gz
external_mesa3d-cabd45773b58d6aa48202da1cdd8cf1a6b856c53.tar.bz2
glsl: Track existence of default float precision in GLSL ES fragment shaders
This is required by the spec, and it's a bit tricky because the default precision is scoped. As a result, I'm slightly abusing the symbol table. Fixes piglit no-default-float-precision.frag tests and the piglit default-precision-nested-scope-0[1234].frag tests that are currently on the piglit mailing list for review. On IRC I got confirmation from cwabbot that ARM (Mali T6xx and T400) enforces this requirement and from kusma that NVIDIA (Tegra2) enforces this requirement. We should be safe from regressing shipping applications. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "9.2" <mesa-stable@lists.freedesktop.org>
Diffstat (limited to 'src/glsl/ast.h')
-rw-r--r--src/glsl/ast.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/glsl/ast.h b/src/glsl/ast.h
index 9b194db..335374d 100644
--- a/src/glsl/ast.h
+++ b/src/glsl/ast.h
@@ -610,6 +610,10 @@ public:
virtual void print(void) const;
bool has_qualifiers() const;
+ const struct glsl_type *glsl_type(const char **name,
+ struct _mesa_glsl_parse_state *state)
+ const;
+
ast_type_qualifier qualifier;
ast_type_specifier *specifier;
};