Combine GrPerspQuad and GrQuad

Also moves GrQuadType to an inner enum of GrQuad as GrQuad::Type.
Renames some of the types for improved clarity (IMO)

Change-Id: I2c91d60374d2b7c414034e9fe0b0113a794bd610
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216604
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/ops/GrFillRectOp.cpp b/src/gpu/ops/GrFillRectOp.cpp
index 18765d9..3433dc9 100644
--- a/src/gpu/ops/GrFillRectOp.cpp
+++ b/src/gpu/ops/GrFillRectOp.cpp
@@ -28,8 +28,8 @@
 using ColorType = GrQuadPerEdgeAA::ColorType;
 
 #ifdef SK_DEBUG
-static SkString dump_quad_info(int index, const GrPerspQuad& deviceQuad,
-                               const GrPerspQuad& localQuad, const SkPMColor4f& color,
+static SkString dump_quad_info(int index, const GrQuad& deviceQuad,
+                               const GrQuad& localQuad, const SkPMColor4f& color,
                                GrQuadAAFlags aaFlags) {
     SkString str;
     str.appendf("%d: Color: [%.2f, %.2f, %.2f, %.2f], Edge AA: l%u_t%u_r%u_b%u, \n"
@@ -64,8 +64,8 @@
                                           GrAAType aaType,
                                           GrQuadAAFlags edgeAA,
                                           const GrUserStencilSettings* stencilSettings,
-                                          const GrPerspQuad& deviceQuad,
-                                          const GrPerspQuad& localQuad) {
+                                          const GrQuad& deviceQuad,
+                                          const GrQuad& localQuad) {
         // Clean up deviations between aaType and edgeAA
         GrResolveAATypeForQuad(aaType, edgeAA, deviceQuad, &aaType, &edgeAA);
         return Helper::FactoryHelper<FillRectOp>(context, std::move(paint), aaType, edgeAA,
@@ -76,7 +76,7 @@
     // edgeFlags must be resolved prior to calling this constructor.
     FillRectOp(Helper::MakeArgs args, SkPMColor4f paintColor, GrAAType aaType,
                GrQuadAAFlags edgeFlags, const GrUserStencilSettings* stencil,
-               const GrPerspQuad& deviceQuad, const GrPerspQuad& localQuad)
+               const GrQuad& deviceQuad, const GrQuad& localQuad)
             : INHERITED(ClassID())
             , fHelper(args, aaType, stencil) {
         // The color stored with the quad is the clear color if a scissor-clear is decided upon
@@ -106,7 +106,7 @@
         str.appendf("Device quad type: %u, local quad type: %u\n",
                     (uint32_t) fDeviceQuads.quadType(), (uint32_t) fLocalQuads.quadType());
         str += fHelper.dumpInfo();
-        GrPerspQuad device, local;
+        GrQuad device, local;
         for (int i = 0; i < this->quadCount(); i++) {
             device = fDeviceQuads[i];
             const ColorAndAA& info = fDeviceQuads.metadata(i);
@@ -221,7 +221,7 @@
         void* vertices = vdata;
         if (fHelper.isTrivial()) {
             SkASSERT(fLocalQuads.count() == 0); // No local coords, so send an ignored dummy quad
-            static const GrPerspQuad kIgnoredLocal(SkRect::MakeEmpty());
+            static const GrQuad kIgnoredLocal(SkRect::MakeEmpty());
 
             for (int i = 0; i < this->quadCount(); ++i) {
                 const ColorAndAA& info = fDeviceQuads.metadata(i);
@@ -294,7 +294,7 @@
     // But since it's avoiding the op list management, it must update the op's bounds. This is only
     // used with quad sets, which uses the same view matrix for each quad so this assumes that the
     // device quad type of the new quad is the same as the op's.
-    void addQuad(const GrPerspQuad& deviceQuad, const GrPerspQuad& localQuad,
+    void addQuad(const GrQuad& deviceQuad, const GrQuad& localQuad,
                  const SkPMColor4f& color, GrQuadAAFlags edgeAA, GrAAType aaType) {
         // The new quad's aa type should be the same as the first quad's or none, except when the
         // first quad's aa type was already downgraded to none, in which case the stored type must
@@ -350,8 +350,8 @@
                                GrPaint&& paint,
                                GrAAType aaType,
                                GrQuadAAFlags aaFlags,
-                               const GrPerspQuad& deviceQuad,
-                               const GrPerspQuad& localQuad,
+                               const GrQuad& deviceQuad,
+                               const GrQuad& localQuad,
                                const GrUserStencilSettings* stencil) {
     return FillRectOp::Make(context, std::move(paint), aaType, aaFlags, stencil,
                             deviceQuad, localQuad);
@@ -363,7 +363,7 @@
                                         const SkRect& rect,
                                         const GrUserStencilSettings* stencil) {
     return FillRectOp::Make(context, std::move(paint), GrAAType::kNone, GrQuadAAFlags::kNone,
-                            stencil, GrPerspQuad::MakeFromRect(rect, view), GrPerspQuad(rect));
+                            stencil, GrQuad::MakeFromRect(rect, view), GrQuad(rect));
 }
 
 std::unique_ptr<GrDrawOp> MakeSet(GrRecordingContext* context,
@@ -379,13 +379,13 @@
     paint.setColor4f(quads[0].fColor);
     std::unique_ptr<GrDrawOp> op = FillRectOp::Make(context, std::move(paint), aaType,
             quads[0].fAAFlags, stencilSettings,
-            GrPerspQuad::MakeFromRect(quads[0].fRect, viewMatrix),
-            GrPerspQuad::MakeFromRect(quads[0].fRect, quads[0].fLocalMatrix));
+            GrQuad::MakeFromRect(quads[0].fRect, viewMatrix),
+            GrQuad::MakeFromRect(quads[0].fRect, quads[0].fLocalMatrix));
     auto* fillRects = op->cast<FillRectOp>();
 
     // Accumulate remaining quads similar to onCombineIfPossible() without creating an op
     for (int i = 1; i < cnt; ++i) {
-        GrPerspQuad deviceQuad = GrPerspQuad::MakeFromRect(quads[i].fRect, viewMatrix);
+        GrQuad deviceQuad = GrQuad::MakeFromRect(quads[i].fRect, viewMatrix);
 
         GrAAType resolvedAA;
         GrQuadAAFlags resolvedEdgeFlags;
@@ -393,7 +393,7 @@
                                &resolvedAA, &resolvedEdgeFlags);
 
         fillRects->addQuad(deviceQuad,
-                           GrPerspQuad::MakeFromRect(quads[i].fRect, quads[i].fLocalMatrix),
+                           GrQuad::MakeFromRect(quads[i].fRect, quads[i].fLocalMatrix),
                            quads[i].fColor, resolvedEdgeFlags,resolvedAA);
     }
 
@@ -452,21 +452,21 @@
                 // Single local matrix
                 SkMatrix localMatrix = GrTest::TestMatrixInvertible(random);
                 return GrFillRectOp::Make(context, std::move(paint), aaType, aaFlags,
-                                          GrPerspQuad::MakeFromRect(rect, viewMatrix),
-                                          GrPerspQuad::MakeFromRect(rect, localMatrix), stencil);
+                                          GrQuad::MakeFromRect(rect, viewMatrix),
+                                          GrQuad::MakeFromRect(rect, localMatrix), stencil);
             }
         } else {
             // Pass local rect directly
             SkRect localRect = GrTest::TestRect(random);
             return GrFillRectOp::Make(context, std::move(paint), aaType, aaFlags,
-                                      GrPerspQuad::MakeFromRect(rect, viewMatrix),
-                                      GrPerspQuad(localRect), stencil);
+                                      GrQuad::MakeFromRect(rect, viewMatrix),
+                                      GrQuad(localRect), stencil);
         }
     } else {
         // The simplest constructor
         return GrFillRectOp::Make(context, std::move(paint), aaType, aaFlags,
-                                  GrPerspQuad::MakeFromRect(rect, viewMatrix),
-                                  GrPerspQuad(rect), stencil);
+                                  GrQuad::MakeFromRect(rect, viewMatrix),
+                                  GrQuad(rect), stencil);
     }
 }