All batches do their own pipeline compare
BUG=skia:
Review URL: https://codereview.chromium.org/1242033002
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp
index 88b2f3e..d337bbb 100644
--- a/src/gpu/GrOvalRenderer.cpp
+++ b/src/gpu/GrOvalRenderer.cpp
@@ -734,6 +734,10 @@
}
bool onCombineIfPossible(GrBatch* t) override {
+ if (!this->pipeline()->isEqual(*t->pipeline())) {
+ return false;
+ }
+
CircleBatch* that = t->cast<CircleBatch>();
// TODO use vertex color to avoid breaking batches
@@ -953,6 +957,10 @@
}
bool onCombineIfPossible(GrBatch* t) override {
+ if (!this->pipeline()->isEqual(*t->pipeline())) {
+ return false;
+ }
+
EllipseBatch* that = t->cast<EllipseBatch>();
// TODO use vertex color to avoid breaking batches
@@ -1207,6 +1215,10 @@
}
bool onCombineIfPossible(GrBatch* t) override {
+ if (!this->pipeline()->isEqual(*t->pipeline())) {
+ return false;
+ }
+
DIEllipseBatch* that = t->cast<DIEllipseBatch>();
// TODO use vertex color to avoid breaking batches
@@ -1580,6 +1592,10 @@
}
bool onCombineIfPossible(GrBatch* t) override {
+ if (!this->pipeline()->isEqual(*t->pipeline())) {
+ return false;
+ }
+
RRectCircleRendererBatch* that = t->cast<RRectCircleRendererBatch>();
// TODO use vertex color to avoid breaking batches
@@ -1762,6 +1778,10 @@
}
bool onCombineIfPossible(GrBatch* t) override {
+ if (!this->pipeline()->isEqual(*t->pipeline())) {
+ return false;
+ }
+
RRectEllipseRendererBatch* that = t->cast<RRectEllipseRendererBatch>();
// TODO use vertex color to avoid breaking batches