dmabuf passthrough
Still to do:
-
add subsurface stacking api -
make attaching regular textures to subsurfaces work -
test subsurface api without passthrough -
trigger a parent surface commit if a subsurface is attached or restacked - no need, the renderer takes care of it -
Add a version of diff that compares subsurface nodes as equal if the have the same subsurface and same size and just update subsurfaces if that comes up empty -
make renderer reorder subsurfaces -
trigger a full redraw if subsurfaces appear/disappear - the diffing code should handle it -
make tests with multiple GtkVideos (overlapping/nonoverlapping) - if we make the logo opaque, fishbowl covers this -
Add a 'subsurface mode' to the node diff code -
figure out if we want to keep the shm wl_buffer code or make it a debug-only feature -
figure out how to properly wait for the create roundtrip -
test and fix this on a hi-dpi system, and with fractional scales -
debugging support -
[ ] add 'disable dmabuf' and 'disable passthrough' options in the inspector- we don't expose other behavior flags -
add subsurface information to the inspector ?
-
-
if the last subsurface does not have any drawing on top, raise it above the main surface in the end, so mutter can use it for scanout without second thoughts -
check for clips and don't do passthrough if the node isn't fully contained (should take care of rounded corners) -
[ ] make gtkgstmediastream negotiate and return dmabufs- deferred -
[ ] handle wayland priorities and tranches when sorting dmabuf formats- deferred -
[ ] add per-surface dmabuf format information- deferred -
[ ] figure out what to do about buffer pools- deferred
This implements #6132 (closed)
Edited by Matthias Clasen