ext_image_capture_source_v1/output: wait for explicit sync

Synchronize from the scene render to the copy to capture client.
Buffer return is still covered by implicit sync.
We know this is the scene's render buffer, direct scanout is disallowed
for the output capture source.
This commit is contained in:
Félix Poisot 2026-03-27 20:06:57 +00:00
parent e532b4c26c
commit 85be315268
4 changed files with 29 additions and 11 deletions

View file

@ -15,6 +15,7 @@
#include <time.h>
struct wlr_renderer;
struct wlr_drm_syncobj_timeline;
struct wlr_ext_image_copy_capture_manager_v1 {
struct wl_global *global;
@ -82,6 +83,7 @@ void wlr_ext_image_copy_capture_frame_v1_fail(struct wlr_ext_image_copy_capture_
* Copy a struct wlr_buffer into the client-provided buffer for the frame.
*/
bool wlr_ext_image_copy_capture_frame_v1_copy_buffer(struct wlr_ext_image_copy_capture_frame_v1 *frame,
struct wlr_buffer *src, struct wlr_renderer *renderer);
struct wlr_buffer *src, struct wlr_renderer *renderer,
struct wlr_drm_syncobj_timeline *wait_timeline, uint64_t wait_point);
#endif