Remove duplicate SH and GL functions.

In several places we were using variable query methods that
were duplicated between the old SH enums and the corresponding
GL enums. We can use the common GL enum versions now.

BUG=angle:466

Change-Id: Ib8797fe6bc75828e05aed37b1f5fbd4b9ba03d22
Reviewed-on: https://chromium-review.googlesource.com/205594
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
diff --git a/src/compiler/translator/Compiler.cpp b/src/compiler/translator/Compiler.cpp
index 898e3ef..aefbb15 100644
--- a/src/compiler/translator/Compiler.cpp
+++ b/src/compiler/translator/Compiler.cpp
@@ -23,6 +23,7 @@
 #include "compiler/translator/timing/RestrictVertexShaderTiming.h"
 #include "third_party/compiler/ArrayBoundsClamper.h"
 #include "angle_gl.h"
+#include "common/utilities.h"
 
 bool IsWebGLBasedSpec(ShShaderSpec spec)
 {
@@ -510,35 +511,8 @@
         const TVariableInfo& varying = varyings[ii];
         if (varying.staticUse)
             continue;
-        unsigned char primarySize = 1, secondarySize = 1;
-        switch (varying.type)
-        {
-          case GL_FLOAT:
-            break;
-          case GL_FLOAT_VEC2:
-            primarySize = 2;
-            break;
-          case GL_FLOAT_VEC3:
-            primarySize = 3;
-            break;
-          case GL_FLOAT_VEC4:
-            primarySize = 4;
-            break;
-          case GL_FLOAT_MAT2:
-            primarySize = 2;
-            secondarySize = 2;
-            break;
-          case GL_FLOAT_MAT3:
-            primarySize = 3;
-            secondarySize = 3;
-            break;
-          case GL_FLOAT_MAT4:
-            primarySize = 4;
-            secondarySize = 4;
-            break;
-          default:
-            ASSERT(false);
-        }
+        unsigned char primarySize = static_cast<unsigned char>(gl::VariableColumnCount(varying.type));
+        unsigned char secondarySize = static_cast<unsigned char>(gl::VariableRowCount(varying.type));
         TType type(EbtFloat, EbpUndefined, EvqVaryingOut, primarySize, secondarySize, varying.isArray);
         TString name = varying.name.c_str();
         if (varying.isArray)