compositor-drm: run finish_frame when dpms is turned off in update_complete

A output repaint loop isn't scheduled beacuse the output repaint_status
is AWAITING_COMPLETION when dmps is turned off in update_complete().
Therefore, the display attached to the output is remain inactive even if
weston wakes up. By going through finish_frame, the output
repaint_status is fixed to correct status.

Signed-off-by: Tomohito Esaki <etom@igel.co.jp>
dev
Tomohito Esaki 6 years ago committed by Daniel Stone
parent e2f9c1b76c
commit 68d49d772c
  1. 1
      libweston/backend-drm/drm.c

@ -1933,7 +1933,6 @@ drm_output_update_complete(struct drm_output *output, uint32_t flags,
output->dpms_off_pending = 0; output->dpms_off_pending = 0;
drm_output_get_disable_state(pending, output); drm_output_get_disable_state(pending, output);
drm_pending_state_apply_sync(pending); drm_pending_state_apply_sync(pending);
return;
} else if (output->state_cur->dpms == WESTON_DPMS_OFF && } else if (output->state_cur->dpms == WESTON_DPMS_OFF &&
output->base.repaint_status != REPAINT_AWAITING_COMPLETION) { output->base.repaint_status != REPAINT_AWAITING_COMPLETION) {
/* DPMS can happen to us either in the middle of a repaint /* DPMS can happen to us either in the middle of a repaint

Loading…
Cancel
Save