mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-15 08:56:26 -05:00
output: send present event from all backends
This commit is contained in:
parent
78389fe722
commit
26b9d6dbb1
4 changed files with 27 additions and 3 deletions
|
|
@ -67,6 +67,7 @@ static bool output_make_current(struct wlr_output *wlr_output, int *buffer_age)
|
|||
|
||||
static bool output_swap_buffers(struct wlr_output *wlr_output,
|
||||
pixman_region32_t *damage) {
|
||||
wlr_output_send_present(wlr_output, NULL, 0, 0);
|
||||
return true; // No-op
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -66,8 +66,14 @@ static bool output_swap_buffers(struct wlr_output *wlr_output,
|
|||
output->frame_callback = wl_surface_frame(output->surface);
|
||||
wl_callback_add_listener(output->frame_callback, &frame_listener, output);
|
||||
|
||||
return wlr_egl_swap_buffers(&output->backend->egl, output->egl_surface,
|
||||
damage);
|
||||
if (!wlr_egl_swap_buffers(&output->backend->egl,
|
||||
output->egl_surface, damage)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO: if available, use the presentation-time protocol
|
||||
wlr_output_send_present(wlr_output, NULL, 0, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
static void output_transform(struct wlr_output *wlr_output,
|
||||
|
|
|
|||
|
|
@ -102,7 +102,12 @@ static bool output_swap_buffers(struct wlr_output *wlr_output,
|
|||
struct wlr_x11_output *output = (struct wlr_x11_output *)wlr_output;
|
||||
struct wlr_x11_backend *x11 = output->x11;
|
||||
|
||||
return wlr_egl_swap_buffers(&x11->egl, output->surf, damage);
|
||||
if (!wlr_egl_swap_buffers(&x11->egl, output->surf, damage)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
wlr_output_send_present(wlr_output, NULL, 0, 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
static const struct wlr_output_impl output_impl = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue