Combine clip stack and clip origin into one struct in GrIODB.

R=egdaniel@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/364823004
diff --git a/src/gpu/GrInOrderDrawBuffer.cpp b/src/gpu/GrInOrderDrawBuffer.cpp
index 45c3884..1cd7f53 100644
--- a/src/gpu/GrInOrderDrawBuffer.cpp
+++ b/src/gpu/GrInOrderDrawBuffer.cpp
@@ -548,7 +548,6 @@
     fVertexPool.reset();
     fIndexPool.reset();
     fClips.reset();
-    fClipOrigins.reset();
     fCopySurfaces.reset();
     fGpuCmdMarkers.reset();
     fClipSet = true;
@@ -587,7 +586,6 @@
 
     StateAllocator::Iter stateIter(&fStates);
     ClipAllocator::Iter clipIter(&fClips);
-    ClipOriginAllocator::Iter clipOriginIter(&fClipOrigins);
     ClearAllocator::Iter clearIter(&fClears);
     DrawAllocator::Iter drawIter(&fDraws);
     StencilPathAllocator::Iter stencilPathIter(&fStencilPaths);
@@ -644,9 +642,8 @@
                 break;
             case kSetClip_Cmd:
                 SkAssertResult(clipIter.next());
-                SkAssertResult(clipOriginIter.next());
-                clipData.fClipStack = clipIter.get();
-                clipData.fOrigin = *clipOriginIter;
+                clipData.fClipStack = &clipIter->fStack;
+                clipData.fOrigin = clipIter->fOrigin;
                 fDstGpu->setClip(&clipData);
                 break;
             case kClear_Cmd:
@@ -676,7 +673,6 @@
     // we should have consumed all the states, clips, etc.
     SkASSERT(!stateIter.next());
     SkASSERT(!clipIter.next());
-    SkASSERT(!clipOriginIter.next());
     SkASSERT(!clearIter.next());
     SkASSERT(!drawIter.next());
     SkASSERT(!copySurfaceIter.next());
@@ -928,12 +924,11 @@
 }
 
 bool GrInOrderDrawBuffer::needsNewClip() const {
-    SkASSERT(fClips.count() == fClipOrigins.count());
     if (this->getDrawState().isClipState()) {
        if (fClipSet &&
            (fClips.empty() ||
-            fClips.back() != *this->getClip()->fClipStack ||
-            fClipOrigins.back() != this->getClip()->fOrigin)) {
+            fClips.back().fStack != *this->getClip()->fClipStack ||
+            fClips.back().fOrigin != this->getClip()->fOrigin)) {
            return true;
        }
     }
@@ -952,8 +947,8 @@
 }
 
 void GrInOrderDrawBuffer::recordClip() {
-    fClips.push_back(*this->getClip()->fClipStack);
-    fClipOrigins.push_back() = this->getClip()->fOrigin;
+    fClips.push_back().fStack = *this->getClip()->fClipStack;
+    fClips.back().fOrigin = this->getClip()->fOrigin;
     fClipSet = false;
     this->addToCmdBuffer(kSetClip_Cmd);
 }
@@ -993,7 +988,6 @@
     return &fCopySurfaces.push_back();
 }
 
-
 void GrInOrderDrawBuffer::clipWillBeSet(const GrClipData* newClipData) {
     INHERITED::clipWillBeSet(newClipData);
     fClipSet = true;