Fix missing uint cases for GLSL and ESSL output.

These were causing assertions in several WebGL2 conformance tests.

BUG=angleproject:882
BUG=angleproject:1084
BUG=483282

Change-Id: I7651c359a528c95469dcbfb5da2715ae4616b49b
Reviewed-on: https://chromium-review.googlesource.com/286592
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp
index 9f49430..54a1b27 100644
--- a/src/compiler/translator/OutputGLSLBase.cpp
+++ b/src/compiler/translator/OutputGLSLBase.cpp
@@ -921,6 +921,18 @@
       case EOpConstructIVec4:
         writeConstructorTriplet(visit, node->getType(), "ivec4");
         break;
+      case EOpConstructUInt:
+        writeConstructorTriplet(visit, node->getType(), "uint");
+        break;
+      case EOpConstructUVec2:
+        writeConstructorTriplet(visit, node->getType(), "uvec2");
+        break;
+      case EOpConstructUVec3:
+        writeConstructorTriplet(visit, node->getType(), "uvec3");
+        break;
+      case EOpConstructUVec4:
+        writeConstructorTriplet(visit, node->getType(), "uvec4");
+        break;
       case EOpConstructMat2:
         writeConstructorTriplet(visit, node->getType(), "mat2");
         break;
@@ -1185,6 +1197,9 @@
           case EbtBool:
             out << "bvec";
             break;
+          case EbtUInt:
+            out << "uvec";
+            break;
           default:
             UNREACHABLE();
         }