diff options
Diffstat (limited to 'src/gpu/GrPipeline.cpp')
-rw-r--r-- | src/gpu/GrPipeline.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gpu/GrPipeline.cpp b/src/gpu/GrPipeline.cpp index 073349be1e..3662f6a180 100644 --- a/src/gpu/GrPipeline.cpp +++ b/src/gpu/GrPipeline.cpp @@ -59,12 +59,15 @@ GrPipeline* GrPipeline::CreateAt(void* memory, const CreateArgs& args, pipeline->fRenderTarget.reset(builder.fRenderTarget.get()); SkASSERT(pipeline->fRenderTarget); - pipeline->fScissorState = *args.fScissor; + pipeline->fScissorState = args.fClip->scissorState(); pipeline->fStencilSettings = builder.getStencil(); pipeline->fDrawFace = builder.getDrawFace(); pipeline->fFlags = 0; - if (builder.isHWAntialias()) { + if (args.fClip->isCoCenteredMultisampledDraw()) { + SkASSERT(args.fCaps->programmableSampleLocationsSupport() && !builder.isHWAntialias()); + pipeline->fFlags |= (kHWAA_Flag | kCoCenteredSamples_Flag); + } else if (builder.isHWAntialias()) { pipeline->fFlags |= kHWAA_Flag; } if (builder.snapVerticesToPixelCenters()) { |