I think we hit: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/layers/wr/WebRenderCommandBuilder.cpp#786 where the invalid rect doesn't contain the container, but we still repaint it because we want to add all of the item bounds to the recording index to be able to merge the blobs: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/layers/wr/WebRenderCommandBuilder.cpp#799 Then we try to paint the filter: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/layers/wr/WebRenderCommandBuilder.cpp#996 And we get a different external image on the subsequent paint. This changes the recording, but it isn't in the invalid rect, so we don't actually merge the change in. As a result, we still try to rasterize with the old images which we may have already released.
Bug 1712491 Comment 7 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I think we hit: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/layers/wr/WebRenderCommandBuilder.cpp#786 where the invalid rect doesn't contain the container, but we still repaint it because we want to add all of the item bounds to the recording index to be able to merge the blobs: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/layers/wr/WebRenderCommandBuilder.cpp#799 Then we try to paint the filter: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/layers/wr/WebRenderCommandBuilder.cpp#996 And we get a different external image on the subsequent paint. This changes the recording, but it isn't in the invalid rect, so we don't actually merge the change in: https://searchfox.org/mozilla-central/rev/0adc9c8175bcc7cbc1da6adbfe40f9fe18836ac5/gfx/webrender_bindings/src/moz2d_renderer.rs#466 As a result, we still try to rasterize with the old images which we may have already released.