Move GrAtlasRenderTask to gpu/ops and skgpu::v1 namespace

Bug: skia:11837
Change-Id: I29352c0e2c9e987b28be983c3d519a88b589baf1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/442022
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/AtlasPathRenderer.cpp b/src/gpu/ops/AtlasPathRenderer.cpp
index a6b6187..3283896 100644
--- a/src/gpu/ops/AtlasPathRenderer.cpp
+++ b/src/gpu/ops/AtlasPathRenderer.cpp
@@ -14,9 +14,9 @@
 #include "src/gpu/GrVx.h"
 #include "src/gpu/effects/GrModulateAtlasCoverageEffect.h"
 #include "src/gpu/geometry/GrStyledShape.h"
+#include "src/gpu/ops/AtlasRenderTask.h"
 #include "src/gpu/ops/GrDrawAtlasPathOp.h"
 #include "src/gpu/ops/TessellationPathRenderer.h"
-#include "src/gpu/tessellate/GrAtlasRenderTask.h"
 #include "src/gpu/tessellate/shaders/GrTessellationShader.h"
 #include "src/gpu/v1/SurfaceDrawContext_v1.h"
 
@@ -63,10 +63,10 @@
 // Ensures the atlas dependencies are set up such that each atlas will be totally out of service
 // before we render the next one in line. This means there will only ever be one atlas active at a
 // time and that they can all share the same texture.
