Chromium Code Reviews| Index: src/gpu/GrPathRendererChain.cpp |
| diff --git a/src/gpu/GrPathRendererChain.cpp b/src/gpu/GrPathRendererChain.cpp |
| index e19a134467a869311902fc31eec50574c38f9df0..c9e21ad60cd90f830be10bb6e7b0338d69819114 100644 |
| --- a/src/gpu/GrPathRendererChain.cpp |
| +++ b/src/gpu/GrPathRendererChain.cpp |
| @@ -60,9 +60,10 @@ GrPathRenderer* GrPathRendererChain::addPathRenderer(GrPathRenderer* pr) { |
| return pr; |
| } |
| -GrPathRenderer* GrPathRendererChain::getPathRenderer(const GrPathRenderer::CanDrawPathArgs& args, |
| - DrawType drawType, |
| - GrPathRenderer::StencilSupport* stencilSupport) { |
| +GrPathRenderer* GrPathRendererChain::getPathRenderer( |
| + const GrPathRenderer::CanDrawPathArgs& args, |
| + DrawType drawType, |
| + GrPathRenderer::StencilSupport* stencilSupport) { |
| GR_STATIC_ASSERT(GrPathRenderer::kNoSupport_StencilSupport < |
| GrPathRenderer::kStencilOnly_StencilSupport); |
| GR_STATIC_ASSERT(GrPathRenderer::kStencilOnly_StencilSupport < |
| @@ -76,12 +77,18 @@ GrPathRenderer* GrPathRendererChain::getPathRenderer(const GrPathRenderer::CanDr |
| } else { |
| minStencilSupport = GrPathRenderer::kNoSupport_StencilSupport; |
| } |
| + if (minStencilSupport != GrPathRenderer::kNoSupport_StencilSupport) { |
| + // We don't support (and shouldn't need) stenciling of non-fill paths. |
| + if (!args.fStroke->isFillStyle() || args.fStroke->isDashed()) { |
|
egdaniel
2016/05/04 20:30:12
Is this something we should never get to? Should w
bsalomon
2016/05/04 20:35:27
Our current use cases should never get here. I cou
|
| + return nullptr; |
| + } |
| + } |
| for (int i = 0; i < fChain.count(); ++i) { |
| if (fChain[i]->canDrawPath(args)) { |
| if (GrPathRenderer::kNoSupport_StencilSupport != minStencilSupport) { |
| GrPathRenderer::StencilSupport support = |
| - fChain[i]->getStencilSupport(*args.fPath, *args.fStroke); |
| + fChain[i]->getStencilSupport(*args.fPath); |
| if (support < minStencilSupport) { |
| continue; |
| } else if (stencilSupport) { |