get rid of static gps

This may cause a perf regression

TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/749413003
diff --git a/src/gpu/GrAAConvexPathRenderer.cpp b/src/gpu/GrAAConvexPathRenderer.cpp
index 4008fe2..f7c6e7f 100644
--- a/src/gpu/GrAAConvexPathRenderer.cpp
+++ b/src/gpu/GrAAConvexPathRenderer.cpp
@@ -506,9 +506,7 @@
 public:
 
     static GrGeometryProcessor* Create() {
-        GR_CREATE_STATIC_PROCESSOR(gQuadEdgeEffect, QuadEdgeEffect, ());
-        gQuadEdgeEffect->ref();
-        return gQuadEdgeEffect;
+        return SkNEW(QuadEdgeEffect);
     }
 
     virtual ~QuadEdgeEffect() {}
diff --git a/src/gpu/GrDefaultGeoProcFactory.cpp b/src/gpu/GrDefaultGeoProcFactory.cpp
index 0df519d..6b9d2c2 100644
--- a/src/gpu/GrDefaultGeoProcFactory.cpp
+++ b/src/gpu/GrDefaultGeoProcFactory.cpp
@@ -22,43 +22,7 @@
 class DefaultGeoProc : public GrGeometryProcessor {
 public:
     static GrGeometryProcessor* Create(uint32_t gpTypeFlags) {
-        switch (gpTypeFlags) {
-            case Flag::kColor_GPType | Flag::kCoverage_GPType | Flag::kLocalCoord_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcColLocCov, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcColLocCov);
-            }
-            case Flag::kColor_GPType | Flag::kLocalCoord_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcColLoc, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcColLoc);
-            }
-            case Flag::kColor_GPType | Flag::kCoverage_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcColCov, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcColCov);
-            }
-            case Flag::kColor_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcCol, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcCol);
-            }
-            case Flag::kLocalCoord_GPType | Flag::kCoverage_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcLocCov, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcLocCov);
-            }
-            case Flag::kLocalCoord_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcLoc, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcLoc);
-            }
-            case Flag::kCoverage_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProcCov, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProcCov);
-            }
-            case Flag::kPosition_GPType: {
-                GR_CREATE_STATIC_PROCESSOR(gDefaultGeoProc, DefaultGeoProc, (gpTypeFlags));
-                return SkRef(gDefaultGeoProc);
-            }
-            default:
-                SkFAIL("Incomplete Switch");
-                return NULL;
-        }
+        return SkNEW_ARGS(DefaultGeoProc, (gpTypeFlags));
     }
 
     virtual const char* name() const SK_OVERRIDE { return "DefaultGeometryProcessor"; }
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp
index f392b90..4d7912a 100644
--- a/src/gpu/GrOvalRenderer.cpp
+++ b/src/gpu/GrOvalRenderer.cpp
@@ -60,16 +60,7 @@
 class CircleEdgeEffect : public GrGeometryProcessor {
 public:
     static GrGeometryProcessor* Create(bool stroke) {
-        GR_CREATE_STATIC_PROCESSOR(gCircleStrokeEdge, CircleEdgeEffect, (true));
-        GR_CREATE_STATIC_PROCESSOR(gCircleFillEdge, CircleEdgeEffect, (false));
-
-        if (stroke) {
-            gCircleStrokeEdge->ref();
-            return gCircleStrokeEdge;
-        } else {
-            gCircleFillEdge->ref();
-            return gCircleFillEdge;
-        }
+        return SkNEW_ARGS(CircleEdgeEffect, (stroke));
     }
 
     const GrAttribute* inPosition() const { return fInPosition; }
@@ -188,16 +179,7 @@
 class EllipseEdgeEffect : public GrGeometryProcessor {
 public:
     static GrGeometryProcessor* Create(bool stroke) {
-        GR_CREATE_STATIC_PROCESSOR(gEllipseStrokeEdge, EllipseEdgeEffect, (true));
-        GR_CREATE_STATIC_PROCESSOR(gEllipseFillEdge, EllipseEdgeEffect, (false));
-
-        if (stroke) {
-            gEllipseStrokeEdge->ref();
-            return gEllipseStrokeEdge;
-        } else {
-            gEllipseFillEdge->ref();
-            return gEllipseFillEdge;
-        }
+        return SkNEW_ARGS(EllipseEdgeEffect, (stroke));
     }
 
     virtual ~EllipseEdgeEffect() {}
@@ -347,20 +329,7 @@
     enum Mode { kStroke = 0, kHairline, kFill };
 
     static GrGeometryProcessor* Create(Mode mode) {
-        GR_CREATE_STATIC_PROCESSOR(gEllipseStrokeEdge, DIEllipseEdgeEffect, (kStroke));
-        GR_CREATE_STATIC_PROCESSOR(gEllipseHairlineEdge, DIEllipseEdgeEffect, (kHairline));
-        GR_CREATE_STATIC_PROCESSOR(gEllipseFillEdge, DIEllipseEdgeEffect, (kFill));
-
-        if (kStroke == mode) {
-            gEllipseStrokeEdge->ref();
-            return gEllipseStrokeEdge;
-        } else if (kHairline == mode) {
-            gEllipseHairlineEdge->ref();
-            return gEllipseHairlineEdge;
-        } else {
-            gEllipseFillEdge->ref();
-            return gEllipseFillEdge;
-        }
+        return SkNEW_ARGS(DIEllipseEdgeEffect, (mode));
     }
 
     virtual ~DIEllipseEdgeEffect() {}
diff --git a/src/gpu/effects/GrBezierEffect.h b/src/gpu/effects/GrBezierEffect.h
index 7b171a1..dfab3a9 100644
--- a/src/gpu/effects/GrBezierEffect.h
+++ b/src/gpu/effects/GrBezierEffect.h
@@ -60,25 +60,19 @@
 public:
     static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType,
                                        const GrDrawTargetCaps& caps) {
-        GR_CREATE_STATIC_PROCESSOR(gConicFillAA, GrConicEffect, (kFillAA_GrProcessorEdgeType));
-        GR_CREATE_STATIC_PROCESSOR(gConicHairAA, GrConicEffect, (kHairlineAA_GrProcessorEdgeType));
-        GR_CREATE_STATIC_PROCESSOR(gConicFillBW, GrConicEffect, (kFillBW_GrProcessorEdgeType));
         switch (edgeType) {
             case kFillAA_GrProcessorEdgeType:
                 if (!caps.shaderDerivativeSupport()) {
                     return NULL;
                 }
-                gConicFillAA->ref();
-                return gConicFillAA;
+                return SkNEW_ARGS(GrConicEffect, (kFillAA_GrProcessorEdgeType));
             case kHairlineAA_GrProcessorEdgeType:
                 if (!caps.shaderDerivativeSupport()) {
                     return NULL;
                 }
-                gConicHairAA->ref();
-                return gConicHairAA;
+                return SkNEW_ARGS(GrConicEffect, (kHairlineAA_GrProcessorEdgeType));
             case kFillBW_GrProcessorEdgeType:
-                gConicFillBW->ref();
-                return gConicFillBW;
+                return SkNEW_ARGS(GrConicEffect, (kFillBW_GrProcessorEdgeType));;
             default:
                 return NULL;
         }
@@ -133,25 +127,19 @@
 public:
     static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType,
                                        const GrDrawTargetCaps& caps) {
-        GR_CREATE_STATIC_PROCESSOR(gQuadFillAA, GrQuadEffect, (kFillAA_GrProcessorEdgeType));
-        GR_CREATE_STATIC_PROCESSOR(gQuadHairAA, GrQuadEffect, (kHairlineAA_GrProcessorEdgeType));
-        GR_CREATE_STATIC_PROCESSOR(gQuadFillBW, GrQuadEffect, (kFillBW_GrProcessorEdgeType));
         switch (edgeType) {
             case kFillAA_GrProcessorEdgeType:
                 if (!caps.shaderDerivativeSupport()) {
                     return NULL;
                 }
-                gQuadFillAA->ref();
-                return gQuadFillAA;
+                return SkNEW_ARGS(GrQuadEffect, (kFillAA_GrProcessorEdgeType));
             case kHairlineAA_GrProcessorEdgeType:
                 if (!caps.shaderDerivativeSupport()) {
                     return NULL;
                 }
-                gQuadHairAA->ref();
-                return gQuadHairAA;
+                return SkNEW_ARGS(GrQuadEffect, (kHairlineAA_GrProcessorEdgeType));
             case kFillBW_GrProcessorEdgeType:
-                gQuadFillBW->ref();
-                return gQuadFillBW;
+                return SkNEW_ARGS(GrQuadEffect, (kFillBW_GrProcessorEdgeType));
             default:
                 return NULL;
         }
@@ -208,25 +196,19 @@
 public:
     static GrGeometryProcessor* Create(const GrPrimitiveEdgeType edgeType,
                                        const GrDrawTargetCaps& caps) {
-        GR_CREATE_STATIC_PROCESSOR(gCubicFillAA, GrCubicEffect, (kFillAA_GrProcessorEdgeType));
-        GR_CREATE_STATIC_PROCESSOR(gCubicHairAA, GrCubicEffect, (kHairlineAA_GrProcessorEdgeType));
-        GR_CREATE_STATIC_PROCESSOR(gCubicFillBW, GrCubicEffect, (kFillBW_GrProcessorEdgeType));
         switch (edgeType) {
             case kFillAA_GrProcessorEdgeType:
                 if (!caps.shaderDerivativeSupport()) {
                     return NULL;
                 }
-                gCubicFillAA->ref();
-                return gCubicFillAA;
+                return SkNEW_ARGS(GrCubicEffect, (kFillAA_GrProcessorEdgeType));
             case kHairlineAA_GrProcessorEdgeType:
                 if (!caps.shaderDerivativeSupport()) {
                     return NULL;
                 }
-                gCubicHairAA->ref();
-                return gCubicHairAA;
+                return SkNEW_ARGS(GrCubicEffect, (kHairlineAA_GrProcessorEdgeType));
             case kFillBW_GrProcessorEdgeType:
-                gCubicFillBW->ref();
-                return gCubicFillBW;
+                return SkNEW_ARGS(GrCubicEffect, (kFillBW_GrProcessorEdgeType));
             default:
                 return NULL;
         }