Change parameters to GrPipelineBuilder's ctor

This is just plumbing prep to remove the GrRenderTarget from the GrPipelineBuilder.

Split out of: https://codereview.chromium.org/1988923002/ (Declassify GrClipMaskManager and Remove GrRenderTarget and GrDrawTarget from GrPipelineBuilder)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2015333002

Review-Url: https://codereview.chromium.org/2015333002
diff --git a/gm/constcolorprocessor.cpp b/gm/constcolorprocessor.cpp
index f3c5a65..da7aa38 100644
--- a/gm/constcolorprocessor.cpp
+++ b/gm/constcolorprocessor.cpp
@@ -107,7 +107,9 @@
                     GrColor color = kColors[procColor];
                     SkAutoTUnref<GrFragmentProcessor> fp(GrConstColorProcessor::Create(color, mode));
 
-                    GrPipelineBuilder pipelineBuilder(grPaint, drawContext->accessRenderTarget());
+                    GrPipelineBuilder pipelineBuilder(grPaint,
+                                                      drawContext->isUnifiedMultisampled());
+                    pipelineBuilder.setRenderTarget(drawContext->accessRenderTarget());
                     pipelineBuilder.addColorFragmentProcessor(fp);
 
                     SkAutoTUnref<GrDrawBatch> batch(
diff --git a/src/gpu/GrDrawContext.cpp b/src/gpu/GrDrawContext.cpp
index 108f3a2..b34111c 100644
--- a/src/gpu/GrDrawContext.cpp
+++ b/src/gpu/GrDrawContext.cpp
@@ -239,7 +239,8 @@
         SkAutoTUnref<GrDrawBatch> batch(
                 GrRectBatchFactory::CreateNonAAFill(paint->getColor(), SkMatrix::I(), r, nullptr,
                                                     &localMatrix));
-        GrPipelineBuilder pipelineBuilder(*paint, fRenderTarget.get());
+        GrPipelineBuilder pipelineBuilder(*paint, this->isUnifiedMultisampled());
+        pipelineBuilder.setRenderTarget(fRenderTarget.get());
         this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
     }
 }
@@ -355,7 +356,8 @@
     }
 
     if (batch) {
-        GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+        GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+        pipelineBuilder.setRenderTarget(fRenderTarget.get());
 
         if (snapToPixelCenters) {
             pipelineBuilder.setState(GrPipelineBuilder::kSnapVerticesToPixelCenters_Flag,
@@ -392,7 +394,8 @@
 
     SkAutoTUnref<GrDrawBatch> batch(fDrawContext->getFillRectBatch(paint, viewMatrix, rect));
     if (batch) {
-        GrPipelineBuilder pipelineBuilder(paint, fDrawContext->accessRenderTarget());
+        GrPipelineBuilder pipelineBuilder(paint, fDrawContext->isUnifiedMultisampled());
+        pipelineBuilder.setRenderTarget(fDrawContext->accessRenderTarget());
         pipelineBuilder.setUserStencil(ss);
 
         fDrawContext->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
@@ -428,7 +431,8 @@
     }
 
     if (batch) {
-        GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+        GrPipelineBuilder pipelineBuilder(paint, this->isUnifiedMultisampled());
+        pipelineBuilder.setRenderTarget(fRenderTarget.get());
         this->drawBatch(&pipelineBuilder, clip, batch);
     }
 }
@@ -455,7 +459,8 @@
                                                         nullptr, &localMatrix));
     }
 
-    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fRenderTarget.get());
     this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
 }
 
@@ -500,7 +505,8 @@
                                                                 indexCount, colors, texCoords,
                                                                 bounds));
 
-    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fRenderTarget.get());
     this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
 }
 
@@ -525,7 +531,8 @@
     SkAutoTUnref<GrDrawBatch> batch(GrDrawAtlasBatch::Create(geometry, viewMatrix, spriteCount,
                                                              xform, texRect, colors));
 
-    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fRenderTarget.get());
     this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
 }
 
@@ -558,7 +565,8 @@
                                                                          stroke,
                                                                          shaderCaps));
         if (batch) {
-            GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+            GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+            pipelineBuilder.setRenderTarget(fRenderTarget.get());
             this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
             return;
         }
