| Index: src/gpu/effects/GrPorterDuffXferProcessor.cpp
|
| diff --git a/src/gpu/effects/GrPorterDuffXferProcessor.cpp b/src/gpu/effects/GrPorterDuffXferProcessor.cpp
|
| index 94d3dd67a93ae8df8da4e06b53d41286eddae558..1758a87e7c0c8fe4e22042854eb7628379d95784 100644
|
| --- a/src/gpu/effects/GrPorterDuffXferProcessor.cpp
|
| +++ b/src/gpu/effects/GrPorterDuffXferProcessor.cpp
|
| @@ -748,6 +748,9 @@ GrPorterDuffXPFactory::onCreateXferProcessor(const GrCaps& caps,
|
| const GrPipelineOptimizations& optimizations,
|
| bool hasMixedSamples,
|
| const DstTexture* dstTexture) const {
|
| + if (optimizations.fOverrides.fUsePLSDstRead) {
|
| + return new ShaderPDXferProcessor(dstTexture, hasMixedSamples, fXfermode);
|
| + }
|
| BlendFormula blendFormula;
|
| if (optimizations.fCoveragePOI.isFourChannelOutput()) {
|
| if (SkXfermode::kSrcOver_Mode == fXfermode &&
|
| @@ -807,6 +810,9 @@ void GrPorterDuffXPFactory::getInvariantBlendedColor(const GrProcOptInfo& colorP
|
| bool GrPorterDuffXPFactory::willReadDstColor(const GrCaps& caps,
|
| const GrPipelineOptimizations& optimizations,
|
| bool hasMixedSamples) const {
|
| + if (INHERITED::willReadDstColor(caps, optimizations, hasMixedSamples)) {
|
| + return true;
|
| + }
|
| if (caps.shaderCaps()->dualSourceBlendingSupport()) {
|
| return false;
|
| }
|
| @@ -863,6 +869,9 @@ GrXferProcessor* GrPorterDuffXPFactory::CreateSrcOverXferProcessor(
|
| const GrPipelineOptimizations& optimizations,
|
| bool hasMixedSamples,
|
| const GrXferProcessor::DstTexture* dstTexture) {
|
| + if (optimizations.fOverrides.fUsePLSDstRead) {
|
| + return new ShaderPDXferProcessor(dstTexture, hasMixedSamples, SkXfermode::kSrcOver_Mode);
|
| + }
|
| if (!optimizations.fCoveragePOI.isFourChannelOutput() &&
|
| !(optimizations.fCoveragePOI.isSolidWhite() &&
|
| !hasMixedSamples &&
|
|
|