Don't divide in the validation of DrawElements

BUG=angleproject:1671
Change-Id: I58dd30d0aaffd1a776aa14a04011cbdd72181bf2
Reviewed-on: https://chromium-review.googlesource.com/648356
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES.cpp b/src/libANGLE/validationES.cpp
index 7b55135..ad66ede 100644
--- a/src/libANGLE/validationES.cpp
+++ b/src/libANGLE/validationES.cpp
@@ -2871,8 +2871,8 @@
                 return false;
             }
 
-            ASSERT(typeSize > 0);
-            if (elementArrayBuffer->getSize() % typeSize != 0)
+            ASSERT(isPow2(typeSize) && typeSize > 0);
+            if ((elementArrayBuffer->getSize() & (typeSize - 1)) != 0)
             {
                 ANGLE_VALIDATION_ERR(context, InvalidOperation(), MismatchedByteCountType);
                 return false;