CanvasDrawEventRecorder no longer frees external surfaces used during recording
Categories
(Core :: Graphics: Canvas2D, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox121 | --- | unaffected |
firefox122 | --- | unaffected |
firefox123 | --- | fixed |
People
(Reporter: aosmond, Assigned: aosmond)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
We no longer forward textures with RemoteTextureMap, hence this method no longer gets called:
https://searchfox.org/mozilla-central/rev/05178ae3d8ed27d47b340094de52bd3f572a5e1d/gfx/layers/ipc/CanvasChild.cpp#265
As such these external surfaces never get freed. We should just check when we are clearing resources and starting the next recording.
Assignee | ||
Comment 1•1 year ago
|
||
This patch makes CanvasDrawEventRecorder track what eventCount we
recorded an external surface reference. When the reader has increment
its processedCount above that, we will release our reference as it
should have acquired a strong reference to the data. This was previously
done when we forwarded the texture, but with remote textures, we no
longer have this event. Now we check when we start a new recording, or
attempt to clear cached resources.
Comment 2•1 year ago
|
||
Set release status flags based on info from the regressing bug 1871467
Comment 4•1 year ago
|
||
bugherder |
Description
•