wlr_scene: Schedule new frame for WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT in output commit handler

We were doing it too early before and the output would disregard a
scheduled frame if called when we were first putting together the output
state
master
Alexander Orzechowski 7 months ago
parent 14692a7c55
commit 1dc44a1afe

@ -1342,6 +1342,11 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data)
&scene_output->pending_commit_damage, &state->damage); &scene_output->pending_commit_damage, &state->damage);
} }
} }
if (scene_output->scene->debug_damage_option == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
!wl_list_empty(&scene_output->damage_highlight_regions)) {
wlr_output_schedule_frame(scene_output->output);
}
} }
static void scene_output_handle_damage(struct wl_listener *listener, void *data) { static void scene_output_handle_damage(struct wl_listener *listener, void *data) {
@ -1962,11 +1967,6 @@ bool wlr_scene_output_build_state(struct wlr_scene_output *scene_output,
wlr_output_state_set_buffer(state, buffer); wlr_output_state_set_buffer(state, buffer);
wlr_buffer_unlock(buffer); wlr_buffer_unlock(buffer);
if (debug_damage == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
!wl_list_empty(&scene_output->damage_highlight_regions)) {
wlr_output_schedule_frame(scene_output->output);
}
return true; return true;
} }

Loading…
Cancel
Save