aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDrawTarget.cpp
diff options
context:
space:
mode:
authorGravatar robertphillips <robertphillips@google.com>2016-07-08 14:43:03 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-07-08 14:43:04 -0700
commit443023975e335e3630191227dbc21fa72c436af3 (patch)
tree7bdf397d73cd80ecf450db54e3932d6d74604e29 /src/gpu/GrDrawTarget.cpp
parent9a4cfa81de1f485c630785eef5e305c60faab80a (diff)
Add choke point for modifying non-AA rect draws (e.g., applying clipping)
Diffstat (limited to 'src/gpu/GrDrawTarget.cpp')
-rw-r--r--src/gpu/GrDrawTarget.cpp14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/gpu/GrDrawTarget.cpp b/src/gpu/GrDrawTarget.cpp
index 8beaade32c..bffe2f9740 100644
--- a/src/gpu/GrDrawTarget.cpp
+++ b/src/gpu/GrDrawTarget.cpp
@@ -469,15 +469,13 @@ void GrDrawTarget::clear(const SkIRect* rect,
drawContext->discard();
}
- // TODO: flip this into real draw!
- GrPipelineBuilder pipelineBuilder;
- pipelineBuilder.setXPFactory(GrPorterDuffXPFactory::Make(SkXfermode::kSrc_Mode));
-
SkRect scalarRect = SkRect::Make(*rect);
- SkAutoTUnref<GrDrawBatch> batch(
- GrRectBatchFactory::CreateNonAAFill(color, SkMatrix::I(), scalarRect,
- nullptr, nullptr));
- this->drawBatch(pipelineBuilder, drawContext, GrNoClip(), batch);
+
+ GrPaint paint;
+ paint.setColor4f(GrColor4f::FromGrColor(color));
+ paint.setXPFactory(GrPorterDuffXPFactory::Make(SkXfermode::kSrc_Mode));
+
+ drawContext->drawRect(GrNoClip(), paint, SkMatrix::I(), scalarRect);
} else {
GrBatch* batch = new GrClearBatch(*rect, color, drawContext->accessRenderTarget());
this->recordBatch(batch, batch->bounds());