@@ -683,7 +691,8 @@
                                                                         stroke,
                                                                         shaderCaps));
         if (batch) {
-            GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+            GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+            pipelineBuilder.setRenderTarget(fRenderTarget.get());
             this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
             return;
         }
@@ -713,7 +722,8 @@
                                                              imageWidth, imageHeight,
                                                              center, dst));
 
-    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fRenderTarget.get());
     this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
 }
 
@@ -773,7 +783,8 @@
 
     AutoCheckFlush acf(fDrawingManager);
 
-    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fRenderTarget.get());
     this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
 }
 
@@ -805,7 +816,8 @@
                 SkAutoTUnref<GrDrawBatch> batch(GrRectBatchFactory::CreateAAFillNestedRects(
                     paint.getColor(), viewMatrix, rects));
                 if (batch) {
-                    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+                    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+                    pipelineBuilder.setRenderTarget(fRenderTarget.get());
                     this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
                 }
                 return;
@@ -822,7 +834,8 @@
                                                                             style.strokeRec(),
                                                                             shaderCaps));
             if (batch) {
-                GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+                GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+                pipelineBuilder.setRenderTarget(fRenderTarget.get());
                 this->getDrawTarget()->drawBatch(pipelineBuilder, clip, batch);
                 return;
             }
@@ -888,7 +901,8 @@
     GrPaint paint;
     paint.setCoverageSetOpXPFactory(op, invert);
 
-    GrPipelineBuilder pipelineBuilder(paint, fDrawContext->accessRenderTarget());
+    GrPipelineBuilder pipelineBuilder(paint,  fDrawContext->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fDrawContext->accessRenderTarget());
     pipelineBuilder.setUserStencil(ss);
 
     GrPathRenderer::DrawPathArgs args;
@@ -994,7 +1008,8 @@
         return;
     }
 
