Iterate over instanced draws in GrGpu rather than above GrBatchTarget

Review URL: https://codereview.chromium.org/1127273007
diff --git a/src/gpu/GrBatch.cpp b/src/gpu/GrBatch.cpp
index 0655a4c..e69819e 100644
--- a/src/gpu/GrBatch.cpp
+++ b/src/gpu/GrBatch.cpp
@@ -50,7 +50,6 @@
                                      size_t vertexStride, const GrIndexBuffer* indexBuffer,
                                      int verticesPerInstance, int indicesPerInstance,
                                      int instancesToDraw) {
-    SkASSERT(!fInstancesRemaining);
     SkASSERT(batchTarget);
     if (!indexBuffer) {
         return NULL;
@@ -65,14 +64,12 @@
         return NULL;
     }
     SkASSERT(vertexBuffer);
-    fInstancesRemaining = instancesToDraw;
     size_t ibSize = indexBuffer->gpuMemorySize();
-    fMaxInstancesPerDraw = static_cast<int>(ibSize / (sizeof(uint16_t) * indicesPerInstance));
+    int maxInstancesPerDraw = static_cast<int>(ibSize / (sizeof(uint16_t) * indicesPerInstance));
 
     fVertices.initInstanced(primType, vertexBuffer, indexBuffer,
-        firstVertex, verticesPerInstance, indicesPerInstance, &fInstancesRemaining,
-        fMaxInstancesPerDraw);
-    SkASSERT(fMaxInstancesPerDraw > 0);
+        firstVertex, verticesPerInstance, indicesPerInstance, instancesToDraw,
+        maxInstancesPerDraw);
     return vertices;
 }