| Index: src/gpu/effects/GrDashingEffect.cpp
 | 
| diff --git a/src/gpu/effects/GrDashingEffect.cpp b/src/gpu/effects/GrDashingEffect.cpp
 | 
| index 4e82a62195c4d92ef2d705e1a5297d3c2a19972e..5949f1f8f2455252630bc7135fa9a4394dc28bd2 100644
 | 
| --- a/src/gpu/effects/GrDashingEffect.cpp
 | 
| +++ b/src/gpu/effects/GrDashingEffect.cpp
 | 
| @@ -282,13 +282,17 @@ private:
 | 
|          // compute bounds
 | 
|          SkScalar halfStrokeWidth = 0.5f * geometry.fSrcStrokeWidth;
 | 
|          SkScalar xBloat = SkPaint::kButt_Cap == cap ? 0 : halfStrokeWidth;
 | 
| -        fBounds.set(geometry.fPtsRot[0], geometry.fPtsRot[1]);
 | 
| -        fBounds.outset(xBloat, halfStrokeWidth);
 | 
| +        SkRect bounds;
 | 
| +        bounds.set(geometry.fPtsRot[0], geometry.fPtsRot[1]);
 | 
| +        bounds.outset(xBloat, halfStrokeWidth);
 | 
|  
 | 
|          // Note, we actually create the combined matrix here, and save the work
 | 
|          SkMatrix& combinedMatrix = fGeoData[0].fSrcRotInv;
 | 
|          combinedMatrix.postConcat(geometry.fViewMatrix);
 | 
| -        combinedMatrix.mapRect(&fBounds);
 | 
| +
 | 
| +        IsZeroArea zeroArea = geometry.fSrcStrokeWidth ? IsZeroArea::kNo : IsZeroArea::kYes;
 | 
| +        HasAABloat aaBloat = (aaMode == AAMode::kNone) ? HasAABloat ::kNo : HasAABloat::kYes;
 | 
| +        this->setTransformedBounds(bounds, combinedMatrix, aaBloat, zeroArea);
 | 
|      }
 | 
|  
 | 
|      void initBatchTracker(const GrXPOverridesForBatch& overrides) override {
 | 
| @@ -655,7 +659,7 @@ private:
 | 
|          }
 | 
|  
 | 
|          fGeoData.push_back_n(that->geoData()->count(), that->geoData()->begin());
 | 
| -        this->joinBounds(that->bounds());
 | 
| +        this->joinBounds(*that);
 | 
|          return true;
 | 
|      }
 | 
|  
 | 
| 
 |