diff options
author | Brian Osman <brianosman@google.com> | 2018-07-11 10:02:07 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-07-11 14:30:58 +0000 |
commit | 532b3f944a4991064963aee8f535c695f4068368 (patch) | |
tree | 671769fb6808a70240c1f857594e7f36b4ae8074 /src/gpu/ops | |
parent | c87cfb674bcaf27062dd11f88f1337af70173a11 (diff) |
Remove clamping of kPlus with F16 configs
The most common use-case for F16 is to draw things that are explicitly
outside of [0,1]. We can't prevent out-of-range values in general, users
could just draw out-of-range content in src mode. We've decided that
it's best to avoid surprising behavior, and trust the user in these
situations.
This effectively reverts https://skia-review.googlesource.com/c/skia/+/48183
Bug: skia:
Change-Id: I71c2dd925c567e2862d96ab70c752f19245a69c4
Reviewed-on: https://skia-review.googlesource.com/140500
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'src/gpu/ops')
26 files changed, 73 insertions, 114 deletions
diff --git a/src/gpu/ops/GrAAConvexPathRenderer.cpp b/src/gpu/ops/GrAAConvexPathRenderer.cpp index cfff457af5..7f54357cc4 100644 --- a/src/gpu/ops/GrAAConvexPathRenderer.cpp +++ b/src/gpu/ops/GrAAConvexPathRenderer.cpp @@ -782,10 +782,8 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, &fPaths.back().fColor); } diff --git a/src/gpu/ops/GrAAFillRectOp.cpp b/src/gpu/ops/GrAAFillRectOp.cpp index cbd1ad5c30..0d97de493a 100644 --- a/src/gpu/ops/GrAAFillRectOp.cpp +++ b/src/gpu/ops/GrAAFillRectOp.cpp @@ -229,11 +229,10 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor color = this->first()->color(); auto result = fHelper.xpRequiresDstTexture( - caps, clip, dstIsClamped, GrProcessorAnalysisCoverage::kSingleChannel, &color); + caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, &color); this->first()->setColor(color); return result; } diff --git a/src/gpu/ops/GrAAHairLinePathRenderer.cpp b/src/gpu/ops/GrAAHairLinePathRenderer.cpp index 620a8c0576..bed8cbfd34 100644 --- a/src/gpu/ops/GrAAHairLinePathRenderer.cpp +++ b/src/gpu/ops/GrAAHairLinePathRenderer.cpp @@ -823,10 +823,9 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, &fColor); + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + &fColor); } private: diff --git a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp index 7b1082a0fd..958f0f991e 100644 --- a/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp +++ b/src/gpu/ops/GrAALinearizingConvexPathRenderer.cpp @@ -200,10 +200,8 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, &fPaths.back().fColor); } diff --git a/src/gpu/ops/GrAAStrokeRectOp.cpp b/src/gpu/ops/GrAAStrokeRectOp.cpp index 651f839af8..1b2ab8e2a6 100644 --- a/src/gpu/ops/GrAAStrokeRectOp.cpp +++ b/src/gpu/ops/GrAAStrokeRectOp.cpp @@ -202,10 +202,8 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, &fRects.back().fColor); } diff --git a/src/gpu/ops/GrAtlasTextOp.cpp b/src/gpu/ops/GrAtlasTextOp.cpp index d956755f38..cfd0c45c70 100644 --- a/src/gpu/ops/GrAtlasTextOp.cpp +++ b/src/gpu/ops/GrAtlasTextOp.cpp @@ -138,8 +138,7 @@ GrDrawOp::FixedFunctionFlags GrAtlasTextOp::fixedFunctionFlags() const { } GrDrawOp::RequiresDstTexture GrAtlasTextOp::finalize(const GrCaps& caps, - const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) { + const GrAppliedClip* clip) { GrProcessorAnalysisCoverage coverage; GrProcessorAnalysisColor color; if (kColorBitmapMask_MaskType == fMaskType) { @@ -162,8 +161,7 @@ GrDrawOp::RequiresDstTexture GrAtlasTextOp::finalize(const GrCaps& caps, coverage = GrProcessorAnalysisCoverage::kNone; break; } - auto analysis = fProcessors.finalize(color, coverage, clip, false, caps, dstIsClamped, - &fGeoData[0].fColor); + auto analysis = fProcessors.finalize(color, coverage, clip, false, caps, &fGeoData[0].fColor); fUsesLocalCoords = analysis.usesLocalCoords(); fCanCombineOnTouchOrOverlap = !analysis.requiresDstTexture() && diff --git a/src/gpu/ops/GrAtlasTextOp.h b/src/gpu/ops/GrAtlasTextOp.h index 461c85c81c..14f7e953a3 100644 --- a/src/gpu/ops/GrAtlasTextOp.h +++ b/src/gpu/ops/GrAtlasTextOp.h @@ -74,8 +74,7 @@ public: FixedFunctionFlags fixedFunctionFlags() const override; - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override; + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override; enum MaskType { kGrayscaleCoverageMask_MaskType, diff --git a/src/gpu/ops/GrDashOp.cpp b/src/gpu/ops/GrDashOp.cpp index b5d7a478db..76203e521a 100644 --- a/src/gpu/ops/GrDashOp.cpp +++ b/src/gpu/ops/GrDashOp.cpp @@ -311,16 +311,14 @@ public: return flags; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrProcessorAnalysisCoverage coverage; if (AAMode::kNone == fAAMode && !clip->numClipCoverageFragmentProcessors()) { coverage = GrProcessorAnalysisCoverage::kNone; } else { coverage = GrProcessorAnalysisCoverage::kSingleChannel; } - auto analysis = fProcessorSet.finalize(fColor, coverage, clip, false, caps, dstIsClamped, - &fColor); + auto analysis = fProcessorSet.finalize(fColor, coverage, clip, false, caps, &fColor); fDisallowCombineOnTouchOrOverlap = analysis.requiresDstTexture() || (fProcessorSet.xferProcessor() && fProcessorSet.xferProcessor()->xferBarrierType(caps)); diff --git a/src/gpu/ops/GrDefaultPathRenderer.cpp b/src/gpu/ops/GrDefaultPathRenderer.cpp index a48dedc048..9fb1027375 100644 --- a/src/gpu/ops/GrDefaultPathRenderer.cpp +++ b/src/gpu/ops/GrDefaultPathRenderer.cpp @@ -389,12 +389,11 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrProcessorAnalysisCoverage gpCoverage = this->coverage() == 0xFF ? GrProcessorAnalysisCoverage::kNone : GrProcessorAnalysisCoverage::kSingleChannel; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, gpCoverage, &fColor); + return fHelper.xpRequiresDstTexture(caps, clip, gpCoverage, &fColor); } private: diff --git a/src/gpu/ops/GrDrawAtlasOp.cpp b/src/gpu/ops/GrDrawAtlasOp.cpp index 4c25edc207..0f94d7e548 100644 --- a/src/gpu/ops/GrDrawAtlasOp.cpp +++ b/src/gpu/ops/GrDrawAtlasOp.cpp @@ -178,16 +178,15 @@ GrDrawOp::FixedFunctionFlags GrDrawAtlasOp::fixedFunctionFlags() const { } GrDrawOp::RequiresDstTexture GrDrawAtlasOp::finalize(const GrCaps& caps, - const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) { + const GrAppliedClip* clip) { GrProcessorAnalysisColor gpColor; if (this->hasColors()) { gpColor.setToUnknown(); } else { gpColor.setToConstant(fColor); } - auto result = fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kNone, &gpColor); + auto result = fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kNone, + &gpColor); if (gpColor.isConstant(&fColor)) { fHasColors = false; } diff --git a/src/gpu/ops/GrDrawAtlasOp.h b/src/gpu/ops/GrDrawAtlasOp.h index 3bb7aa1553..4e894ce097 100644 --- a/src/gpu/ops/GrDrawAtlasOp.h +++ b/src/gpu/ops/GrDrawAtlasOp.h @@ -46,8 +46,7 @@ public: FixedFunctionFlags fixedFunctionFlags() const override; - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override; + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override; private: void onPrepareDraws(Target*) override; diff --git a/src/gpu/ops/GrDrawOp.h b/src/gpu/ops/GrDrawOp.h index 7871d9e70d..7295b3b861 100644 --- a/src/gpu/ops/GrDrawOp.h +++ b/src/gpu/ops/GrDrawOp.h @@ -44,8 +44,7 @@ public: * at this time the op must report whether a copy of the destination (or destination texture * itself) needs to be provided to the GrXferProcessor when this op executes. */ - virtual RequiresDstTexture finalize(const GrCaps&, const GrAppliedClip*, - GrPixelConfigIsClamped) = 0; + virtual RequiresDstTexture finalize(const GrCaps&, const GrAppliedClip*) = 0; private: typedef GrOp INHERITED; diff --git a/src/gpu/ops/GrDrawPathOp.h b/src/gpu/ops/GrDrawPathOp.h index 02c0022ace..63986d7902 100644 --- a/src/gpu/ops/GrDrawPathOp.h +++ b/src/gpu/ops/GrDrawPathOp.h @@ -29,9 +29,8 @@ protected: } return FixedFunctionFlags::kUsesStencil; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return this->doProcessorAnalysis(caps, clip, dstIsClamped).requiresDstTexture() + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return this->doProcessorAnalysis(caps, clip).requiresDstTexture() ? RequiresDstTexture::kYes : RequiresDstTexture::kNo; } @@ -47,11 +46,10 @@ protected: GrProcessorSet detachProcessors() { return std::move(fProcessorSet); } inline GrPipeline::InitArgs pipelineInitArgs(const GrOpFlushState&); const GrProcessorSet::Analysis& doProcessorAnalysis(const GrCaps& caps, - const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) { + const GrAppliedClip* clip) { bool isMixedSamples = GrAAType::kMixedSamples == fAAType; fAnalysis = fProcessorSet.finalize(fInputColor, GrProcessorAnalysisCoverage::kNone, clip, - isMixedSamples, caps, dstIsClamped, &fInputColor); + isMixedSamples, caps, &fInputColor); return fAnalysis; } const GrProcessorSet::Analysis& processorAnalysis() const { diff --git a/src/gpu/ops/GrDrawVerticesOp.cpp b/src/gpu/ops/GrDrawVerticesOp.cpp index bb5b7a5ef2..83a703fb54 100644 --- a/src/gpu/ops/GrDrawVerticesOp.cpp +++ b/src/gpu/ops/GrDrawVerticesOp.cpp @@ -131,16 +131,15 @@ GrDrawOp::FixedFunctionFlags GrDrawVerticesOp::fixedFunctionFlags() const { } GrDrawOp::RequiresDstTexture GrDrawVerticesOp::finalize(const GrCaps& caps, - const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) { + const GrAppliedClip* clip) { GrProcessorAnalysisColor gpColor; if (this->requiresPerVertexColors()) { gpColor.setToUnknown(); } else { gpColor.setToConstant(fMeshes.front().fColor); } - auto result = fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kNone, &gpColor); + auto result = fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kNone, + &gpColor); if (gpColor.isConstant(&fMeshes.front().fColor)) { fMeshes.front().fIgnoreColors = true; fFlags &= ~kRequiresPerVertexColors_Flag; diff --git a/src/gpu/ops/GrDrawVerticesOp.h b/src/gpu/ops/GrDrawVerticesOp.h index d15e620ff5..9b638b8172 100644 --- a/src/gpu/ops/GrDrawVerticesOp.h +++ b/src/gpu/ops/GrDrawVerticesOp.h @@ -59,8 +59,7 @@ public: FixedFunctionFlags fixedFunctionFlags() const override; - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override; + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override; private: enum class ColorArrayType { diff --git a/src/gpu/ops/GrLatticeOp.cpp b/src/gpu/ops/GrLatticeOp.cpp index 92bcb0c563..07821c016e 100644 --- a/src/gpu/ops/GrLatticeOp.cpp +++ b/src/gpu/ops/GrLatticeOp.cpp @@ -187,14 +187,13 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { auto opaque = GrColorIsOpaque(fPatches[0].fColor) && GrPixelConfigIsOpaque(fProxy->config()) ? GrProcessorAnalysisColor::Opaque::kYes : GrProcessorAnalysisColor::Opaque::kNo; auto analysisColor = GrProcessorAnalysisColor(opaque); auto result = fHelper.xpRequiresDstTexture( - caps, clip, dstIsClamped, GrProcessorAnalysisCoverage::kNone, &analysisColor); + caps, clip, GrProcessorAnalysisCoverage::kNone, &analysisColor); analysisColor.isConstant(&fPatches[0].fColor); return result; } diff --git a/src/gpu/ops/GrNonAAFillRectOp.cpp b/src/gpu/ops/GrNonAAFillRectOp.cpp index 8af9651a46..1b76d4abfe 100644 --- a/src/gpu/ops/GrNonAAFillRectOp.cpp +++ b/src/gpu/ops/GrNonAAFillRectOp.cpp @@ -163,11 +163,9 @@ public: return str; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fRects.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kNone, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kNone, color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } @@ -294,11 +292,9 @@ public: return str; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fRects.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kNone, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kNone, color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } diff --git a/src/gpu/ops/GrNonAAStrokeRectOp.cpp b/src/gpu/ops/GrNonAAStrokeRectOp.cpp index 4090e3437d..357d9232ff 100644 --- a/src/gpu/ops/GrNonAAStrokeRectOp.cpp +++ b/src/gpu/ops/GrNonAAStrokeRectOp.cpp @@ -133,10 +133,9 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kNone, &fColor); + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kNone, + &fColor); } private: diff --git a/src/gpu/ops/GrOvalOpFactory.cpp b/src/gpu/ops/GrOvalOpFactory.cpp index cb7dade289..59efec3ad6 100644 --- a/src/gpu/ops/GrOvalOpFactory.cpp +++ b/src/gpu/ops/GrOvalOpFactory.cpp @@ -1140,11 +1140,10 @@ public: return string; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fCircles.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } @@ -1632,11 +1631,10 @@ public: return string; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fCircles.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } @@ -1946,11 +1944,10 @@ public: return string; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fEllipses.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } @@ -2185,11 +2182,10 @@ public: return string; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fEllipses.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } @@ -2519,11 +2515,10 @@ public: return string; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fRRects.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } @@ -2885,11 +2880,10 @@ public: return string; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrColor* color = &fRRects.front().fColor; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, color); + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, + color); } FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } diff --git a/src/gpu/ops/GrRegionOp.cpp b/src/gpu/ops/GrRegionOp.cpp index cd51152b8c..852cd46c70 100644 --- a/src/gpu/ops/GrRegionOp.cpp +++ b/src/gpu/ops/GrRegionOp.cpp @@ -102,10 +102,9 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kNone, &fRegions[0].fColor); + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kNone, + &fRegions[0].fColor); } private: diff --git a/src/gpu/ops/GrShadowRRectOp.cpp b/src/gpu/ops/GrShadowRRectOp.cpp index 220556ffdb..09a2442619 100644 --- a/src/gpu/ops/GrShadowRRectOp.cpp +++ b/src/gpu/ops/GrShadowRRectOp.cpp @@ -258,8 +258,7 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return FixedFunctionFlags::kNone; } - RequiresDstTexture finalize(const GrCaps&, const GrAppliedClip*, - GrPixelConfigIsClamped) override { + RequiresDstTexture finalize(const GrCaps&, const GrAppliedClip*) override { return RequiresDstTexture::kNo; } diff --git a/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp b/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp index d1565c1235..498e95819b 100644 --- a/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp +++ b/src/gpu/ops/GrSimpleMeshDrawOpHelper.cpp @@ -64,8 +64,8 @@ bool GrSimpleMeshDrawOpHelper::isCompatible(const GrSimpleMeshDrawOpHelper& that } GrDrawOp::RequiresDstTexture GrSimpleMeshDrawOpHelper::xpRequiresDstTexture( - const GrCaps& caps, const GrAppliedClip* clip, GrPixelConfigIsClamped dstIsClamped, - GrProcessorAnalysisCoverage geometryCoverage, GrProcessorAnalysisColor* geometryColor) { + const GrCaps& caps, const GrAppliedClip* clip, GrProcessorAnalysisCoverage geometryCoverage, + GrProcessorAnalysisColor* geometryColor) { SkDEBUGCODE(fDidAnalysis = true); GrProcessorSet::Analysis analysis; if (fProcessors) { @@ -78,7 +78,7 @@ GrDrawOp::RequiresDstTexture GrSimpleMeshDrawOpHelper::xpRequiresDstTexture( bool isMixedSamples = this->aaType() == GrAAType::kMixedSamples; GrColor overrideColor; analysis = fProcessors->finalize(*geometryColor, coverage, clip, isMixedSamples, caps, - dstIsClamped, &overrideColor); + &overrideColor); if (analysis.inputColorIsOverridden()) { *geometryColor = overrideColor; } @@ -93,10 +93,10 @@ GrDrawOp::RequiresDstTexture GrSimpleMeshDrawOpHelper::xpRequiresDstTexture( } GrDrawOp::RequiresDstTexture GrSimpleMeshDrawOpHelper::xpRequiresDstTexture( - const GrCaps& caps, const GrAppliedClip* clip, GrPixelConfigIsClamped dstIsClamped, - GrProcessorAnalysisCoverage geometryCoverage, GrColor* geometryColor) { + const GrCaps& caps, const GrAppliedClip* clip, GrProcessorAnalysisCoverage geometryCoverage, + GrColor* geometryColor) { GrProcessorAnalysisColor color = *geometryColor; - auto result = this->xpRequiresDstTexture(caps, clip, dstIsClamped, geometryCoverage, &color); + auto result = this->xpRequiresDstTexture(caps, clip, geometryCoverage, &color); color.isConstant(geometryColor); return result; } diff --git a/src/gpu/ops/GrSimpleMeshDrawOpHelper.h b/src/gpu/ops/GrSimpleMeshDrawOpHelper.h index d2bfd369e0..2bffa09d4c 100644 --- a/src/gpu/ops/GrSimpleMeshDrawOpHelper.h +++ b/src/gpu/ops/GrSimpleMeshDrawOpHelper.h @@ -67,7 +67,6 @@ public: * color from its geometry processor instead. */ GrDrawOp::RequiresDstTexture xpRequiresDstTexture(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped, GrProcessorAnalysisCoverage geometryCoverage, GrProcessorAnalysisColor* geometryColor); @@ -77,7 +76,6 @@ public: * changed the op must override its geometry processor color output with the new color. */ GrDrawOp::RequiresDstTexture xpRequiresDstTexture(const GrCaps&, const GrAppliedClip*, - GrPixelConfigIsClamped dstIsClamped, GrProcessorAnalysisCoverage geometryCoverage, GrColor* geometryColor); diff --git a/src/gpu/ops/GrSmallPathRenderer.cpp b/src/gpu/ops/GrSmallPathRenderer.cpp index 01c84ee0a0..286fab71c7 100644 --- a/src/gpu/ops/GrSmallPathRenderer.cpp +++ b/src/gpu/ops/GrSmallPathRenderer.cpp @@ -293,10 +293,8 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, - GrProcessorAnalysisCoverage::kSingleChannel, + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { + return fHelper.xpRequiresDstTexture(caps, clip, GrProcessorAnalysisCoverage::kSingleChannel, &fShapes.front().fColor); } diff --git a/src/gpu/ops/GrTessellatingPathRenderer.cpp b/src/gpu/ops/GrTessellatingPathRenderer.cpp index ec33f3868f..1c0a7f5551 100644 --- a/src/gpu/ops/GrTessellatingPathRenderer.cpp +++ b/src/gpu/ops/GrTessellatingPathRenderer.cpp @@ -220,12 +220,11 @@ public: FixedFunctionFlags fixedFunctionFlags() const override { return fHelper.fixedFunctionFlags(); } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { GrProcessorAnalysisCoverage coverage = fAntiAlias ? GrProcessorAnalysisCoverage::kSingleChannel : GrProcessorAnalysisCoverage::kNone; - return fHelper.xpRequiresDstTexture(caps, clip, dstIsClamped, coverage, &fColor); + return fHelper.xpRequiresDstTexture(caps, clip, coverage, &fColor); } private: diff --git a/src/gpu/ops/GrTextureOp.cpp b/src/gpu/ops/GrTextureOp.cpp index bced31dbc5..108ee4294a 100644 --- a/src/gpu/ops/GrTextureOp.cpp +++ b/src/gpu/ops/GrTextureOp.cpp @@ -683,8 +683,7 @@ public: return str; } - RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip, - GrPixelConfigIsClamped dstIsClamped) override { + RequiresDstTexture finalize(const GrCaps& caps, const GrAppliedClip* clip) override { SkASSERT(!fFinalized); SkASSERT(1 == fProxyCnt); fFinalized = true; |