wlroots-hyprland/include
Simon Ser 8afb4d8bf0 buffer: re-use wlr_shm_client_buffer
The first time wlr_buffer_from_resource is called with a wl_buffer
resource that originates from wl_shm, create a new
wlr_shm_client_buffer as usual. If wlr_buffer_from_resource is called
multiple times, re-use the existing wlr_shm_client_buffer.

This commit changes how the wlr_shm_client_buffer lifetime is managed:
previously it was destroyed as soon as the wlr_buffer was released.
With this commit it's destroyed when the wl_buffer resource is.

Apart from de-duplicating wlr_shm_client_buffer creations, this allows
to easily track when a wlr_shm_client_buffer is re-used. This is useful
for the renderer and the backends, e.g. the Pixman renderer can keep
using the same Pixman image if the buffer is re-used. In the future,
this will also allow to re-use resources in the Wayland and X11 backends
(remote wl_buffer objects for Wayland, pixmaps for X11).
2021-07-19 13:13:10 -04:00
..
backend backend/headless: remove wlr_output_impl.export_dmabuf 2021-07-12 13:29:03 -04:00
render render/gles2: rename wlr_egl.exts to better match Khronos 2021-07-12 09:13:49 -04:00
types buffer: re-use wlr_shm_client_buffer 2021-07-19 13:13:10 -04:00
util util/array: add array_remove_at 2021-07-01 10:35:39 -04:00
wlr input/pointer: send axis source once per frame 2021-07-19 12:00:31 +02:00
xcursor xcursor: make cursor data and metadata const 2021-02-05 10:04:20 +01:00
xwayland xwm: implement _NET_CLIENT_LIST_STACKING 2021-05-31 10:41:29 +02:00
meson.build render: make GLES2 renderer optional 2021-04-17 16:39:40 +02:00