Add an option to initialize varyings without static use in vertex shaders

ANGLEBUG=554
TEST=webgl conformance test on mac: shaders-with-varyings.html
r=kbr@chromium.org,nicolascapens@chromium.org
cc=alokp@chromium.org,shannonwoods@chromium.org

Change-Id: I2e692d43fb15f1cf3ade3e398020d1fedb2b32f0
Reviewed-on: https://chromium-review.googlesource.com/185922
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>

Conflicts:
	src/common/version.h
	src/compiler/translator/Compiler.cpp
Change-Id: If7db13ef345bd6199d4ea0d7786f0de20885f2f3
Reviewed-on: https://chromium-review.googlesource.com/186144
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Zhenyao Mo <zmo@chromium.org>
diff --git a/src/compiler/translator/VariableInfo.cpp b/src/compiler/translator/VariableInfo.cpp
index 2c95533..fdaef29 100644
--- a/src/compiler/translator/VariableInfo.cpp
+++ b/src/compiler/translator/VariableInfo.cpp
@@ -163,10 +163,12 @@
         varInfo.name = (name + "[0]").c_str();
         varInfo.mappedName = (mappedName + "[0]").c_str();
         varInfo.size = type.getArraySize();
+        varInfo.isArray = true;
     } else {
         varInfo.name = name.c_str();
         varInfo.mappedName = mappedName.c_str();
         varInfo.size = 1;
+        varInfo.isArray = false;
     }
     varInfo.precision = type.getPrecision();
     varInfo.type = getVariableDataType(type);
@@ -214,6 +216,7 @@
 TVariableInfo::TVariableInfo()
     : type(SH_NONE),
       size(0),
+      isArray(false),
       precision(EbpUndefined),
       staticUse(false)
 {
@@ -222,6 +225,7 @@
 TVariableInfo::TVariableInfo(ShDataType type, int size)
     : type(type),
       size(size),
+      isArray(false),
       precision(EbpUndefined),
       staticUse(false)
 {