diff options
author | 2016-01-22 06:53:57 -0800 | |
---|---|---|
committer | 2016-01-22 06:53:57 -0800 | |
commit | e429c88a811dfa05a26582a06fd53752768aa9f4 (patch) | |
tree | bfa6b730c3fa305036ebf6054a5cdae5232ead02 /src/gpu/effects/GrCustomXfermode.cpp | |
parent | aa97a84404c7505738713a4c19b42347c7daef9e (diff) |
Revert of Add gpu implementation of OverdrawXfermode (patchset #6 id:100001 of https://codereview.chromium.org/1607253002/ )
Reason for revert:
Overdraw Xfer mode using new fangled glsl features
Original issue's description:
> Add gpu implementation of OverdrawXfermode
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1607253002
>
> Committed: https://skia.googlesource.com/skia/+/8bc3cf88bbf5e5d5724356f076931bb70a6117ba
TBR=egdaniel@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
Review URL: https://codereview.chromium.org/1626443002
Diffstat (limited to 'src/gpu/effects/GrCustomXfermode.cpp')
-rw-r--r-- | src/gpu/effects/GrCustomXfermode.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/gpu/effects/GrCustomXfermode.cpp b/src/gpu/effects/GrCustomXfermode.cpp index dccec0c599..93f20738b4 100644 --- a/src/gpu/effects/GrCustomXfermode.cpp +++ b/src/gpu/effects/GrCustomXfermode.cpp @@ -175,8 +175,17 @@ private: GrGLSLBlend::AppendMode(fragBuilder, srcColor, dstColor, outColor, xp.mode()); // Apply coverage. - INHERITED::DefaultCoverageModulation(fragBuilder, srcCoverage, dstColor, outColor, - outColorSecondary, xp); + if (xp.dstReadUsesMixedSamples()) { + if (srcCoverage) { + fragBuilder->codeAppendf("%s *= %s;", outColor, srcCoverage); + fragBuilder->codeAppendf("%s = %s;", outColorSecondary, srcCoverage); + } else { + fragBuilder->codeAppendf("%s = vec4(1.0);", outColorSecondary); + } + } else if (srcCoverage) { + fragBuilder->codeAppendf("%s = %s * %s + (vec4(1.0) - %s) * %s;", + outColor, srcCoverage, outColor, srcCoverage, dstColor); + } } void onSetData(const GrGLSLProgramDataManager&, const GrXferProcessor&) override {} |