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 4a9692013d
commit 1433c1ee9e
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