As an alternative, since SWGL probably doesn't have FrameTexturesUpdated, we might be able to use FrameRendered instead with SWGL instead of trying to use HoldExternalImage. Alternatively issue FrameTexturesUpdated at the same time as FrameRendered for SWGL to hide that detail from animated images. The SharedSurfacesParent::Release is insufficient for the animated image case, we need WebRenderBridgeParent::SendWrReleasedImages to be called: https://searchfox.org/mozilla-central/source/gfx/layers/wr/WebRenderBridgeParent.cpp#839
Bug 1673906 Comment 2 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Assuming it is bug 1670793, as an alternative, since SWGL probably doesn't have FrameTexturesUpdated, we might be able to use FrameRendered instead with SWGL instead of trying to use HoldExternalImage. We prefer FrameTexturesUpdated to have the event come in as soon as possible and free up the buffer for recycling, but as soon as possible is later in the pipeline with SWGL. Alternatively issue FrameTexturesUpdated at the same time as FrameRendered for SWGL to hide that detail from animated images. The SharedSurfacesParent::Release is insufficient for the animated image case, we need WebRenderBridgeParent::SendWrReleasedImages to be called: https://searchfox.org/mozilla-central/source/gfx/layers/wr/WebRenderBridgeParent.cpp#839