Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: src/gpu/GrOvalRenderer.cpp

Issue 1121463002: Move bounds to GrBatch (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: tweaks Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698