Closed Bug 1323143 Opened 4 years ago Closed 4 years ago

remove the reference of external images in previous frame when the render_backend produces a new frame

Categories

(Core :: Graphics: WebRender, defect, P3)

53 Branch
defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox53 --- affected

People

(Reporter: jerry, Assigned: jerry)

References

()

Details

In bug 1320320, we will have a flush and synchronization waiting before rendering. That can make sure WR will not use the texture which is sent in previous transaction.

This bug try to make WR to hold the textures until WR has a new frame. In other words, all textures used in previous frame will be released when a new frame is coming. Then, we could try to remove the synchronization code without the use-after-free problem for texture.
Pushed by hshih@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/5b7f5a9d4d74
extend the ExternalImageHandler callback functions. r=kvark?
https://hg.mozilla.org/projects/graphics/rev/2cc2b1431ae4
handle the releasing of external images in api.delete_image(). r=kvark?
https://hg.mozilla.org/projects/graphics/rev/9602f204a233
show panic if we try to call update() for external image. r=kvark?
https://hg.mozilla.org/projects/graphics/rev/27c8866e112f
update WR binding for external image life-time updates. r=nical?
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
I think in general we should avoid making changes to gfx/webrender - we should make the changes upstream in webrender and then update our in-tree copy of webrender. Otherwise it becomes hard to pick up webrender updates.
I effectively backed this out in https://hg.mozilla.org/projects/graphics/rev/972988713f16f09e9088e7d48f10b298a5c81874 by resetting the tree.

We discussed this on IRC briefly and I'm not sure if we came to a proper conclusion, but I think that since the PR is actively being reviewed we should wait for that and try to land the patches on upstream webrender, and then update the in-tree webrender wholesale.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
You need to log in before you can comment on or make changes to this bug.