| 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()) {
|
| + 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) {
|
|
|