skia2/experimental
Michael Ludwig 7b04832cbe [graphite] Initial ClipStack paired down from v1::ClipStack
PS1 is the exact contents of src/gpu/v1/ClipStack.* copied to
experimental/graphite/src.

PS2+ shows all the changes to remove v1-only features and update some of
the types over to what graphite uses. The major changes are:
1. FragmentProcessors, clip atlases, stencil mask writing, and SW mask
   writing are gone.
2. SW mask caching and tracking are gone.
3. Graphite is effectively in the "forceAA" mode that the original clip
   stack supported. So branches that focused on non-AA, or comparing AA
   or handling cases where elements' AA mismatched could all be removed.
4. Updated to use Graphite's Shape and Transform classes. Did not go as
   far as moving the bounds from SkIRect to Rect, but since everything
   is AA, it will be much simpler to switch to comparing float bounds
   directly and not worry about rounding in or out. That's a more
   substantial change so will come later.
5. The original ClipStack had a "Draw" type that was used to compute
   clip interactions between SaveRecords and Elements. It was always
   just device-space bounds because of limitations of the GrClip API.
   In Graphite, we can use the exact same set of info for Draws and
   Elements, making interaction tests share code and be more accurate.
   Since that's a more involved change, I just removed the simpler Draw
   type from this version for now.
6. Tried to add TODOs for what logic and extra state will need to be
   added to actually apply graphite's clip stack as depth-only draws.

Bug: skia:12698
Change-Id: I418703e8f759cd5e1ddd1e302a864bf2204cf040
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/525516
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2022-03-31 16:45:58 +00:00
..
bazel_test [bazel] Use toolchain features to opt files into being IWYU compliant. 2022-03-16 13:09:46 +00:00
c-api-example Fix C API example, ensure the C API example is built in CI 2020-12-15 16:38:42 +00:00
docs runs some sample animations side by side in canvas and svg 2015-11-16 13:36:08 -08:00
documentation Update references to master branch 2021-05-21 15:18:16 +00:00
ffmpeg [bazel] Use toolchain features to opt files into being IWYU compliant. 2022-03-16 13:09:46 +00:00
graphite [graphite] Initial ClipStack paired down from v1::ClipStack 2022-03-31 16:45:58 +00:00
lowp-basic add constrained_add 2021-11-01 17:30:16 +00:00
minimal_ios_mtl_skia_app Update iOS test apps to require C++17. 2022-01-31 23:17:15 +00:00
sktext Free FontChains after test completes 2022-03-30 21:02:55 +00:00
sorttoy Add SK_PRINTF_LIKE to existing variadic print functions. 2022-02-07 14:55:39 +00:00
tools Add sleep option to web_to_(skp|mskp) shell scripts. 2020-06-19 19:06:29 +00:00
tskit [infra] Deduplicate serve.py 2021-10-12 11:42:50 +00:00
wasm-hello-world Set up basic hello world sk_app 2022-01-06 20:29:35 +00:00
webgpu-bazel [infra] Add initial Bazel rules and files 2021-11-09 12:32:25 +00:00