ccpr: Combine GS triangle hulls and edges into a single draw

Updates the geometry shader backend to match the vertex backend and draw
triangle rasters together with their their edges in a single draw call.
This gives a performance boost as well as cleaning up some API
awkwardness.

This is one step toward the final goal of drawing ccpr primitives in a single
pass.

Bug: skia:
Change-Id: I2723692d02b9e39ca5dc5d9e022b528a051988ab
Reviewed-on: https://skia-review.googlesource.com/112104
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/ccpr/GrCCTriangleShader.cpp b/src/gpu/ccpr/GrCCTriangleShader.cpp
index f371b03..e086201 100644
--- a/src/gpu/ccpr/GrCCTriangleShader.cpp
+++ b/src/gpu/ccpr/GrCCTriangleShader.cpp
@@ -16,15 +16,10 @@
                                         GrGLSLVarying::Scope scope, SkString* code,
                                         const char* /*position*/, const char* inputCoverage,
                                         const char* wind) {
+    SkASSERT(inputCoverage);
     fCoverageTimesWind.reset(kHalf_GrSLType, scope);
-    if (!inputCoverage) {
-        varyingHandler->addVarying("wind", &fCoverageTimesWind,
-                                   GrGLSLVaryingHandler::Interpolation::kCanBeFlat);
-        code->appendf("%s = %s;", OutName(fCoverageTimesWind), wind);
-    } else {
-        varyingHandler->addVarying("coverage_times_wind", &fCoverageTimesWind);
-        code->appendf("%s = %s * %s;", OutName(fCoverageTimesWind), inputCoverage, wind);
-    }
+    varyingHandler->addVarying("coverage_times_wind", &fCoverageTimesWind);
+    code->appendf("%s = %s * %s;", OutName(fCoverageTimesWind), inputCoverage, wind);
 }
 
 void GrCCTriangleShader::onEmitFragmentCode(GrGLSLFPFragmentBuilder* f,