Index: src/gpu/GrOvalRenderer.cpp |
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp |
index 9a02a871570ed8ca073e0013a768f5e02a60ee42..f6b81f266a15c99e7fa8cfffaca1be722d8fab80 100644 |
--- a/src/gpu/GrOvalRenderer.cpp |
+++ b/src/gpu/GrOvalRenderer.cpp |
@@ -835,6 +835,8 @@ private: |
CircleBatch(const Geometry& geometry) { |
this->initClassID<CircleBatch>(); |
fGeoData.push_back(geometry); |
+ |
+ this->setBounds(geometry.fDevBounds); |
} |
bool onCombineIfPossible(GrBatch* t) override { |
@@ -855,6 +857,7 @@ private: |
} |
fGeoData.push_back_n(that->geoData()->count(), that->geoData()->begin()); |
+ this->joinBounds(that->bounds()); |
return true; |
} |
@@ -934,7 +937,7 @@ void GrOvalRenderer::drawCircle(GrDrawTarget* target, |
geometry.fDevBounds = bounds; |
SkAutoTUnref<GrBatch> batch(CircleBatch::Create(geometry)); |
- target->drawBatch(pipelineBuilder, batch, &bounds); |
+ target->drawBatch(pipelineBuilder, batch); |
} |
/////////////////////////////////////////////////////////////////////////////// |
@@ -1095,6 +1098,8 @@ private: |
EllipseBatch(const Geometry& geometry) { |
this->initClassID<EllipseBatch>(); |
fGeoData.push_back(geometry); |
+ |
+ this->setBounds(geometry.fDevBounds); |
} |
bool onCombineIfPossible(GrBatch* t) override { |
@@ -1115,6 +1120,7 @@ private: |
} |
fGeoData.push_back_n(that->geoData()->count(), that->geoData()->begin()); |
+ this->joinBounds(that->bounds()); |
return true; |
} |
@@ -1231,7 +1237,7 @@ bool GrOvalRenderer::drawEllipse(GrDrawTarget* target, |
geometry.fDevBounds = bounds; |
SkAutoTUnref<GrBatch> batch(EllipseBatch::Create(geometry)); |
- target->drawBatch(pipelineBuilder, batch, &bounds); |
+ target->drawBatch(pipelineBuilder, batch); |
return true; |
} |
@@ -1387,6 +1393,9 @@ private: |
DIEllipseBatch(const Geometry& geometry) { |
this->initClassID<DIEllipseBatch>(); |
fGeoData.push_back(geometry); |
+ |
+ this->setBounds(geometry.fBounds); |
+ geometry.fViewMatrix.mapRect(this->getBounds()); |
} |
bool onCombineIfPossible(GrBatch* t) override { |
@@ -1407,6 +1416,7 @@ private: |
} |
fGeoData.push_back_n(that->geoData()->count(), that->geoData()->begin()); |
+ this->joinBounds(that->bounds()); |
return true; |
} |
@@ -1511,10 +1521,8 @@ bool GrOvalRenderer::drawDIEllipse(GrDrawTarget* target, |
geometry.fMode = mode; |
geometry.fBounds = bounds; |
- viewMatrix.mapRect(&bounds); |
- |
SkAutoTUnref<GrBatch> batch(DIEllipseBatch::Create(geometry)); |
- target->drawBatch(pipelineBuilder, batch, &bounds); |
+ target->drawBatch(pipelineBuilder, batch); |
return true; |
} |
@@ -1797,6 +1805,8 @@ private: |
: fIndexBuffer(indexBuffer) { |
this->initClassID<RRectCircleRendererBatch>(); |
fGeoData.push_back(geometry); |
+ |
+ this->setBounds(geometry.fDevBounds); |
} |
bool onCombineIfPossible(GrBatch* t) override { |
@@ -1817,6 +1827,7 @@ private: |
} |
fGeoData.push_back_n(that->geoData()->count(), that->geoData()->begin()); |
+ this->joinBounds(that->bounds()); |
return true; |
} |
@@ -2016,6 +2027,8 @@ private: |
: fIndexBuffer(indexBuffer) { |
this->initClassID<RRectEllipseRendererBatch>(); |
fGeoData.push_back(geometry); |
+ |
+ this->setBounds(geometry.fDevBounds); |
} |
bool onCombineIfPossible(GrBatch* t) override { |
@@ -2036,6 +2049,7 @@ private: |
} |
fGeoData.push_back_n(that->geoData()->count(), that->geoData()->begin()); |
+ this->joinBounds(that->bounds()); |
return true; |
} |
@@ -2174,7 +2188,7 @@ bool GrOvalRenderer::drawRRect(GrDrawTarget* target, |
geometry.fDevBounds = bounds; |
SkAutoTUnref<GrBatch> batch(RRectCircleRendererBatch::Create(geometry, indexBuffer)); |
- target->drawBatch(pipelineBuilder, batch, &bounds); |
+ target->drawBatch(pipelineBuilder, batch); |
// otherwise we use the ellipse renderer |
} else { |
@@ -2226,7 +2240,7 @@ bool GrOvalRenderer::drawRRect(GrDrawTarget* target, |
geometry.fDevBounds = bounds; |
SkAutoTUnref<GrBatch> batch(RRectEllipseRendererBatch::Create(geometry, indexBuffer)); |
- target->drawBatch(pipelineBuilder, batch, &bounds); |
+ target->drawBatch(pipelineBuilder, batch); |
} |
return true; |
} |