Accelerate AA filled rect drawing using drawIndexedInstances

https://codereview.appspot.com/6947078/



git-svn-id: http://skia.googlecode.com/svn/trunk@6889 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/GrInOrderDrawBuffer.cpp b/src/gpu/GrInOrderDrawBuffer.cpp
index 51546e7..d51dca4 100644
--- a/src/gpu/GrInOrderDrawBuffer.cpp
+++ b/src/gpu/GrInOrderDrawBuffer.cpp
@@ -300,16 +300,16 @@
             draw->fVertexBuffer != vertexBuffer) {
 
             draw = this->recordDraw();
-            draw->fIndexBuffer = geomSrc.fIndexBuffer;
-            geomSrc.fIndexBuffer->ref();
+            draw->fPrimitiveType = type;
+            draw->fStartVertex = poolState.fPoolStartVertex;
+            draw->fStartIndex = 0;
+            draw->fVertexCount = 0;
+            draw->fIndexCount = 0;
+            draw->fVertexLayout = geomSrc.fVertexLayout;
             draw->fVertexBuffer = vertexBuffer;
             vertexBuffer->ref();
-            draw->fPrimitiveType = type;
-            draw->fStartIndex = 0;
-            draw->fIndexCount = 0;
-            draw->fStartVertex = poolState.fPoolStartVertex;
-            draw->fVertexCount = 0;
-            draw->fVertexLayout = geomSrc.fVertexLayout;
+            draw->fIndexBuffer = geomSrc.fIndexBuffer;
+            geomSrc.fIndexBuffer->ref();
         } else {
             GrAssert(!(draw->fIndexCount % indicesPerInstance));
             GrAssert(!(draw->fVertexCount % verticesPerInstance));
@@ -343,15 +343,16 @@
             if (!instancesToConcat) {
                 int startVertex = draw->fStartVertex + draw->fVertexCount;
                 draw = this->recordDraw();
-                draw->fIndexBuffer = geomSrc.fIndexBuffer;
-                geomSrc.fIndexBuffer->ref();
+                draw->fPrimitiveType = type;
+                draw->fStartVertex = startVertex;
+                draw->fStartIndex = 0;
+                draw->fVertexCount = 0;
+                draw->fIndexCount = 0;
+                draw->fVertexLayout = geomSrc.fVertexLayout;
                 draw->fVertexBuffer = vertexBuffer;
                 vertexBuffer->ref();
-                draw->fPrimitiveType = type;
-                draw->fStartIndex = 0;
-                draw->fStartVertex = startVertex;
-                draw->fVertexCount = 0;
-                draw->fVertexLayout = geomSrc.fVertexLayout;
+                draw->fIndexBuffer = geomSrc.fIndexBuffer;
+                geomSrc.fIndexBuffer->ref();
                 instancesToConcat = maxInstancesPerDraw;
             }
             draw->fVertexCount += instancesToConcat * verticesPerInstance;