Index: src/gpu/GrFixedClip.h |
diff --git a/src/gpu/GrFixedClip.h b/src/gpu/GrFixedClip.h |
index 01498c11613429330606e833ce29cfb9ee6ac9dd..705b2eada9ebe657163a59a4563e27d5e0c58ebe 100644 |
--- a/src/gpu/GrFixedClip.h |
+++ b/src/gpu/GrFixedClip.h |
@@ -39,6 +39,22 @@ public: |
void getConservativeBounds(int width, int height, SkIRect* devResult, |
bool* isIntersectionOfRects) const final; |
+ bool isRRect(const SkRect& rtBounds, SkRRect* rr, bool* aa) const override { |
+ if (fHasStencilClip) { |
+ return false; |
+ } |
+ if (fScissorState.enabled()) { |
+ SkRect rect = SkRect::Make(fScissorState.rect()); |
+ if (!rect.intersects(rtBounds)) { |
+ return false; |
+ } |
+ rr->setRect(rect); |
+ *aa = false; |
+ return true; |
+ } |
+ return false; |
+ }; |
+ |
private: |
bool apply(GrContext*, GrDrawContext*, bool useHWAA, bool hasUserStencilSettings, |
GrAppliedClip* out) const final; |