Closed Bug 1718569 Opened 1 year ago Closed 1 year ago

Implement custom FBO management

Categories

(Core :: Graphics: WebRender, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
92 Branch
Tracking Status
firefox92 --- fixed

People

(Reporter: rmader, Assigned: rmader)

References

(Blocks 2 open bugs, Regressed 1 open bug)

Details

Attachments

(2 files)

By reusing DMABufSurface we can manage FBOs ourselves instead of using the Wayland EGL platform, attaching buffer using zwp_linux_dmabuf_v1 directly. This has several advantages:

  • we can get rid of the surface reordering workaround currently used when hiding surfaces in sync
  • better partial damage support, similar to NativeLayerCA::HandlePartialUpdate and WindowSurfaceWaylandMB::HandlePartialUpdate
  • more similar to other platforms like MacOS
  • more control over GPU memory, fewer depth buffers
  • clears the way for YUV support
Blocks: 1718570

In order to allow us to create FBOs ourselves. Right now only implement
it for DMABufSurfaceRGBA. In the future, we will want implement the same
for YUV, see bug 1711461.

Attachment #9229215 - Attachment description: WIP: Bug 1718569 - Implement custom FBO management → Bug 1718569 - Implement custom FBO management, r=#gfx-reviewers
Pushed by robert.mader@posteo.de:
https://hg.mozilla.org/integration/autoland/rev/b0bd1ebf1329
Implement method to create a wl_buffer from a DMABufSurface, r=stransky
Keywords: leave-open
Pushed by robert.mader@posteo.de:
https://hg.mozilla.org/integration/autoland/rev/489ce763c140
Implement custom FBO management, r=jgilbert,gfx-reviewers
Keywords: leave-open
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 92 Branch

Backed out for causing wpt failures in /css/css-flexbox/flexbox-align-self-vert-001.xhtml

Backout link: https://hg.mozilla.org/integration/autoland/rev/425f0a769c49c13e046978f508310073e7f18807

Push with failures

Failure log

Status: RESOLVED → REOPENED
Flags: needinfo?(robert.mader)
Resolution: FIXED → ---
Target Milestone: 92 Branch → ---

@Robert, is it right to assume that only after patch in comment 4 is relanded and merged to central this bug can be consider as fixed?

(In reply to Sandor Molnar from comment #7)

@Robert, is it right to assume that only after patch in comment 4 is relanded and merged to central this bug can be consider as fixed?

Right, thanks, the failure was caused by bug 1718570, so relanding this and updating bug 1718570 before landing.

Flags: needinfo?(robert.mader)
Pushed by robert.mader@posteo.de:
https://hg.mozilla.org/integration/autoland/rev/eb55f22378a0
Implement custom FBO management, r=jgilbert,gfx-reviewers
Blocks: 1720375
Status: REOPENED → RESOLVED
Closed: 1 year ago1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 92 Branch
Regressions: 1723012
Regressions: 1729233
You need to log in before you can comment on or make changes to this bug.