Only apply Appendix A limitations to ESSL 1.00 shaders

ESSL 1.00 specifies a set of minimum functionality, and ANGLE
automatically checks that WebGL shaders stay within this minimum
functionality. However, this should only apply to ESSL 1.00. ESSL 3.00
shaders compiled for WebGL 2.0 should not be subject to these
restrictions, since there is no similar spec for minimum functionality
for ESSL 3.00.

In case a non-WebGL based shader spec is used, the restrictions can be
toggled from outside by specifying the SH_VALIDATE_LOOP_INDEXING flag,
same as before this patch.

BUG=angleproject:1116
TEST=WebGL 2 conformance tests

Change-Id: Idaec0fb4c7c85cd72020d0b23112fddb1b020571
Reviewed-on: https://chromium-review.googlesource.com/293933
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
diff --git a/src/compiler/translator/Compiler.h b/src/compiler/translator/Compiler.h
index 7421c33..d1f2912 100644
--- a/src/compiler/translator/Compiler.h
+++ b/src/compiler/translator/Compiler.h
@@ -175,8 +175,9 @@
     class UnusedPredicate;
     bool pruneUnusedFunctions(TIntermNode *root);
 
-    TIntermNode *compileTreeImpl(const char* const shaderStrings[],
-        size_t numStrings, int compileOptions);
+    TIntermNode *compileTreeImpl(const char *const shaderStrings[],
+                                 size_t numStrings,
+                                 const int compileOptions);
 
     sh::GLenum shaderType;
     ShShaderSpec shaderSpec;