-void validate_atlas_dependencies(const SkTArray<sk_sp<GrAtlasRenderTask>>& atlasTasks) {
+void validate_atlas_dependencies(const SkTArray<sk_sp<skgpu::v1::AtlasRenderTask>>& atlasTasks) {
     for (int i = atlasTasks.count() - 1; i >= 1; --i) {
-        GrAtlasRenderTask* atlasTask = atlasTasks[i].get();
-        GrAtlasRenderTask* previousAtlasTask = atlasTasks[i - 1].get();
+        auto atlasTask = atlasTasks[i].get();
+        auto previousAtlasTask = atlasTasks[i - 1].get();
         // Double check that atlasTask depends on every dependent of its previous atlas. If this
         // fires it might mean previousAtlasTask gained a new dependent after atlasTask came into
         // service (maybe by an op that hadn't yet been added to an opsTask when we registered the
@@ -223,8 +223,8 @@
         !fAtlasRenderTasks.back()->addPath(viewMatrix, path, devIBounds->topLeft(), widthInAtlas,
                                            heightInAtlas, *transposedInAtlas, locationInAtlas)) {
         // We either don't have an atlas yet or the current one is full. Try to replace it.
-        GrAtlasRenderTask* currentAtlasTask = (!fAtlasRenderTasks.empty())
-                ? fAtlasRenderTasks.back().get() : nullptr;
+        auto currentAtlasTask = (!fAtlasRenderTasks.empty()) ? fAtlasRenderTasks.back().get()
+                                                             : nullptr;
         if (currentAtlasTask &&
             drawRefsAtlasCallback &&
             drawRefsAtlasCallback(currentAtlasTask->atlasProxy())) {
@@ -237,9 +237,9 @@
                 kAtlasAlpha8Type, GrDynamicAtlas::InternalMultisample::kYes,
                 SkISize{fAtlasInitialSize, fAtlasInitialSize}, fAtlasMaxSize,
                 *rContext->priv().caps(), kAtlasAlgorithm);
-        auto newAtlasTask = sk_make_sp<GrAtlasRenderTask>(rContext,
-                                                          sk_make_sp<GrArenas>(),
-                                                          std::move(dynamicAtlas));
+        auto newAtlasTask = sk_make_sp<AtlasRenderTask>(rContext,
+                                                        sk_make_sp<GrArenas>(),
+                                                        std::move(dynamicAtlas));
         rContext->priv().drawingManager()->addAtlasTask(newAtlasTask, currentAtlasTask);
         SkAssertResult(newAtlasTask->addPath(viewMatrix, path, devIBounds->topLeft(), widthInAtlas,
                                              heightInAtlas, *transposedInAtlas, locationInAtlas));
@@ -403,7 +403,7 @@
     GrTexture* firstAtlasTexture = fAtlasRenderTasks[0]->atlasProxy()->peekTexture();
     SkASSERT(firstAtlasTexture);
     for (int i = 1; i < fAtlasRenderTasks.count(); ++i) {
-        GrAtlasRenderTask* atlasTask = fAtlasRenderTasks[i].get();
+        auto atlasTask = fAtlasRenderTasks[i].get();
         if (atlasTask->atlasProxy()->backingStoreDimensions() == firstAtlasTexture->dimensions()) {
             atlasTask->instantiate(onFlushRP, sk_ref_sp(firstAtlasTexture));
         } else {
diff --git a/src/gpu/ops/AtlasPathRenderer.h b/src/gpu/ops/AtlasPathRenderer.h
index 026b7b1..2cf48ad 100644
--- a/src/gpu/ops/AtlasPathRenderer.h
+++ b/src/gpu/ops/AtlasPathRenderer.h
@@ -16,12 +16,13 @@
 #include "src/gpu/GrOnFlushResourceProvider.h"
 #include "src/gpu/v1/PathRenderer.h"
 
-class GrAtlasRenderTask;
 class GrOp;
 class GrRecordingContext;
 
 namespace skgpu::v1 {
 
+class AtlasRenderTask;
+
 // Draws paths by first rendering their coverage mask into an offscreen atlas.
 class AtlasPathRenderer final : public PathRenderer, public GrOnFlushCallbackObject {
 public:
@@ -94,7 +95,7 @@
 
     // A collection of all atlases we've created and used since the last flush. We instantiate these
     // at flush time during preFlush().
-    SkSTArray<4, sk_sp<GrAtlasRenderTask>> fAtlasRenderTasks;
+    SkSTArray<4, sk_sp<AtlasRenderTask>> fAtlasRenderTasks;
 
     // This simple cache remembers the locations of cacheable path masks in the most recent atlas.
     // Its main motivation is for clip paths.
diff --git a/src/gpu/tessellate/GrAtlasRenderTask.cpp b/src/gpu/ops/AtlasRenderTask.cpp
similarity index 86%
rename from src/gpu/tessellate/GrAtlasRenderTask.cpp
rename to src/gpu/ops/AtlasRenderTask.cpp
index 569e665..5e50eb9 100644
--- a/src/gpu/tessellate/GrAtlasRenderTask.cpp
+++ b/src/gpu/ops/AtlasRenderTask.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "src/gpu/tessellate/GrAtlasRenderTask.h"
+#include "src/gpu/ops/AtlasRenderTask.h"
 
 #include "src/core/SkBlendModePriv.h"
 #include "src/core/SkIPoint16.h"
@@ -15,9 +15,11 @@
 #include "src/gpu/ops/GrFillRectOp.h"
 #include "src/gpu/ops/PathStencilCoverOp.h"
 
-GrAtlasRenderTask::GrAtlasRenderTask(GrRecordingContext* rContext,
-                                     sk_sp<GrArenas> arenas,
-                                     std::unique_ptr<GrDynamicAtlas> dynamicAtlas)
+namespace skgpu::v1 {
+
+AtlasRenderTask::AtlasRenderTask(GrRecordingContext* rContext,
+                                 sk_sp<GrArenas> arenas,
+                                 std::unique_ptr<GrDynamicAtlas> dynamicAtlas)
         : OpsTask(rContext->priv().drawingManager(),
                   dynamicAtlas->writeView(*rContext->priv().caps()),
                   rContext->priv().auditTrail(),
@@ -25,9 +27,9 @@
         , fDynamicAtlas(std::move(dynamicAtlas)) {
 }
 
-bool GrAtlasRenderTask::addPath(const SkMatrix& viewMatrix, const SkPath& path,
-                                SkIPoint pathDevTopLeft, int widthInAtlas, int heightInAtlas,
-                                bool transposedInAtlas, SkIPoint16* locationInAtlas) {
+bool AtlasRenderTask::addPath(const SkMatrix& viewMatrix, const SkPath& path,
+                              SkIPoint pathDevTopLeft, int widthInAtlas, int heightInAtlas,
+                              bool transposedInAtlas, SkIPoint16* locationInAtlas) {
     SkASSERT(!this->isClosed());
     SkASSERT(this->isEmpty());
     SkASSERT(!fDynamicAtlas->isInstantiated());  // Paths can't be added after instantiate().
@@ -56,8 +58,8 @@
     return true;
 }
 
-GrRenderTask::ExpectedOutcome GrAtlasRenderTask::onMakeClosed(GrRecordingContext* rContext,
-                                                              SkIRect* targetUpdateBounds) {
+GrRenderTask::ExpectedOutcome AtlasRenderTask::onMakeClosed(GrRecordingContext* rContext,
+                                                            SkIRect* targetUpdateBounds) {
     // We don't add our ops until now, at which point we know the atlas is done being built.
     SkASSERT(this->isEmpty());
     SkASSERT(!fDynamicAtlas->isInstantiated());  // Instantiation happens after makeClosed().
@@ -144,9 +146,9 @@
     return ExpectedOutcome::kTargetUnchanged;
 }
 
-void GrAtlasRenderTask::stencilAtlasRect(GrRecordingContext* rContext, const SkRect& rect,
-                                         const SkPMColor4f& color,
-                                         const GrUserStencilSettings* stencil) {
+void AtlasRenderTask::stencilAtlasRect(GrRecordingContext* rContext, const SkRect& rect,
+                                       const SkPMColor4f& color,
+                                       const GrUserStencilSettings* stencil) {
     GrPaint paint;
     paint.setColor4f(color);
     paint.setXPFactory(SkBlendMode_AsXPFactory(SkBlendMode::kSrc));
@@ -156,7 +158,7 @@
     this->addAtlasDrawOp(std::move(op), *rContext->priv().caps());
 }
 
-void GrAtlasRenderTask::addAtlasDrawOp(GrOp::Owner op, const GrCaps& caps) {
+void AtlasRenderTask::addAtlasDrawOp(GrOp::Owner op, const GrCaps& caps) {
     SkASSERT(!this->isClosed());
 
     auto drawOp = static_cast<GrDrawOp*>(op.get());
@@ -171,7 +173,7 @@
     this->recordOp(std::move(op), true/*usesMSAA*/, processorAnalysis, nullptr, nullptr, caps);
 }
 
-bool GrAtlasRenderTask::onExecute(GrOpFlushState* flushState) {
+bool AtlasRenderTask::onExecute(GrOpFlushState* flushState) {
     if (!this->OpsTask::onExecute(flushState)) {
         return false;
     }
@@ -186,3 +188,5 @@
     }
     return true;
 }
+
+} // namespace skgpu::v1
diff --git a/src/gpu/tessellate/GrAtlasRenderTask.h b/src/gpu/ops/AtlasRenderTask.h
similarity index 91%
rename from src/gpu/tessellate/GrAtlasRenderTask.h
rename to src/gpu/ops/AtlasRenderTask.h
index 57fb26c..7846966 100644
--- a/src/gpu/tessellate/GrAtlasRenderTask.h
+++ b/src/gpu/ops/AtlasRenderTask.h
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#ifndef GrAtlasRenderTask_DEFINED
-#define GrAtlasRenderTask_DEFINED
+#ifndef AtlasRenderTask_DEFINED
+#define AtlasRenderTask_DEFINED
 
 #include "include/core/SkPath.h"
 #include "src/core/SkTBlockList.h"
@@ -16,17 +16,19 @@
 
 struct SkIPoint16;
 
+namespace skgpu::v1 {
+
 // Represents a GrRenderTask that draws paths into an atlas. This task gets added the DAG and left
 // open, lays out its atlas while future tasks call addPath(), and finally adds its internal draw
 // ops during onMakeClosed().
 //
 // The atlas texture does not get instantiated automatically. It is the creator's responsibility to
 // call instantiate() at flush time.
-class GrAtlasRenderTask : public skgpu::v1::OpsTask {
+class AtlasRenderTask : public OpsTask {
 public:
-    GrAtlasRenderTask(GrRecordingContext*,
-                      sk_sp<GrArenas>,
-                      std::unique_ptr<GrDynamicAtlas>);
+    AtlasRenderTask(GrRecordingContext*,
+                    sk_sp<GrArenas>,
+                    std::unique_ptr<GrDynamicAtlas>);
 
     const GrTextureProxy* atlasProxy() const { return fDynamicAtlas->textureProxy(); }
     GrSurfaceProxyView readView(const GrCaps& caps) const { return fDynamicAtlas->readView(caps); }
@@ -87,4 +89,6 @@
     AtlasPathList fEvenOddPathList;
 };
 
-#endif
+} // namespace skgpu::v1
+
+#endif // AtlasRenderTask_DEFINED