add API for Op creation
Introduce three calls on GrOp: Make, MakeWithExtraMemory,
and MakeWithProcessorSet. Instead of returning
unique_ptr<GrOp>, they return a type of GrOp::OpOwner.
GrOp::OpOwner safely deletes the op when it goes out
of scope for either new/delete or GrOpMemoryPool
allocations.
In order to make the code easier to refactor, I
eliminated MakeArg from the helpers.
Change-Id: Icfd697906f3147a8734575d08bd7195e7517383a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/323778
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Herb Derby <herb@google.com>
diff --git a/src/gpu/ops/GrFillRRectOp.h b/src/gpu/ops/GrFillRRectOp.h
index 3d0949a..c544c80f 100644
--- a/src/gpu/ops/GrFillRRectOp.h
+++ b/src/gpu/ops/GrFillRRectOp.h
@@ -9,6 +9,7 @@
#define GrFillRRectOp_DEFINED
#include "include/private/GrTypesPriv.h"
+#include "src/gpu/ops/GrOp.h"
class GrCaps;
class GrDrawOp;
@@ -18,11 +19,11 @@
class SkRRect;
namespace GrFillRRectOp {
- std::unique_ptr<GrDrawOp> Make(GrRecordingContext*,
- GrPaint&&,
- const SkMatrix& viewMatrix,
- const SkRRect&,
- GrAAType);
+ GrOp::Owner Make(GrRecordingContext*,
+ GrPaint&&,
+ const SkMatrix& viewMatrix,
+ const SkRRect&,
+ GrAAType);
} // namespace GrFillRRectOp
#endif