Index: src/gpu/batches/GrClearBatch.h |
diff --git a/src/gpu/batches/GrClearBatch.h b/src/gpu/batches/GrClearBatch.h |
index 9a653a3962ca386efdd6c3d55033fc41fbccd029..00a1c84de653cfb5d811fb2c2374444be990286a 100644 |
--- a/src/gpu/batches/GrClearBatch.h |
+++ b/src/gpu/batches/GrClearBatch.h |
@@ -18,12 +18,8 @@ class GrClearBatch final : public GrBatch { |
public: |
DEFINE_BATCH_CLASS_ID |
- GrClearBatch(const SkIRect& rect, GrColor color, GrRenderTarget* rt) |
- : INHERITED(ClassID()) |
- , fRect(rect) |
- , fColor(color) |
- , fRenderTarget(rt) { |
- this->setBounds(SkRect::Make(rect), HasAABloat::kNo, IsZeroArea::kNo); |
+ static sk_sp<GrBatch> Make(const SkIRect& rect, GrColor color, GrRenderTarget* rt) { |
+ return sk_sp<GrBatch>(new GrClearBatch(rect, color, rt)); |
} |
const char* name() const override { return "Clear"; } |
@@ -41,6 +37,14 @@ public: |
} |
private: |
+ GrClearBatch(const SkIRect& rect, GrColor color, GrRenderTarget* rt) |
+ : INHERITED(ClassID()) |
+ , fRect(rect) |
+ , fColor(color) |
+ , fRenderTarget(rt) { |
+ this->setBounds(SkRect::Make(rect), HasAABloat::kNo, IsZeroArea::kNo); |
+ } |
+ |
bool onCombineIfPossible(GrBatch* t, const GrCaps& caps) override { |
// This could be much more complicated. Currently we look at cases where the new clear |
// contains the old clear, or when the new clear is a subset of the old clear and is the |
@@ -71,46 +75,4 @@ private: |
typedef GrBatch INHERITED; |
}; |
-class GrClearStencilClipBatch final : public GrBatch { |
-public: |
- DEFINE_BATCH_CLASS_ID |
- |
- GrClearStencilClipBatch(const SkIRect& rect, bool insideClip, GrRenderTarget* rt) |
- : INHERITED(ClassID()) |
- , fRect(rect) |
- , fInsideClip(insideClip) |
- , fRenderTarget(rt) { |
- this->setBounds(SkRect::Make(rect), HasAABloat::kNo, IsZeroArea::kNo); |
- } |
- |
- const char* name() const override { return "ClearStencilClip"; } |
- |
- uint32_t renderTargetUniqueID() const override { return fRenderTarget.get()->getUniqueID(); } |
- GrRenderTarget* renderTarget() const override { return fRenderTarget.get(); } |
- |
- SkString dumpInfo() const override { |
- SkString string; |
- string.printf("Rect [L: %d, T: %d, R: %d, B: %d], IC: %d, RT: 0x%p", |
- fRect.fLeft, fRect.fTop, fRect.fRight, fRect.fBottom, fInsideClip, |
- fRenderTarget.get()); |
- string.append(INHERITED::dumpInfo()); |
- return string; |
- } |
- |
-private: |
- bool onCombineIfPossible(GrBatch* t, const GrCaps& caps) override { return false; } |
- |
- void onPrepare(GrBatchFlushState*) override {} |
- |
- void onDraw(GrBatchFlushState* state) override { |
- state->commandBuffer()->clearStencilClip(fRect, fInsideClip, fRenderTarget.get()); |
- } |
- |
- SkIRect fRect; |
- bool fInsideClip; |
- GrPendingIOResource<GrRenderTarget, kWrite_GrIOType> fRenderTarget; |
- |
- typedef GrBatch INHERITED; |
-}; |
- |
#endif |