Index: src/gpu/SkGr.cpp |
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp |
index 9ab2f6393aff26fa40be7b427bb693565602ee76..09c83b929a8c575b1a2b9e15116c76abc4968c5c 100644 |
--- a/src/gpu/SkGr.cpp |
+++ b/src/gpu/SkGr.cpp |
@@ -708,10 +708,9 @@ bool GrPixelConfig2ColorAndProfileType(GrPixelConfig config, SkColorType* ctOut, |
/////////////////////////////////////////////////////////////////////////////// |
-bool SkPaint2GrPaintNoShader(GrContext* context, GrRenderTarget* rt, const SkPaint& skPaint, |
- GrColor paintColor, bool constantColor, GrPaint* grPaint) { |
+bool SkPaint2GrPaintNoShader(GrContext* context, const SkPaint& skPaint, GrColor paintColor, |
+ bool constantColor, GrPaint* grPaint) { |
- grPaint->setDither(skPaint.isDither()); |
grPaint->setAntiAlias(skPaint.isAntiAlias()); |
SkXfermode* mode = skPaint.getXfermode(); |
@@ -748,34 +747,18 @@ bool SkPaint2GrPaintNoShader(GrContext* context, GrRenderTarget* rt, const SkPai |
} |
#ifndef SK_IGNORE_GPU_DITHER |
- // If the dither flag is set, then we need to see if the underlying context |
- // supports it. If not, then install a dither effect. |
if (skPaint.isDither() && grPaint->numColorFragmentProcessors() > 0) { |
- // What are we rendering into? |
- SkASSERT(rt); |
- |
- // Suspect the dithering flag has no effect on these configs, otherwise |
- // fall back on setting the appropriate state. |
- if (GrPixelConfigIs8888(rt->config()) || |
- GrPixelConfigIs8888(rt->config())) { |
- // The dither flag is set and the target is likely |
- // not going to be dithered by the GPU. |
- SkAutoTUnref<GrFragmentProcessor> fp(GrDitherEffect::Create()); |
- if (fp.get()) { |
- grPaint->addColorFragmentProcessor(fp); |
- grPaint->setDither(false); |
- } |
- } |
+ grPaint->addColorFragmentProcessor(GrDitherEffect::Create())->unref(); |
} |
#endif |
return true; |
} |
-bool SkPaint2GrPaint(GrContext* context, GrRenderTarget* rt, const SkPaint& skPaint, |
- const SkMatrix& viewM, bool constantColor, GrPaint* grPaint) { |
+bool SkPaint2GrPaint(GrContext* context,const SkPaint& skPaint, const SkMatrix& viewM, |
+ bool constantColor, GrPaint* grPaint) { |
SkShader* shader = skPaint.getShader(); |
if (nullptr == shader) { |
- return SkPaint2GrPaintNoShader(context, rt, skPaint, SkColor2GrColor(skPaint.getColor()), |
+ return SkPaint2GrPaintNoShader(context, skPaint, SkColor2GrColor(skPaint.getColor()), |
constantColor, grPaint); |
} |
@@ -791,7 +774,7 @@ bool SkPaint2GrPaint(GrContext* context, GrRenderTarget* rt, const SkPaint& skPa |
// The grcolor is automatically set when calling asFragmentProcessor. |
// If the shader can be seen as an effect it returns true and adds its effect to the grpaint. |
- return SkPaint2GrPaintNoShader(context, rt, skPaint, paintColor, constantColor, grPaint); |
+ return SkPaint2GrPaintNoShader(context, skPaint, paintColor, constantColor, grPaint); |
} |
SkImageInfo GrMakeInfoFromTexture(GrTexture* tex, int w, int h, bool isOpaque) { |