Wayland clients using buffers without alpha channel are not expected to
set an opaque region. However, we rely on the opaque region for the fast
painting path in MetaShapedTexture
.
Thus, make sure to always set an opaque region internally in those cases. For X11 clients, wo do so already.
How to test:
-
lg
->Meta.add_debug_paint_flag(Meta.DebugPaintFlag.OPAQUE_REGION)
weston-simple-dmabuf-egl
- should be purple without this MR and green with it
To verify the culling still works:
weston-simple-dmabuf-egl
weston-simple-damage --verbose --width=100 --height=100
- hide the
weston-simple-damage
behind theweston-simple-dmabuf-egl
one - output should stop as frame callbacks are not send to culled out actors