Implement support for the binary operator '%' in the translator.

BUG=angle:854

Change-Id: If116de132dc83d93255749b54c1919a75abcb65c
Reviewed-on: https://chromium-review.googlesource.com/236330
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/OutputGLSLBase.cpp b/src/compiler/translator/OutputGLSLBase.cpp
index 35de15c..6b01e49 100644
--- a/src/compiler/translator/OutputGLSLBase.cpp
+++ b/src/compiler/translator/OutputGLSLBase.cpp
@@ -223,6 +223,9 @@
       case EOpDivAssign:
         writeTriplet(visit, "(", " /= ", ")");
         break;
+      case EOpModAssign:
+        writeTriplet(visit, "(", " %= ", ")");
+        break;
       // Notice the fall-through.
       case EOpMulAssign:
       case EOpVectorTimesMatrixAssign:
@@ -341,7 +344,7 @@
         writeTriplet(visit, "(", " / ", ")");
         break;
       case EOpMod:
-        UNIMPLEMENTED();
+        writeTriplet(visit, "(", " % ", ")");
         break;
       case EOpEqual:
         writeTriplet(visit, "(", " == ", ")");