Fix the divide by zero exception in BindBufferRange

This bug is caught because we haven't implemented
caps.shaderStorageBufferOffsetAlignment on D3D backend. So the default
value is 0. This change will set its value for D3D11 backend.

BUG=angleproject:2625
TEST=angle_deqp_gles31_tests

Change-Id: I03c045c08903e4da41659133e7dbd9c4133186cc
Reviewed-on: https://chromium-review.googlesource.com/1088192
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/validationES3.cpp b/src/libANGLE/validationES3.cpp
index f132e69..b0faa9b 100644
--- a/src/libANGLE/validationES3.cpp
+++ b/src/libANGLE/validationES3.cpp
@@ -1543,6 +1543,7 @@
                 return false;
             }
 
+            ASSERT(caps.uniformBufferOffsetAlignment);
             if (buffer != 0 && (offset % caps.uniformBufferOffsetAlignment) != 0)
             {
                 context->handleError(
@@ -1589,6 +1590,7 @@
                                                        "indexed binding points.");
                 return false;
             }
+            ASSERT(caps.shaderStorageBufferOffsetAlignment);
             if (buffer != 0 && (offset % caps.shaderStorageBufferOffsetAlignment) != 0)
             {
                 context->handleError(InvalidValue() << "offset must be multiple of value of "