mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2026-06-14 14:32:57 -04:00
Merge branch 'syncfix' into 'master'
scene: make buffer sample event register syncobj use for all outputs See merge request wlroots/wlroots!5394
This commit is contained in:
commit
76abaeb8c3
1 changed files with 8 additions and 7 deletions
|
|
@ -161,6 +161,14 @@ static void handle_scene_buffer_output_sample(
|
||||||
wl_container_of(listener, surface, output_sample);
|
wl_container_of(listener, surface, output_sample);
|
||||||
const struct wlr_scene_output_sample_event *event = data;
|
const struct wlr_scene_output_sample_event *event = data;
|
||||||
struct wlr_output *output = event->output->output;
|
struct wlr_output *output = event->output->output;
|
||||||
|
|
||||||
|
struct wlr_linux_drm_syncobj_surface_v1_state *syncobj_surface_state =
|
||||||
|
wlr_linux_drm_syncobj_v1_get_surface_state(surface->surface);
|
||||||
|
if (syncobj_surface_state != NULL && event->release_timeline != NULL) {
|
||||||
|
wlr_linux_drm_syncobj_v1_state_add_release_point(syncobj_surface_state,
|
||||||
|
event->release_timeline, event->release_point, output->event_loop);
|
||||||
|
}
|
||||||
|
|
||||||
if (get_surface_frame_pacing_output(surface->surface) != output) {
|
if (get_surface_frame_pacing_output(surface->surface) != output) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -170,13 +178,6 @@ static void handle_scene_buffer_output_sample(
|
||||||
} else {
|
} else {
|
||||||
wlr_presentation_surface_textured_on_output(surface->surface, output);
|
wlr_presentation_surface_textured_on_output(surface->surface, output);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct wlr_linux_drm_syncobj_surface_v1_state *syncobj_surface_state =
|
|
||||||
wlr_linux_drm_syncobj_v1_get_surface_state(surface->surface);
|
|
||||||
if (syncobj_surface_state != NULL && event->release_timeline != NULL) {
|
|
||||||
wlr_linux_drm_syncobj_v1_state_add_release_point(syncobj_surface_state,
|
|
||||||
event->release_timeline, event->release_point, output->event_loop);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void handle_scene_buffer_frame_done(
|
static void handle_scene_buffer_frame_done(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue