| 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;
|
| }
|
|
|