Bug 1743051 Comment 5 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Thanks, that's very interesting. So according to the video from comment 2, it looks like WR updates the buffer correctly but fails to report the correct damage rect in `SwapBuffersWithDamage()` (note: we currently always report only one combined rect, bug 1640712, so it's unlikely that this is wrongly handled by the driver). And comment 4 points to us not properly combining the damage for multiple tiles.

To me it looks like the culprit must be somewhere between the part where we calculate the damage region from the tile rects in [calculate_dirty_rects()](https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/renderer/mod.rs#4413-4429), called in `draw_frame()` [here], and passing it down later in `draw_frame()` via `composite_frame()`->`composite_simple()`->`set_buffer_damage_region()`. Actually I think it has to be in the linked part in `calculate_dirty_rects()`. I'll try to come up with a build with some debug logging.
Thanks, that's very interesting. So according to the video from comment 2, it looks like WR updates the buffer correctly but fails to report the correct damage rect in `SwapBuffersWithDamage()` (note: we currently always report only one combined rect, bug 1640712, so it's unlikely that this is wrongly handled by the driver). And comment 4 points to us not properly combining the damage for multiple tiles.

To me it looks like the culprit must be somewhere between the part where we calculate the damage region from the tile rects in [calculate_dirty_rects()](https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/renderer/mod.rs#4413-4429), called in `draw_frame()` [here](https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/renderer/mod.rs#4571-4576), and passing it down later in `draw_frame()` via `composite_frame()`->`composite_simple()`->`set_buffer_damage_region()`. Actually I think it has to be in the linked part in `calculate_dirty_rects()`. I'll try to come up with a build with some debug logging.

Back to Bug 1743051 Comment 5