Reland "Simplify GrClip API"
This is a reland of 9716414e93f7b279e547595fab08b68235c4b2be
Original change's description:
> Simplify GrClip API
> Removes quickContains(SkRect), quickContains(SkRRect), and isRRect().
> Replaces these three functions with preApply() that conservatively
> determines the clip effect up to a single rrect intersection. The major
> motivation for this is the new GrClipStack implementation. preApply()
> and apply() will be able to reuse much more code compared to separating
> the preApply functionality across the older three functions that were
> removed. Additionally, preApply is able to convey more information for
> less work, since it can usually determine being skipped or unclipped while
> determining if the clip is a single rrect.
> As part of using this API, the attemptQuadOptimiziation and the equivalent
> rrect optimization are overhauled. Hopefully legibility is improved, and
> the rrect case is now applied outside of the android framework (but with
> tighter AA requirements).
> Bug: skia:10205
> Change-Id: I33249dd75a28a611495f87b211cb7ec74ebb7ba4
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/298506
> Reviewed-by: Brian Salomon <email@example.com>
> Reviewed-by: Chris Dalton <firstname.lastname@example.org>
> Commit-Queue: Michael Ludwig <email@example.com>
Bug: skia:10205, 10456
Reviewed-by: Chris Dalton <firstname.lastname@example.org>
Commit-Queue: Michael Ludwig <email@example.com>
12 files changed