Roll Skia from a982c77a0af6 to b03f4a1dc831 (1 revision)

https://skia.googlesource.com/skia.git/+log/a982c77a0af6..b03f4a1dc831

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://skia-autoroll.corp.goog/r/android-master-autoroll
Please CC djsollen@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Test: Presubmit checks will test this change.
Exempt-From-Owner-Approval: The autoroll bot does not require owner approval.
Change-Id: I9cc601f019431da5253c015e11b03bdff614d041
diff --git a/Android.bp b/Android.bp
index bb9e9ab..dcf41b8 100644
--- a/Android.bp
+++ b/Android.bp
@@ -830,7 +830,6 @@
           "src/gpu/ops/GrTriangulatingPathRenderer.cpp",
           "src/gpu/tessellate/GrDrawAtlasPathOp.cpp",
           "src/gpu/tessellate/GrFillPathShader.cpp",
-          "src/gpu/tessellate/GrPathStencilFillOp.cpp",
           "src/gpu/tessellate/GrPathTessellateOp.cpp",
           "src/gpu/tessellate/GrPathTessellator.cpp",
           "src/gpu/tessellate/GrStencilPathShader.cpp",
@@ -838,6 +837,7 @@
           "src/gpu/tessellate/GrStrokeOp.cpp",
           "src/gpu/tessellate/GrStrokeTessellateOp.cpp",
           "src/gpu/tessellate/GrStrokeTessellateShader.cpp",
+          "src/gpu/tessellate/GrTessellatingStencilFillOp.cpp",
           "src/gpu/tessellate/GrTessellationPathRenderer.cpp",
           "src/gpu/text/GrAtlasManager.cpp",
           "src/gpu/text/GrDistanceFieldAdjustTable.cpp",
diff --git a/METADATA b/METADATA
index ee890de..2847e77 100644
--- a/METADATA
+++ b/METADATA
@@ -9,7 +9,7 @@
     type: GIT
     value: "https://skia.googlesource.com/skia"
   }
-  version: "a982c77a0af64a57c36cfcd8b941aeff4cea3886"
+  version: "b03f4a1dc831202cc7a68945c752ec56c4415607"
   license_type: RECIPROCAL
   last_upgrade_date {
     year: 2021
diff --git a/gn/gpu.gni b/gn/gpu.gni
index 14dbc05..620772f 100644
--- a/gn/gpu.gni
+++ b/gn/gpu.gni
@@ -473,8 +473,6 @@
   "$_src/gpu/tessellate/GrMiddleOutPolygonTriangulator.h",
   "$_src/gpu/tessellate/GrMidpointContourParser.h",
   "$_src/gpu/tessellate/GrPathShader.h",
-  "$_src/gpu/tessellate/GrPathStencilFillOp.cpp",
-  "$_src/gpu/tessellate/GrPathStencilFillOp.h",
   "$_src/gpu/tessellate/GrPathTessellateOp.cpp",
   "$_src/gpu/tessellate/GrPathTessellateOp.h",
   "$_src/gpu/tessellate/GrPathTessellator.cpp",
@@ -490,6 +488,8 @@
   "$_src/gpu/tessellate/GrStrokeTessellateOp.h",
   "$_src/gpu/tessellate/GrStrokeTessellateShader.cpp",
   "$_src/gpu/tessellate/GrStrokeTessellateShader.h",
+  "$_src/gpu/tessellate/GrTessellatingStencilFillOp.cpp",
+  "$_src/gpu/tessellate/GrTessellatingStencilFillOp.h",
   "$_src/gpu/tessellate/GrTessellationPathRenderer.cpp",
   "$_src/gpu/tessellate/GrTessellationPathRenderer.h",
   "$_src/gpu/tessellate/GrVectorXform.h",
diff --git a/samplecode/SampleTessellatedWedge.cpp b/samplecode/SampleTessellatedWedge.cpp
index c97a3fa..21e6d9c 100644
--- a/samplecode/SampleTessellatedWedge.cpp
+++ b/samplecode/SampleTessellatedWedge.cpp
@@ -19,7 +19,7 @@
 #include "src/gpu/GrMemoryPool.h"
 #include "src/gpu/GrRecordingContextPriv.h"
 #include "src/gpu/GrSurfaceDrawContext.h"
-#include "src/gpu/tessellate/GrPathTessellateOp.h"
+#include "src/gpu/tessellate/GrTessellatingStencilFillOp.h"
 #include "src/gpu/tessellate/GrWangsFormula.h"
 
 static float kConicWeight = .5;
@@ -94,8 +94,8 @@
         aa = GrAAType::kNone;
     }
 
-    sdc->addDrawOp(GrOp::Make<GrPathTessellateOp>(ctx, canvas->getTotalMatrix(), fPath,
-                                                  std::move(paint), aa, fOpFlags));
+    sdc->addDrawOp(GrOp::Make<GrTessellatingStencilFillOp>(ctx, canvas->getTotalMatrix(), fPath,
+                                                           std::move(paint), aa, fOpFlags));
 
     // Draw the path points.
     SkPaint pointsPaint;
