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/GrQuadPerEdgeAA.cpp b/src/gpu/ops/GrQuadPerEdgeAA.cpp
index 1d3c602..9bb9a85 100644
--- a/src/gpu/ops/GrQuadPerEdgeAA.cpp
+++ b/src/gpu/ops/GrQuadPerEdgeAA.cpp
@@ -671,7 +671,7 @@
         // save position, this is a float2 or float3 or float4 depending on the combination of
         // perspective and coverage mode.
         vb->write(quad.fX[i], quad.fY[i],
-                  If(spec.deviceQuadType() == GrQuadType::kPerspective, quad.fW[i]),
+                  If(spec.deviceQuadType() == GrQuad::Type::kPerspective, quad.fW[i]),
                   If(mode == CoverageMode::kWithPosition, coverage[i]));
 
         // save color
@@ -684,7 +684,7 @@
         // save local position
         if (spec.hasLocalCoords()) {
             vb->write(quad.fU[i], quad.fV[i],
-                      If(spec.localQuadType() == GrQuadType::kPerspective, quad.fR[i]));
+                      If(spec.localQuadType() == GrQuad::Type::kPerspective, quad.fR[i]));
         }
 
         // save the geometry domain
@@ -739,8 +739,8 @@
 
 ////////////////// Tessellate Implementation
 
-void* Tessellate(void* vertices, const VertexSpec& spec, const GrPerspQuad& deviceQuad,
-                 const SkPMColor4f& color4f, const GrPerspQuad& localQuad, const SkRect& domain,
+void* Tessellate(void* vertices, const VertexSpec& spec, const GrQuad& deviceQuad,
+                 const SkPMColor4f& color4f, const GrQuad& localQuad, const SkRect& domain,
                  GrQuadAAFlags aaFlags) {
     SkASSERT(deviceQuad.quadType() <= spec.deviceQuadType());
     SkASSERT(!spec.hasLocalCoords() || localQuad.quadType() <= spec.localQuadType());
@@ -770,7 +770,7 @@
 
         SkRect geomDomain;
         V4f maxCoverage = 1.f;
-        if (spec.deviceQuadType() == GrQuadType::kPerspective) {
+        if (spec.deviceQuadType() == GrQuad::Type::kPerspective) {
             // For perspective, send quads with all edges non-AA through the tessellation to ensure
             // their corners are processed the same as adjacent quads. This approach relies on
             // solving edge equations to reconstruct corners, which can create seams if an inner
@@ -780,7 +780,7 @@
             // In 2D, the simpler corner math does not cause issues with seaming against non-AA
             // inner quads.
             maxCoverage = compute_nested_quad_vertices(
-                    aaFlags, spec.deviceQuadType() <= GrQuadType::kRectilinear, &inner, &outer,
+                    aaFlags, spec.deviceQuadType() <= GrQuad::Type::kRectilinear, &inner, &outer,
                     &geomDomain);
         } else if (spec.requiresGeometryDomain()) {
             // The quad itself wouldn't need a geometric domain, but the batch does, so set the
@@ -839,11 +839,11 @@
 ////////////////// VertexSpec Implementation
 
 int VertexSpec::deviceDimensionality() const {
-    return this->deviceQuadType() == GrQuadType::kPerspective ? 3 : 2;
+    return this->deviceQuadType() == GrQuad::Type::kPerspective ? 3 : 2;
 }
 
 int VertexSpec::localDimensionality() const {
-    return fHasLocalCoords ? (this->localQuadType() == GrQuadType::kPerspective ? 3 : 2) : 0;
+    return fHasLocalCoords ? (this->localQuadType() == GrQuad::Type::kPerspective ? 3 : 2) : 0;
 }
 
 ////////////////// Geometry Processor Implementation