ui/dbus: implement damage regions for GL
commit7007e98c4ba443ce5d42acf851daaa1835b18e83
authorBilal Elmoussaoui <belmouss@redhat.com>
Mon, 14 Aug 2023 12:58:02 +0000 (14 14:58 +0200)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Mon, 4 Sep 2023 11:14:48 +0000 (4 15:14 +0400)
tree3e15f7ff9f400bedf13e7274f0dbb41216a620f8
parentcb6ccdc9ca705cd8c3ef50e51c16a3732c2fa734
ui/dbus: implement damage regions for GL

Currently, when using `-display dbus,gl=on` all updates to the client
become "full scanout" updates, meaning there is no way for the client to
limit damage regions to the display server.

Instead of using an "update count", this patch tracks the damage region
and propagates it to the client.

This was less of an issue when clients were using GtkGLArea for
rendering,
as you'd be doing full-surface redraw. To be efficient, the client needs
both a DMA-BUF and the damage region to be updated.

Co-authored-by: Christian Hergert <chergert@redhat.com>
Signed-off-by: Bilal Elmoussaoui <belmouss@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20230814125802.102160-1-belmouss@redhat.com>
ui/dbus-listener.c