-    GrPipelineBuilder pipelineBuilder(paint, fRenderTarget.get());
+    GrPipelineBuilder pipelineBuilder(paint,  this->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(fRenderTarget.get());
 
     GrPathRenderer::DrawPathArgs args;
     args.fTarget = this->getDrawTarget();
diff --git a/src/gpu/GrPipelineBuilder.cpp b/src/gpu/GrPipelineBuilder.cpp
index fd97e58..04967a7 100644
--- a/src/gpu/GrPipelineBuilder.cpp
+++ b/src/gpu/GrPipelineBuilder.cpp
@@ -16,13 +16,13 @@
 #include "effects/GrPorterDuffXferProcessor.h"
 
 GrPipelineBuilder::GrPipelineBuilder()
-    : fFlags(0x0),
-      fUserStencilSettings(&GrUserStencilSettings::kUnused),
-      fDrawFace(kBoth_DrawFace) {
+    : fFlags(0x0)
+    , fUserStencilSettings(&GrUserStencilSettings::kUnused)
+    , fDrawFace(kBoth_DrawFace) {
     SkDEBUGCODE(fBlockEffectRemovalCnt = 0;)
 }
 
-GrPipelineBuilder::GrPipelineBuilder(const GrPaint& paint, GrRenderTarget* rt)
+GrPipelineBuilder::GrPipelineBuilder(const GrPaint& paint, bool targetHasUnifiedMultisampling)
     : GrPipelineBuilder() {
     SkDEBUGCODE(fBlockEffectRemovalCnt = 0;)
 
@@ -36,10 +36,8 @@
 
     fXPFactory.reset(SkSafeRef(paint.getXPFactory()));
 
-    this->setRenderTarget(rt);
-
     this->setState(GrPipelineBuilder::kHWAntialias_Flag,
-                   rt->isUnifiedMultisampled() && paint.isAntiAlias());
+                   targetHasUnifiedMultisampling && paint.isAntiAlias());
     this->setState(GrPipelineBuilder::kDisableOutputConversionToSRGB_Flag,
                    paint.getDisableOutputConversionToSRGB());
     this->setState(GrPipelineBuilder::kAllowSRGBInputs_Flag,
diff --git a/src/gpu/GrPipelineBuilder.h b/src/gpu/GrPipelineBuilder.h
index 0104be7..ca1adee 100644
--- a/src/gpu/GrPipelineBuilder.h
+++ b/src/gpu/GrPipelineBuilder.h
@@ -31,12 +31,12 @@
     GrPipelineBuilder();
 
     /**
-     * Initializes the GrPipelineBuilder based on a GrPaint, render target, and clip. Note
+     * Initializes the GrPipelineBuilder based on a GrPaint, MSAA availability. Note
      * that GrPipelineBuilder encompasses more than GrPaint. Aspects of GrPipelineBuilder that have
      * no GrPaint equivalents are set to default values with the exception of vertex attribute state
      * which is unmodified by this function and clipping which will be enabled.
      */
-    GrPipelineBuilder(const GrPaint&, GrRenderTarget*);
+    GrPipelineBuilder(const GrPaint&, bool targetHasUnifiedMultisampling);
 
     virtual ~GrPipelineBuilder();
 
diff --git a/src/gpu/text/GrAtlasTextBlob.cpp b/src/gpu/text/GrAtlasTextBlob.cpp
index 13c96b5..6e8a5cc 100644
--- a/src/gpu/text/GrAtlasTextBlob.cpp
+++ b/src/gpu/text/GrAtlasTextBlob.cpp
@@ -419,7 +419,8 @@
                                   SkScalar x, SkScalar y) {
     // We loop through the runs of the blob, flushing each.  If any run is too large, then we flush
     // it as paths
-    GrPipelineBuilder pipelineBuilder(grPaint, dc->accessRenderTarget());
+    GrPipelineBuilder pipelineBuilder(grPaint,  dc->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(dc->accessRenderTarget());
 
     GrColor color = grPaint.getColor();
 
@@ -448,7 +449,8 @@
                                      const SkMatrix& viewMatrix,
                                      const SkIRect& clipBounds,
                                      SkScalar x, SkScalar y) {
-    GrPipelineBuilder pipelineBuilder(grPaint, dc->accessRenderTarget());
+    GrPipelineBuilder pipelineBuilder(grPaint,  dc->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(dc->accessRenderTarget());
 
     GrColor color = grPaint.getColor();
     for (int run = 0; run < fRunCount; run++) {
diff --git a/src/gpu/text/GrStencilAndCoverTextContext.cpp b/src/gpu/text/GrStencilAndCoverTextContext.cpp
index eb6abb3..b74728e 100644
--- a/src/gpu/text/GrStencilAndCoverTextContext.cpp
+++ b/src/gpu/text/GrStencilAndCoverTextContext.cpp
@@ -82,7 +82,8 @@
     } else if (this->canDraw(skPaint, viewMatrix)) {
         if (skPaint.getTextSize() > 0) {
             TextRun run(skPaint);
-            GrPipelineBuilder pipelineBuilder(paint, dc->accessRenderTarget());
+            GrPipelineBuilder pipelineBuilder(paint,  dc->isUnifiedMultisampled());
+            pipelineBuilder.setRenderTarget(dc->accessRenderTarget());
             run.setText(text, byteLength, x, y);
             run.draw(context, dc, &pipelineBuilder, clip, paint.getColor(), viewMatrix, props, 0, 0,
                      clipBounds, fFallbackTextContext, skPaint);
@@ -117,7 +118,8 @@
     } else if (this->canDraw(skPaint, viewMatrix)) {
         if (skPaint.getTextSize() > 0) {
             TextRun run(skPaint);
-            GrPipelineBuilder pipelineBuilder(paint, dc->accessRenderTarget());
+            GrPipelineBuilder pipelineBuilder(paint,  dc->isUnifiedMultisampled());
+            pipelineBuilder.setRenderTarget(dc->accessRenderTarget());
             run.setPosText(text, byteLength, pos, scalarsPerPosition, offset);
             run.draw(context, dc, &pipelineBuilder, clip, paint.getColor(), viewMatrix, props, 0, 0,
                      clipBounds, fFallbackTextContext, skPaint);
@@ -225,7 +227,8 @@
     }
 
     const TextBlob& blob = this->findOrCreateTextBlob(skBlob, skPaint);
-    GrPipelineBuilder pipelineBuilder(paint, dc->accessRenderTarget());
+    GrPipelineBuilder pipelineBuilder(paint,  dc->isUnifiedMultisampled());
+    pipelineBuilder.setRenderTarget(dc->accessRenderTarget());
 
     TextBlob::Iter iter(blob);
     for (TextRun* run = iter.get(); run; run = iter.next()) {