liupeng
12c9502edf
render/drm_syncobj: fix function name in drmSyncobjTimelineWait() error log
...
Signed-off-by: liupeng <liupeng01@kylinos.cn>
2026-02-02 09:12:39 +08:00
liupeng
7f87e258b2
render/drm_syncobj: drop unnecessary drmSyncobjTimelineWait() arg
...
Signed-off-by: liupeng <liupeng01@kylinos.cn>
2026-02-02 09:11:41 +08:00
YaoBing Xiao
f36f856cdb
render/drm_syncobj: fix return type mismatch
2025-05-06 17:48:54 +08:00
Alexander Orzechowski
c1eb053f5e
render/drm_syncobj: Remove the ready signal from timeline_waiter
...
It's unused.
2025-01-26 18:02:14 -05:00
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
Kirill Primak
1c2cb4c802
drm-syncobj: return false instead of NULL
2025-01-24 21:57:28 +03:00
Kirill Primak
8f56f7ca43
Assert (almost all) signals have no attached listeners on destroy
2025-01-15 19:53:11 +03:00
Simon Ser
ca29f43a54
render/drm_syncobj: add addon set
2024-11-11 15:22:22 +00:00
Simon Ser
8e36040e88
render/drm_syncobj: de-duplicate drm_syncobj timeline init
2024-11-11 15:22:22 +00:00
Simon Ser
edb867bc05
render/drm_syncobj: add wlr_drm_syncobj_timeline_export()
2024-08-06 17:37:06 +00:00
Simon Ser
5552de65f8
render/drm_syncobj: add wlr_drm_syncobj_timeline_transfer()
2024-08-06 17:37:06 +00:00
Simon Ser
d9bfb47648
render/drm_syncobj: add helpers to wait for timeline points
...
References: https://patchwork.freedesktop.org/patch/506761/
2024-06-12 18:39:45 +02:00
Simon Ser
ea75aa3065
render/drm_syncobj: add wlr_drm_syncobj_timeline_import()
2024-06-12 18:38:42 +02:00
Simon Ser
7fc00ef777
render/drm_syncobj: introduce wlr_drm_syncobj_timeline
...
wlr_drm_syncobj_timeline is a synchronization primitive based on
drm_syncobj timelines. They are heavily inspired from Vulkan
timeline semaphores [1].
[1]: https://www.khronos.org/blog/vulkan-timeline-semaphores
2024-06-12 17:45:06 +02:00