wlroots/include/wlr/render
Alexander Orzechowski 82223e451a render/drm_syncobj: Add a callback when ready
The old approach of using a signal is fundamentally broken for a common
usecase: When the waiter is ready, it's common to immediately finish and
free any resources associated with it.
Because of the semantics of wl_signal_emit_mutable() this is UB.
wl_signal_emit_mutable() always excepts that the waiter hasn't been freed
until the signal has finished being emitted.

Instead of over engineering the solution, let's just add a callback required
by wlr_drm_syncobj_timeline_waiter_init(). In this callback, the implementation
is free to finish() or free() any resource it likes.
2025-01-26 18:02:05 -05:00
..
allocator.h render/allocator: document struct wlr_allocator 2024-05-25 13:28:19 +00:00
color.h render/color: return tranform in wlr_color_transform_ref() 2024-08-24 11:07:58 +02:00
dmabuf.h render: add DMA-BUF docs 2021-11-26 16:40:53 +00:00
drm_format_set.h drm_format_set: Add wlr_drm_format_set_remove 2024-11-08 13:45:05 +01:00
drm_syncobj.h render/drm_syncobj: Add a callback when ready 2025-01-26 18:02:05 -05:00
egl.h render/egl: document wlr_egl_create_with_context 2022-05-25 18:17:41 +00:00
gles2.h render/gles2: add wlr_gles2_renderer_get_buffer_fbo() 2023-12-05 18:57:43 +01:00
interface.h renderer: replace get_render_buffer_caps() with struct field 2024-04-22 11:38:30 +02:00
pass.h render: add explicit sync API 2024-08-06 17:37:06 +00:00
pixman.h render/pixman: add wlr_pixman_renderer_get_buffer_image() 2023-12-11 19:47:55 +01:00
swapchain.h Make all listeners private 2024-10-28 18:07:02 +00:00
vulkan.h renderer: Drop buffer binding 2023-11-30 20:11:50 -05:00
wlr_renderer.h Use WLR_PRIVATE for private fields 2024-10-25 07:51:51 +03:00
wlr_texture.h wlr_texture: Introduce wlr_texture_preferred_read_format 2023-11-30 19:56:54 -05:00