From 06f019fc0f809db993b03d7beb2fd5b4e0c58160 Mon Sep 17 00:00:00 2001 From: joshualitt Date: Wed, 10 Dec 2014 14:57:50 -0800 Subject: [PATCH] Revert of Fix to set correct output type when blending when we've read dst (patchset #4 id:60001 of https://codereview.chromium.org/791143002/) Reason for revert: Breaks DM on windows Original issue's description: > Fix to set correct output type when blending when we've read dst > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/733fc2054044377e914559fa4f46db66ab7d9cea TBR=bsalomon@google.com,egdaniel@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/795783002 --- include/gpu/effects/GrPorterDuffXferProcessor.h | 11 ----------- src/gpu/effects/GrPorterDuffXferProcessor.cpp | 10 ---------- 2 files changed, 21 deletions(-) diff --git a/include/gpu/effects/GrPorterDuffXferProcessor.h b/include/gpu/effects/GrPorterDuffXferProcessor.h index 695d305..26800c7 100644 --- a/include/gpu/effects/GrPorterDuffXferProcessor.h +++ b/include/gpu/effects/GrPorterDuffXferProcessor.h @@ -36,14 +36,6 @@ public: /// @name Stage Output Types //// - enum PrimaryOutputType { - // Modulate color and coverage, write result as the color output. - kModulate_PrimaryOutputType, - // Combines the coverage, dst, and color as coverage * color + (1 - coverage) * dst. This - // can only be set if fDstReadKey is non-zero. - kCombineWithDst_PrimaryOutputType, - }; - enum SecondaryOutputType { // There is no secondary output kNone_SecondaryOutputType, @@ -60,7 +52,6 @@ public: kSecondaryOutputTypeCnt, }; - PrimaryOutputType primaryOutputType() const { return fPrimaryOutputType; } SecondaryOutputType secondaryOutputType() const { return fSecondaryOutputType; } GrXferProcessor::OptFlags getOptimizations(const GrProcOptInfo& colorPOI, @@ -86,7 +77,6 @@ private: if (fSrcBlend != xp.fSrcBlend || fDstBlend != xp.fDstBlend || fBlendConstant != xp.fBlendConstant || - fPrimaryOutputType != xp.fPrimaryOutputType || fSecondaryOutputType != xp.fSecondaryOutputType) { return false; } @@ -109,7 +99,6 @@ private: GrBlendCoeff fSrcBlend; GrBlendCoeff fDstBlend; GrColor fBlendConstant; - PrimaryOutputType fPrimaryOutputType; SecondaryOutputType fSecondaryOutputType; typedef GrXferProcessor INHERITED; diff --git a/src/gpu/effects/GrPorterDuffXferProcessor.cpp b/src/gpu/effects/GrPorterDuffXferProcessor.cpp index f27b16c..0978546 100644 --- a/src/gpu/effects/GrPorterDuffXferProcessor.cpp +++ b/src/gpu/effects/GrPorterDuffXferProcessor.cpp @@ -68,10 +68,6 @@ public: fsBuilder->codeAppendf("%s = %s * %s;", args.fOutputPrimary, args.fInputColor, args.fInputCoverage); - if (GrPorterDuffXferProcessor::kCombineWithDst_PrimaryOutputType == xp.primaryOutputType()){ - fsBuilder->codeAppendf("%s += (vec4(1.0) - %s) * %s;", args.fOutputPrimary, - args.fInputCoverage, fsBuilder->dstColor()); - } } virtual void setData(const GrGLProgramDataManager&, const GrXferProcessor&) SK_OVERRIDE {}; @@ -79,7 +75,6 @@ public: static void GenKey(const GrProcessor& processor, const GrGLCaps& caps, GrProcessorKeyBuilder* b) { const GrPorterDuffXferProcessor& xp = processor.cast(); - b->add32(xp.primaryOutputType()); b->add32(xp.secondaryOutputType()); }; @@ -94,7 +89,6 @@ GrPorterDuffXferProcessor::GrPorterDuffXferProcessor(GrBlendCoeff srcBlend, GrBl : fSrcBlend(srcBlend) , fDstBlend(dstBlend) , fBlendConstant(constant) - , fPrimaryOutputType(kModulate_PrimaryOutputType) , fSecondaryOutputType(kNone_SecondaryOutputType) { this->initClassID(); } @@ -158,10 +152,6 @@ void GrPorterDuffXferProcessor::calcOutputTypes(GrXferProcessor::OptFlags optFla fSecondaryOutputType = kCoverageISC_SecondaryOutputType; fDstBlend = (GrBlendCoeff)GrGpu::kIS2C_GrBlendCoeff; } - } else if (readsDst && - kOne_GrBlendCoeff == fSrcBlend && - kZero_GrBlendCoeff == fDstBlend) { - fPrimaryOutputType = kCombineWithDst_PrimaryOutputType; } } } -- 2.7.4