diff options
Diffstat (limited to 'src/gpu/GrClipMaskManager.cpp')
-rw-r--r-- | src/gpu/GrClipMaskManager.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp index 2cc764f270..3ecc922999 100644 --- a/src/gpu/GrClipMaskManager.cpp +++ b/src/gpu/GrClipMaskManager.cpp @@ -51,7 +51,7 @@ void setup_drawstate_aaclip(GrGpu* gpu, SkIRect domainTexels = SkIRect::MakeWH(devBound.width(), devBound.height()); // This could be a long-lived effect that is cached with the alpha-mask. - drawState->addCoverageEffect( + drawState->addCoverageProcessor( GrTextureDomainEffect::Create(result, mat, GrTextureDomain::MakeTexelDomain(result, domainTexels), @@ -154,44 +154,46 @@ bool GrClipMaskManager::installClipEffects(const ElementList& elements, } if (!skip) { - GrEffectEdgeType edgeType; + GrPrimitiveEdgeType edgeType; if (GR_AA_CLIP && iter.get()->isAA()) { if (rt->isMultisampled()) { // Coverage based AA clips don't place nicely with MSAA. failed = true; break; } - edgeType = invert ? kInverseFillAA_GrEffectEdgeType : kFillAA_GrEffectEdgeType; + edgeType = + invert ? kInverseFillAA_GrProcessorEdgeType : kFillAA_GrProcessorEdgeType; } else { - edgeType = invert ? kInverseFillBW_GrEffectEdgeType : kFillBW_GrEffectEdgeType; + edgeType = + invert ? kInverseFillBW_GrProcessorEdgeType : kFillBW_GrProcessorEdgeType; } - SkAutoTUnref<GrEffect> effect; + SkAutoTUnref<GrFragmentProcessor> fp; switch (iter.get()->getType()) { case SkClipStack::Element::kPath_Type: - effect.reset(GrConvexPolyEffect::Create(edgeType, iter.get()->getPath(), + fp.reset(GrConvexPolyEffect::Create(edgeType, iter.get()->getPath(), &clipToRTOffset)); break; case SkClipStack::Element::kRRect_Type: { SkRRect rrect = iter.get()->getRRect(); rrect.offset(clipToRTOffset.fX, clipToRTOffset.fY); - effect.reset(GrRRectEffect::Create(edgeType, rrect)); + fp.reset(GrRRectEffect::Create(edgeType, rrect)); break; } case SkClipStack::Element::kRect_Type: { SkRect rect = iter.get()->getRect(); rect.offset(clipToRTOffset.fX, clipToRTOffset.fY); - effect.reset(GrConvexPolyEffect::Create(edgeType, rect)); + fp.reset(GrConvexPolyEffect::Create(edgeType, rect)); break; } default: break; } - if (effect) { + if (fp) { if (!setARE) { are->set(fGpu->drawState()); setARE = true; } - fGpu->drawState()->addCoverageEffect(effect); + fGpu->drawState()->addCoverageProcessor(fp); } else { failed = true; break; @@ -397,8 +399,8 @@ bool GrClipMaskManager::drawElement(GrTexture* target, SkDEBUGFAIL("Should never get here with an empty element."); break; case Element::kRect_Type: - // TODO: Do rects directly to the accumulator using a aa-rect GrEffect that covers the - // entire mask bounds and writes 0 outside the rect. + // TODO: Do rects directly to the accumulator using a aa-rect GrProcessor that covers + // the entire mask bounds and writes 0 outside the rect. if (element->isAA()) { getContext()->getAARectRenderer()->fillAARect(fGpu, fGpu, @@ -474,7 +476,7 @@ void GrClipMaskManager::mergeMask(GrTexture* dstMask, SkMatrix sampleM; sampleM.setIDiv(srcMask->width(), srcMask->height()); - drawState->addColorEffect( + drawState->addColorProcessor( GrTextureDomainEffect::Create(srcMask, sampleM, GrTextureDomain::MakeTexelDomain(srcMask, srcBound), |