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();
}