Make GrFillRRectOp a GrMeshDrawOp

I don't know why this wasn't always a meshDrawOp. Bringing it into the fold reduces some of the boiler plate code and centralizes things.

Bug: skia:9455
Change-Id: Icd71907c3dc2ecefe4a2040293f94884678bbf45
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/278179
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/GrMeshDrawOp.cpp b/src/gpu/ops/GrMeshDrawOp.cpp
index da046e1..54ea21b 100644
--- a/src/gpu/ops/GrMeshDrawOp.cpp
+++ b/src/gpu/ops/GrMeshDrawOp.cpp
@@ -38,6 +38,10 @@
     this->createProgramInfo(context->priv().caps(), arena, outputView,
                             std::move(appliedClip), dstProxyView);
 
+    // TODO: at this point we've created both the program info and desc in the recording context's
+    // arena. In the DDL case, it would be cool if 'recordProgramInfo' could return the
+    // pre-existing versions if the program has already been seen. We could then return the
+    // memory for the current copy to the arena.
     context->priv().recordProgramInfo(this->programInfo());
 }