add support for clears to Metal backend

Bug: skia:
Change-Id: I35d9fcf096d078d6dc04093e3591df0ac12079b7
Reviewed-on: https://skia-review.googlesource.com/c/161821
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/mtl/GrMtlGpuCommandBuffer.h b/src/gpu/mtl/GrMtlGpuCommandBuffer.h
index 83efb07..db63860 100644
--- a/src/gpu/mtl/GrMtlGpuCommandBuffer.h
+++ b/src/gpu/mtl/GrMtlGpuCommandBuffer.h
@@ -43,6 +43,7 @@
 class GrMtlGpuRTCommandBuffer : public GrGpuRTCommandBuffer, private GrMesh::SendToGpuImpl {
 public:
     GrMtlGpuRTCommandBuffer(GrMtlGpu* gpu, GrRenderTarget* rt, GrSurfaceOrigin origin,
+                            const SkRect& bounds,
                             const GrGpuRTCommandBuffer::LoadAndStoreInfo& colorInfo,
                             const GrGpuRTCommandBuffer::StencilLoadAndStoreInfo& stencilInfo);
 
@@ -83,7 +84,7 @@
                 int meshCount,
                 const SkRect& bounds) override;
 
-    void onClear(const GrFixedClip& clip, GrColor color) override {}
+    void onClear(const GrFixedClip& clip, GrColor color) override;
 
     void onClearStencilClip(const GrFixedClip& clip, bool insideStencilMask) override;
 
@@ -119,6 +120,8 @@
                                        int baseInstance, GrPrimitiveRestart) final;
 
     GrMtlGpu*                                     fGpu;
+    // GrRenderTargetProxy bounds
+    SkRect                                        fBounds;
     GrGpuRTCommandBuffer::LoadAndStoreInfo        fColorLoadAndStoreInfo;
     GrGpuRTCommandBuffer::StencilLoadAndStoreInfo fStencilLoadAndStoreInfo;