* add support to run dl_canvas_unittests on GPU surfaces (off by default)
* empty commit to trigger build
* conditionally include platform-specific surface provider headers
* ignore DL test files during license checks
* typo
* add dependencies to rendertests to hopefully build on Windows
* remove benchmarking deps from dl_rendertests
* more changes to get Windows rendertests to link
* add --enable-gl synonym and prevent non-SW surface provider dest on Windows
* fix gn formatting
* review feedback
* collect DL indices in RTree for clip culling
* fix bounds in unit test and minor opt in Dispatch
* normalize inline matrix objects and minor fixes to unit test
* remove over-eager DCHECK and improve R-Tree comments
* formatting
* include vector for Windows
* method rename and distribute child nodes more evenly
* add R-Tree specific unit tests and debug checks
* add comments about geometry to R-Tree unit tests and adjust spacing
* licenses
* licenses attempt 2
* fix potential overflow with uint32_t
* aggressively const DisplayList fields and methods
* add implementation comments per review feedback
* Revert "Revert "Reland layer state stack" (#37178)"
This reverts commit 21cc000359d8a4da097e8849e83dcbe8ac941e01.
* fix double-transform rendering issues in #114359
* adjust recently added unit test to state_stack APIs
* introduce LSS delegates to simplify some code and reduce overhead
* Fix ShellTest.OnServiceProtocolEstimateRasterCacheMemoryWorks
* add unit test for tracker.setTransform(4x4) and fix bug
* fix culling issue in LayerTree::Flatten
SkPaint does not provide APIs for extracting the definitions of some
attributes such as filters. The engine will instead use DlPaint
to describe how text foregrounds and backgrounds will be painted.
The DlPaint objects will be represented as PaintIDs in SkParagraph text
styles. The ParagraphPainter will then map the PaintIDs back to the
original DlPaint objects.
* [Reland] Add rects to accumulator rather than bounds (#37435)
When the accumulator is an `RTreeBoundsAccumulator` rather than a `RectBoundsAccumulator` just accumulating the bounds results in incorrect results as the `rtree` would need to be aware of the constituent non-overlapping rectangles. This would work fine for `RectBoundsAccumulator` as it would just adjust its bounds based on the passed rects.
Fixes: https://github.com/flutter/flutter/issues/113251
* Add a test for nested display list rtree
When the accumulator is an `RTreeBoundsAccumulator` rather than a `RectBoundsAccumulator` just accumulating the bounds results in incorrect results as the `rtree` would need to be aware of the constituent non-overlapping rectangles. This would work fine for `RectBoundsAccumulator` as it would just adjust its bounds based on the passed rects.
Fixes: https://github.com/flutter/flutter/issues/113251
* Update display_list_image_filter_unittests to be permit Skia roll
https://skia-review.googlesource.com/c/skia/+/571798 had to be reverted because it causes DisplayListImageFilter.LocalImageFilterBounds to fail. With SkMatrixTransformImageFilter (returned by SkImageFilters::MatrixTransform) supporting complex matrices, makeWithLocalMatrix(rotation) will no longer return null.
This is at odds with the behavior of DlImageFilter's implementation which tries to mimic the existing behavior of image filters. This relaxes the test case so that Skia can improve its implementation without breaking Flutter's tests. Flutter can then update DlImageFilter to match out-of-band.
* Update comment to reference flutter issue.
* Revert "Fix a clang-tidy warning in display_list_canvas_unittests.cc (#37062)"
This reverts commit 709c6735fc7ed34df36cee23805bdaa7f6969774.
* Revert "Create a mechanism to manage layer state (#36458)"
This reverts commit 501916deb19a8303ca2a3a9bb37692a873d4679e.