|
|
@ -1520,16 +1520,6 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data)
|
|
|
|
struct wlr_output_event_commit *event = data;
|
|
|
|
struct wlr_output_event_commit *event = data;
|
|
|
|
const struct wlr_output_state *state = event->state;
|
|
|
|
const struct wlr_output_state *state = event->state;
|
|
|
|
|
|
|
|
|
|
|
|
bool force_update = state->committed & (
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_TRANSFORM |
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_SCALE |
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_SUBPIXEL);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (force_update || state->committed & (WLR_OUTPUT_STATE_MODE |
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_ENABLED)) {
|
|
|
|
|
|
|
|
scene_output_update_geometry(scene_output, force_update);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if the output has been committed with a certain damage, we know that region
|
|
|
|
// if the output has been committed with a certain damage, we know that region
|
|
|
|
// will be acknowledged by the backend so we don't need to keep track of it
|
|
|
|
// will be acknowledged by the backend so we don't need to keep track of it
|
|
|
|
// anymore
|
|
|
|
// anymore
|
|
|
@ -1543,6 +1533,16 @@ static void scene_output_handle_commit(struct wl_listener *listener, void *data)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool force_update = state->committed & (
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_TRANSFORM |
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_SCALE |
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_SUBPIXEL);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (force_update || state->committed & (WLR_OUTPUT_STATE_MODE |
|
|
|
|
|
|
|
|
WLR_OUTPUT_STATE_ENABLED)) {
|
|
|
|
|
|
|
|
scene_output_update_geometry(scene_output, force_update);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (scene_output->scene->debug_damage_option == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
|
|
|
|
if (scene_output->scene->debug_damage_option == WLR_SCENE_DEBUG_DAMAGE_HIGHLIGHT &&
|
|
|
|
!wl_list_empty(&scene_output->damage_highlight_regions)) {
|
|
|
|
!wl_list_empty(&scene_output->damage_highlight_regions)) {
|
|
|
|
wlr_output_schedule_frame(scene_output->output);
|
|
|
|
wlr_output_schedule_frame(scene_output->output);
|
|
|
|