Add full integer support to the shader language.

TRAC #23080

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Jamie Madill

git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2400 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Shader.cpp b/src/libGLESv2/Shader.cpp
index 9e479e8..53731b9 100644
--- a/src/libGLESv2/Shader.cpp
+++ b/src/libGLESv2/Shader.cpp
@@ -517,6 +517,22 @@
     {
         return GL_FLOAT_MAT4x3;
     }
+    else if (type == "int")
+    {
+        return GL_INT;
+    }
+    else if (type == "int2")
+    {
+        return GL_INT_VEC2;
+    }
+    else if (type == "int3")
+    {
+        return GL_INT_VEC3;
+    }
+    else if (type == "int4")
+    {
+        return GL_INT_VEC4;
+    }
     else UNREACHABLE();
 
     return GL_NONE;
@@ -534,12 +550,16 @@
     varyingPriorities[GL_FLOAT_MAT4x2]  = 40;
     varyingPriorities[GL_FLOAT_MAT2]    = 50;
     varyingPriorities[GL_FLOAT_VEC4]    = 60;
+    varyingPriorities[GL_INT_VEC4]      = 61;
     varyingPriorities[GL_FLOAT_MAT3]    = 70;
     varyingPriorities[GL_FLOAT_MAT2x3]  = 80;
     varyingPriorities[GL_FLOAT_MAT3x2]  = 90;
     varyingPriorities[GL_FLOAT_VEC3]    = 100;
+    varyingPriorities[GL_INT_VEC3]      = 101;
     varyingPriorities[GL_FLOAT_VEC2]    = 110;
+    varyingPriorities[GL_INT_VEC2]      = 111;
     varyingPriorities[GL_FLOAT]         = 120;
+    varyingPriorities[GL_INT]           = 125;
 }
 
 // true if varying x has a higher priority in packing than y