aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-16 16:26:33 +0000
committerGravatar bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-16 16:26:33 +0000
commitd57d71a5b857c273d9cf834856e10e663c1ccb91 (patch)
tree1f66acf2794b7082a46de78320db9ff47291f6d3 /src/gpu
parent6ca0a5da6cd7924489d66917f964e0c364b8de9f (diff)
Fix assertion in in order draw buffer
Review URL: http://codereview.appspot.com/6460095/ git-svn-id: http://skia.googlecode.com/svn/trunk@5130 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu')
-rw-r--r--src/gpu/GrInOrderDrawBuffer.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gpu/GrInOrderDrawBuffer.cpp b/src/gpu/GrInOrderDrawBuffer.cpp
index 9f24c4e7a3..a0585f7a6c 100644
--- a/src/gpu/GrInOrderDrawBuffer.cpp
+++ b/src/gpu/GrInOrderDrawBuffer.cpp
@@ -708,8 +708,11 @@ bool GrInOrderDrawBuffer::onReserveIndexSpace(int indexCount, void** indices) {
void GrInOrderDrawBuffer::releaseReservedVertexSpace() {
GeometryPoolState& poolState = fGeoPoolStateStack.back();
const GeometrySrcState& geoSrc = this->getGeomSrc();
-
- GrAssert(kReserved_GeometrySrcType == geoSrc.fVertexSrc);
+
+ // If we get a release vertex space call then our current source should either be reserved
+ // or array (which we copied into reserved space).
+ GrAssert(kReserved_GeometrySrcType == geoSrc.fVertexSrc ||
+ kArray_GeometrySrcType == geoSrc.fVertexSrc);
// When the caller reserved vertex buffer space we gave it back a pointer
// provided by the vertex buffer pool. At each draw we tracked the largest
@@ -728,7 +731,10 @@ void GrInOrderDrawBuffer::releaseReservedIndexSpace() {
GeometryPoolState& poolState = fGeoPoolStateStack.back();
const GeometrySrcState& geoSrc = this->getGeomSrc();
- GrAssert(kReserved_GeometrySrcType == geoSrc.fIndexSrc);
+ // If we get a release index space call then our current source should either be reserved
+ // or array (which we copied into reserved space).
+ GrAssert(kReserved_GeometrySrcType == geoSrc.fIndexSrc ||
+ kArray_GeometrySrcType == geoSrc.fIndexSrc);
// Similar to releaseReservedVertexSpace we return any unused portion at
// the tail