CoordinatedGraphicsLayer holds list of dirty rects up to 32 entries. If there are more dirty markings in between layer commits then rects exceeding 32 entry limit are unified and merged into list entry index 0. In the worst case this leads to unnecessary invalidation of whole layer. For example in case where layer spans over multiple tiles and there are 32 invalidation on top left corner of the layer and then invalidation number 33 is at bottom right corner. This invalidates whole layer and all tiles in the layer although only top left and bottom right tiles are invalid in reality. In addition to this there's already dirty rect tracking per tile where dirty rects get unified and merged within tile.
Pull request: https://github.com/WebKit/WebKit/pull/20791
Committed 271045@main (4c635a96d441): <https://commits.webkit.org/271045@main> Reviewed commits have been landed. Closing PR #20791 and removing active labels.