Chromium Code Reviews| Index: src/gpu/GrPipeline.cpp |
| diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp |
| index 906426caaaecc0699dd8d878ee2ccdfa9bdfd6dd..6502829bfebf19275e8f517baa74c6ddcf117b0d 100644 |
| --- a/src/gpu/GrPipeline.cpp |
| +++ b/src/gpu/GrPipeline.cpp |
| @@ -29,11 +29,21 @@ GrPipeline::GrPipeline(const GrPipelineBuilder& pipelineBuilder, |
| overrideColor = colorPOI.inputColorToEffectiveStage(); |
| } |
| + fRenderTarget.reset(pipelineBuilder.fRenderTarget.get()); |
| + SkASSERT(fRenderTarget); |
| + |
| GrXferProcessor::OptFlags optFlags; |
| if (xferProcessor) { |
| fXferProcessor.reset(xferProcessor.get()); |
| - optFlags = xferProcessor->getOptimizations(colorPOI, |
| + GrProcOptInfo localColorPOI = colorPOI; |
| + // Optimizations will try to turn off blending which is required by mixed |
| + // sampled modes. |
| + bool isMixedSampledTarget = |
| + (this->getRenderTarget()->sampleConfig() == kStencil_GrSampleConfig); |
| + localColorPOI.setNeedsCoverageModulation(isMixedSampledTarget); |
|
Chris Dalton
2015/03/14 02:51:30
No need to force blending unless we're actually us
|
| + |
| + optFlags = xferProcessor->getOptimizations(localColorPOI, |
| coveragePOI, |
| pipelineBuilder.getStencil().doesWrite(), |
| &overrideColor, |
| @@ -51,8 +61,6 @@ GrPipeline::GrPipeline(const GrPipelineBuilder& pipelineBuilder, |
| return; |
| } |
| - fRenderTarget.reset(pipelineBuilder.fRenderTarget.get()); |
| - SkASSERT(fRenderTarget); |
| fScissorState = scissorState; |
| fStencilSettings = pipelineBuilder.getStencil(); |
| fDrawFace = pipelineBuilder.getDrawFace(); |