diff --git a/src/gpu/tessellate/GrPathStencilFillOp.cpp b/src/gpu/tessellate/GrTessellatingStencilFillOp.cpp
similarity index 84%
rename from src/gpu/tessellate/GrPathStencilFillOp.cpp
rename to src/gpu/tessellate/GrTessellatingStencilFillOp.cpp
index 21ab1f7..10ac941 100644
--- a/src/gpu/tessellate/GrPathStencilFillOp.cpp
+++ b/src/gpu/tessellate/GrTessellatingStencilFillOp.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "src/gpu/tessellate/GrPathStencilFillOp.h"
+#include "src/gpu/tessellate/GrTessellatingStencilFillOp.h"
 
 #include "src/gpu/GrEagerVertexAllocator.h"
 #include "src/gpu/GrOpFlushState.h"
@@ -18,7 +18,7 @@
 
 using OpFlags = GrTessellationPathRenderer::OpFlags;
 
-void GrPathStencilFillOp::visitProxies(const VisitProxyFunc& fn) const {
+void GrTessellatingStencilFillOp::visitProxies(const VisitProxyFunc& fn) const {
     if (fFillBBoxProgram) {
         fFillBBoxProgram->pipeline().visitProxies(fn);
     } else {
@@ -26,7 +26,7 @@
     }
 }
 
-GrDrawOp::FixedFunctionFlags GrPathStencilFillOp::fixedFunctionFlags() const {
+GrDrawOp::FixedFunctionFlags GrTessellatingStencilFillOp::fixedFunctionFlags() const {
     auto flags = FixedFunctionFlags::kUsesStencil;
     if (fAAType != GrAAType::kNone) {
         flags |= FixedFunctionFlags::kUsesHWAA;
@@ -34,16 +34,16 @@
     return flags;
 }
 
-GrProcessorSet::Analysis GrPathStencilFillOp::finalize(const GrCaps& caps,
-                                                       const GrAppliedClip* clip,
-                                                       bool hasMixedSampledCoverage,
-                                                       GrClampType clampType) {
+GrProcessorSet::Analysis GrTessellatingStencilFillOp::finalize(const GrCaps& caps,
+                                                               const GrAppliedClip* clip,
+                                                               bool hasMixedSampledCoverage,
+                                                               GrClampType clampType) {
     return fProcessors.finalize(fColor, GrProcessorAnalysisCoverage::kNone, clip, nullptr,
                                 hasMixedSampledCoverage, caps, clampType, &fColor);
 }
 
-void GrPathStencilFillOp::prePreparePrograms(const GrPathShader::ProgramArgs& args,
-                                             GrAppliedClip&& appliedClip) {
+void GrTessellatingStencilFillOp::prePreparePrograms(const GrPathShader::ProgramArgs& args,
+                                                     GrAppliedClip&& appliedClip) {
     using DrawInnerFan = GrPathIndirectTessellator::DrawInnerFan;
     SkASSERT(!fStencilFanProgram);
     SkASSERT(!fStencilPathProgram);
@@ -109,11 +109,12 @@
     }
 }
 
-void GrPathStencilFillOp::onPrePrepare(GrRecordingContext* context,
-                                       const GrSurfaceProxyView& writeView, GrAppliedClip* clip,
-                                       const GrXferProcessor::DstProxyView& dstProxyView,
-                                       GrXferBarrierFlags renderPassXferBarriers,
-                                       GrLoadOp colorLoadOp) {
+void GrTessellatingStencilFillOp::onPrePrepare(GrRecordingContext* context,
+                                               const GrSurfaceProxyView& writeView,
+                                               GrAppliedClip* clip,
+                                               const GrXferProcessor::DstProxyView& dstProxyView,
+                                               GrXferBarrierFlags renderPassXferBarriers,
+                                               GrLoadOp colorLoadOp) {
     this->prePreparePrograms({context->priv().recordTimeAllocator(), writeView, &dstProxyView,
                              renderPassXferBarriers, colorLoadOp, context->priv().caps()},
                              (clip) ? std::move(*clip) : GrAppliedClip::Disabled());
@@ -128,7 +129,7 @@
     }
 }
 
-void GrPathStencilFillOp::onPrepare(GrOpFlushState* flushState) {
+void GrTessellatingStencilFillOp::onPrepare(GrOpFlushState* flushState) {
     if (!fTessellator) {
         this->prePreparePrograms({flushState->allocator(), flushState->writeView(),
                                   &flushState->dstProxyView(), flushState->renderPassBarriers(),
@@ -154,7 +155,7 @@
     fTessellator->prepare(flushState, fViewMatrix, fPath);
 }
 
-void GrPathStencilFillOp::onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) {
+void GrTessellatingStencilFillOp::onExecute(GrOpFlushState* flushState, const SkRect& chainBounds) {
     if (!fTessellator) {
         return;
     }
diff --git a/src/gpu/tessellate/GrPathStencilFillOp.h b/src/gpu/tessellate/GrTessellatingStencilFillOp.h
similarity index 85%
rename from src/gpu/tessellate/GrPathStencilFillOp.h
rename to src/gpu/tessellate/GrTessellatingStencilFillOp.h
index d1f19e4..b716f31 100644
--- a/src/gpu/tessellate/GrPathStencilFillOp.h
+++ b/src/gpu/tessellate/GrTessellatingStencilFillOp.h
@@ -5,8 +5,8 @@
  * found in the LICENSE file.
  */
 
-#ifndef GrPathStencilFillOp_DEFINED
-#define GrPathStencilFillOp_DEFINED
+#ifndef GrTessellatingStencilFillOp_DEFINED
+#define GrTessellatingStencilFillOp_DEFINED
 
 #include "src/gpu/ops/GrDrawOp.h"
 #include "src/gpu/tessellate/GrPathShader.h"
@@ -17,12 +17,12 @@
 // Draws paths using a standard Redbook "stencil then fill" method. Curves get linearized by either
 // GPU tessellation shaders or indirect draws. This Op doesn't apply analytic AA, so it requires a
 // render target that supports either MSAA or mixed samples if AA is desired.
-class GrPathStencilFillOp : public GrDrawOp {
+class GrTessellatingStencilFillOp : public GrDrawOp {
 private:
     DEFINE_OP_CLASS_ID
 
-    GrPathStencilFillOp(const SkMatrix& viewMatrix, const SkPath& path, GrPaint&& paint,
-                        GrAAType aaType, GrTessellationPathRenderer::OpFlags opFlags)
+    GrTessellatingStencilFillOp(const SkMatrix& viewMatrix, const SkPath& path, GrPaint&& paint,
+                                GrAAType aaType, GrTessellationPathRenderer::OpFlags opFlags)
             : GrDrawOp(ClassID())
             , fOpFlags(opFlags)
             , fViewMatrix(viewMatrix)
@@ -35,7 +35,7 @@
         this->setBounds(devBounds, HasAABloat(GrAAType::kCoverage == fAAType), IsHairline::kNo);
     }
 
-    const char* name() const override { return "GrPathStencilFillOp"; }
+    const char* name() const override { return "GrTessellatingStencilFillOp"; }
     void visitProxies(const VisitProxyFunc& fn) const override;
     FixedFunctionFlags fixedFunctionFlags() const override;
     GrProcessorSet::Analysis finalize(const GrCaps&, const GrAppliedClip*,
diff --git a/src/gpu/tessellate/GrTessellationPathRenderer.cpp b/src/gpu/tessellate/GrTessellationPathRenderer.cpp
index 7060885..1055d14 100644
--- a/src/gpu/tessellate/GrTessellationPathRenderer.cpp
+++ b/src/gpu/tessellate/GrTessellationPathRenderer.cpp
@@ -17,10 +17,10 @@
 #include "src/gpu/geometry/GrStyledShape.h"
 #include "src/gpu/ops/GrFillRectOp.h"
 #include "src/gpu/tessellate/GrDrawAtlasPathOp.h"
-#include "src/gpu/tessellate/GrPathStencilFillOp.h"
 #include "src/gpu/tessellate/GrPathTessellateOp.h"
 #include "src/gpu/tessellate/GrStrokeIndirectOp.h"
 #include "src/gpu/tessellate/GrStrokeTessellateOp.h"
+#include "src/gpu/tessellate/GrTessellatingStencilFillOp.h"
 #include "src/gpu/tessellate/GrWangsFormula.h"
 
 constexpr static SkISize kAtlasInitialSize{512, 512};
@@ -251,8 +251,8 @@
                                                       aaType, opFlags);
             }
         }
-        return GrOp::Make<GrPathStencilFillOp>(rContext, viewMatrix, path, std::move(paint), aaType,
-                                               opFlags);
+        return GrOp::Make<GrTessellatingStencilFillOp>(rContext, viewMatrix, path, std::move(paint),
+                                                       aaType, opFlags);
     }
 }
 
@@ -422,7 +422,7 @@
             }
             uberPath->setFillType(fillType);
             GrAAType aaType = (antialias) ? GrAAType::kMSAA : GrAAType::kNone;
-            auto op = GrOp::Make<GrPathStencilFillOp>(onFlushRP->recordingContext(),
+            auto op = GrOp::Make<GrTessellatingStencilFillOp>(onFlushRP->recordingContext(),
                     SkMatrix::I(), *uberPath, GrPaint(), aaType, fStencilAtlasFlags);
             rtc->addDrawOp(nullptr, std::move(op));
         }