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 <marius-cristian.vlad@nxp.com> CC: Pekka Paalanen <pekka.paalanen@collabora.co.uk> [Pekka: note, most start_repaint_loop pass in current time, not 0] Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
This commit is contained in:
parent
d1510b4f40
commit
df9278aea7
@ -2495,8 +2495,6 @@ weston_output_finish_frame(struct weston_output *output,
|
|||||||
struct timespec now;
|
struct timespec now;
|
||||||
int64_t msec_rel;
|
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(output->repaint_status == REPAINT_AWAITING_COMPLETION);
|
||||||
assert(stamp || (presented_flags & WP_PRESENTATION_FEEDBACK_INVALID));
|
assert(stamp || (presented_flags & WP_PRESENTATION_FEEDBACK_INVALID));
|
||||||
@ -2511,6 +2509,9 @@ weston_output_finish_frame(struct weston_output *output,
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TL_POINT("core_repaint_finished", TLP_OUTPUT(output),
|
||||||
|
TLP_VBLANK(stamp), TLP_END);
|
||||||
|
|
||||||
refresh_nsec = millihz_to_nsec(output->current_mode->refresh);
|
refresh_nsec = millihz_to_nsec(output->current_mode->refresh);
|
||||||
weston_presentation_feedback_present_list(&output->feedback_list,
|
weston_presentation_feedback_present_list(&output->feedback_list,
|
||||||
output, refresh_nsec, stamp,
|
output, refresh_nsec, stamp,
|
||||||
|
Loading…
Reference in New Issue
Block a user