Use Range type for index ranges.

This compacts a lot of parameter passing. Refactoring patch only.

BUG=angle:571

Change-Id: Ic918478d0c6b81093bfea6154ce0f6bf1d2b5be2
Reviewed-on: https://chromium-review.googlesource.com/210645
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/Context.cpp b/src/libGLESv2/Context.cpp
index bccfd14..81ddeac 100644
--- a/src/libGLESv2/Context.cpp
+++ b/src/libGLESv2/Context.cpp
@@ -1832,8 +1832,10 @@
         return gl::error(err);
     }
 
-    GLsizei vertexCount = indexInfo.maxIndex - indexInfo.minIndex + 1;
-    err = mRenderer->applyVertexBuffer(programBinary, vao->getVertexAttributes(), mState.getVertexAttribCurrentValues(), indexInfo.minIndex, vertexCount, instances);
+    GLsizei vertexCount = indexInfo.indexRange.length() + 1;
+    err = mRenderer->applyVertexBuffer(programBinary, vao->getVertexAttributes(),
+                                       mState.getVertexAttribCurrentValues(),
+                                       indexInfo.indexRange.start, vertexCount, instances);
     if (err != GL_NO_ERROR)
     {
         return gl::error(err);