Jim Graham 8d73d38291 fix handling of clipped rendering inside a layer that applies a filter (flutter/engine#43787)
When a saveLayer is rendered with an ImageFilter that modifies the bounds of the rendered pixels, and some of the content of that saveLayer did not intersect the clip, but the filtered output of that content did intersect the clip, we might not accumulate the bounds of those rendering operations into the DisplayList bounds.

This bug was not encountered during practical testing, but showed up on some testing with the new NOP culling code.

For now, this bug only affects the accuracy of the reported bounds of the DisplayList, but that can affect raster caching and potentially the layer culling done in the LayerTree. It might also affect the accuracy of the RTree associated with the DisplayList, which would only show up in rare circumstances when the indicated operation was used in the presence of an embedded view.
2023-07-19 18:40:31 +00:00
..