Closed Bug 1590586 Opened 5 years ago Closed 5 years ago

[EGL][Wayland,Android?] Use EGL_EXT_buffer_age + EGL_EXT_swap_buffers_with_damage for partial present (damage tracking)

Categories

(Core :: Graphics, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1484812

People

(Reporter: val, Unassigned)

References

(Blocks 1 open bug)

Details

Inspired by the recent macOS stuff: we should notify the system compositor (display server) of damage via EGL.

Wayland compositors track damage quite obsessively: https://emersion.fr/blog/2019/intro-to-damage-tracking/

This might work for other EGL platforms that support the required extensions (Android?)

I think I know how to do this: I see how CompositorD3D11 gets "dirty rects" in Present() (which is called by EndFrame()). I'd have to do the same in CompositorOGL, pass the rects to SwapBuffers, which the EGL implementation would pass them to EGL.

// I wonder how this would interact with WindowSurfaceWayland's mWaylandBufferDamage which doesn't seem to interact with layers compositing at all - is that thing for software rendering only?

Blocks: wayland
Version: unspecified → Trunk

It looks similar to Bug 1575765

See Also: → 1575765

Probably a duplicate of https://bugzilla.mozilla.org/show_bug.cgi?id=1484812 though that’s Android-only.

Okay, let's keep this at bug 1484812. I couldn't find it because I was searching for the EGL_EXT_ version instead of the EGL_KHR_ one. (also because y'all mention keywords "partial" and "invalid" but not "damage" :D)

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.