glsl: Track existence of default float precision in GLSL ES fragment shaders
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 9 Aug 2013 22:17:18 +0000 (15:17 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 21 Aug 2013 14:44:26 +0000 (07:44 -0700)
commitcabd45773b58d6aa48202da1cdd8cf1a6b856c53
tree6c227936eb1e3d4b10cf4f8a07c3ad53058bd543
parent73e2d69792fba229e52ea47165592d086e650c45
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>
src/glsl/ast.h
src/glsl/ast_to_hir.cpp