libmks/lib
Christian Hergert 07158dfa07 lib: add a framebuffer paintable
This is intended to be the software fallback path where we have to take
Update() and Scanout() method invocations from the Qemu instance. It
implements paintable and tries to reuse a backing texture until a threshold
has been met at which point it does a full redraw.

The backing texture is reused between snapshots to increase the chance that
we may skip a followup VRAM upload to the GPU. The damage rectangles will
be re-uploaded each frame. There is some opportunity to optimize that
last part by keeping them around and adding a secondary damage region.

Of course, we would still want things to go the MksDmabufTexture path
when possible.
2023-02-10 12:47:35 -08:00
..
dbus-display1.xml lib: add missing D-Bus annotations for UnixFDList 2023-02-09 17:28:25 -08:00
gconstructor.h initial commit 2023-02-08 18:06:08 -08:00
libmks.h lib: add MksScreenAttributes and mks_screen_configure() 2023-02-09 15:39:03 -08:00
meson.build lib: add a framebuffer paintable 2023-02-10 12:47:35 -08:00
mks-device-private.h lib: add session weak pointer to devices 2023-02-09 12:54:48 -08:00
mks-device.c lib: add session weak pointer to devices 2023-02-09 12:54:48 -08:00
mks-device.h lib: make MksDevice classes internal 2023-02-09 02:23:18 -08:00
mks-dmabuf-texture-private.h lib: create scaffolding for DMA-BUF texture 2023-02-10 10:37:07 -08:00
mks-dmabuf-texture.c lib: create scaffolding for DMA-BUF texture 2023-02-10 10:37:07 -08:00
mks-framebuffer-private.h lib: add a framebuffer paintable 2023-02-10 12:47:35 -08:00
mks-framebuffer.c lib: add a framebuffer paintable 2023-02-10 12:47:35 -08:00
mks-init.c lib: add MksScreenAttributes and mks_screen_configure() 2023-02-09 15:39:03 -08:00
mks-init.h lib: add various include guards 2023-02-09 02:21:29 -08:00
mks-keyboard-private.h screen: add keyboard and mouse properties 2023-02-08 21:58:35 -08:00
mks-keyboard.c lib: add press and release MksKeyboard API 2023-02-09 03:00:36 -08:00
mks-keyboard.h lib: add press and release MksKeyboard API 2023-02-09 03:00:36 -08:00
mks-mouse-private.h screen: add keyboard and mouse properties 2023-02-08 21:58:35 -08:00
mks-mouse.c build: fix various GObject Introspection notation 2023-02-10 10:29:29 -08:00
mks-mouse.h lib: add MksMouse press, release, and motion API 2023-02-09 03:44:45 -08:00
mks-paintable-listener-private.h lib: stub internal listener skeleton 2023-02-09 17:30:38 -08:00
mks-paintable-listener.c lib: stub internal listener skeleton 2023-02-09 17:30:38 -08:00
mks-paintable-private.h lib: add mks_screen_attach() 2023-02-09 17:32:00 -08:00
mks-paintable.c lib: add mks_screen_attach() 2023-02-09 17:32:00 -08:00
mks-paintable.h lib: add MksPaintable 2023-02-09 04:38:48 -08:00
mks-read-only-list-model-private.h initial commit 2023-02-08 18:06:08 -08:00
mks-read-only-list-model.c initial commit 2023-02-08 18:06:08 -08:00
mks-screen-attributes-private.h lib: add MksScreenAttributes and mks_screen_configure() 2023-02-09 15:39:03 -08:00
mks-screen-attributes.c lib: add MksScreenAttributes and mks_screen_configure() 2023-02-09 15:39:03 -08:00
mks-screen-attributes.h lib: add MksScreenAttributes and mks_screen_configure() 2023-02-09 15:39:03 -08:00
mks-screen-private.h lib: make MksDevice classes internal 2023-02-09 02:23:18 -08:00
mks-screen.c build: fix various GObject Introspection notation 2023-02-10 10:29:29 -08:00
mks-screen.h build: fix various GObject Introspection notation 2023-02-10 10:29:29 -08:00
mks-session.c lib: add session weak pointer to devices 2023-02-09 12:54:48 -08:00
mks-session.h lib: add various include guards 2023-02-09 02:21:29 -08:00
mks-types.h lib: add MksScreenAttributes and mks_screen_configure() 2023-02-09 15:39:03 -08:00
mks-version-macros.h initial commit 2023-02-08 18:06:08 -08:00
mks-version.h.in initial commit 2023-02-08 18:06:08 -08:00