From df9278aea75282c67c80c78c667a8af73ad21c4e Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Tue, 6 Mar 2018 18:56:23 +0200 Subject: [PATCH] libweston/compositor: Place timeline recording after checking if stamp is valid The timestamp could be either NULL if there's no mode set, or 0 when output gets awaken. It either crashes weston or we get vblanks at [0, 0] for that output. Signed-off-by: Marius Vlad CC: Pekka Paalanen [Pekka: note, most start_repaint_loop pass in current time, not 0] Reviewed-by: Pekka Paalanen --- libweston/compositor.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libweston/compositor.c b/libweston/compositor.c index aec937bb..274a22d3 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -2495,8 +2495,6 @@ weston_output_finish_frame(struct weston_output *output, struct timespec now; int64_t msec_rel; - TL_POINT("core_repaint_finished", TLP_OUTPUT(output), - TLP_VBLANK(stamp), TLP_END); assert(output->repaint_status == REPAINT_AWAITING_COMPLETION); assert(stamp || (presented_flags & WP_PRESENTATION_FEEDBACK_INVALID)); @@ -2511,6 +2509,9 @@ weston_output_finish_frame(struct weston_output *output, goto out; } + TL_POINT("core_repaint_finished", TLP_OUTPUT(output), + TLP_VBLANK(stamp), TLP_END); + refresh_nsec = millihz_to_nsec(output->current_mode->refresh); weston_presentation_feedback_present_list(&output->feedback_list, output, refresh_nsec, stamp,