Remove clip from GrPipelineBuilder
This eliminates a copy and will allow us to make the GrClip class
virutal.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1966903004
Review-Url: https://codereview.chromium.org/1966903004
diff --git a/src/gpu/text/GrAtlasTextBlob.cpp b/src/gpu/text/GrAtlasTextBlob.cpp
index 7d807da..ed44ed5 100644
--- a/src/gpu/text/GrAtlasTextBlob.cpp
+++ b/src/gpu/text/GrAtlasTextBlob.cpp
@@ -300,8 +300,8 @@
inline
void GrAtlasTextBlob::flushRun(GrDrawContext* dc, GrPipelineBuilder* pipelineBuilder,
- int run, const SkMatrix& viewMatrix, SkScalar x, SkScalar y,
- GrColor color,
+ const GrClip& clip, int run, const SkMatrix& viewMatrix, SkScalar x,
+ SkScalar y, GrColor color,
const SkPaint& skPaint, const SkSurfaceProps& props,
const GrDistanceFieldAdjustTable* distanceAdjustTable,
GrBatchFontCache* cache) {
@@ -317,7 +317,7 @@
skPaint, props,
distanceAdjustTable, dc->isGammaCorrect(),
cache));
- dc->drawBatch(pipelineBuilder, batch);
+ dc->drawBatch(pipelineBuilder, clip, batch);
}
}
@@ -416,7 +416,7 @@
SkScalar x, SkScalar y) {
// We loop through the runs of the blob, flushing each. If any run is too large, then we flush
// it as paths
- GrPipelineBuilder pipelineBuilder(grPaint, dc->accessRenderTarget(), clip);
+ GrPipelineBuilder pipelineBuilder(grPaint, dc->accessRenderTarget());
GrColor color = grPaint.getColor();
@@ -427,7 +427,7 @@
drawFilter, viewMatrix, clipBounds, x, y);
continue;
}
- this->flushRun(dc, &pipelineBuilder, run, viewMatrix, x, y, color, skPaint, props,
+ this->flushRun(dc, &pipelineBuilder, clip, run, viewMatrix, x, y, color, skPaint, props,
distanceAdjustTable, context->getBatchFontCache());
}
@@ -445,11 +445,11 @@
const SkMatrix& viewMatrix,
const SkIRect& clipBounds,
SkScalar x, SkScalar y) {
- GrPipelineBuilder pipelineBuilder(grPaint, dc->accessRenderTarget(), clip);
+ GrPipelineBuilder pipelineBuilder(grPaint, dc->accessRenderTarget());
GrColor color = grPaint.getColor();
for (int run = 0; run < fRunCount; run++) {
- this->flushRun(dc, &pipelineBuilder, run, viewMatrix, x, y, color, skPaint, props,
+ this->flushRun(dc, &pipelineBuilder, clip, run, viewMatrix, x, y, color, skPaint, props,
distanceAdjustTable, context->getBatchFontCache());
}