wayland: Remove unreachable condition
The value returned from clutter_frame_get_target_presentation_time() is always same as the value returned from clutter_frame_get_min_render_time_allowed() when they are called consecutively because both functions effectively return the value of frame->has_target_presentation_time. This is with the assumption that this variable is only ever modified by the same thread that also executes on_after_update(). As such, a case where the former returns FALSE after the latter returned TRUE is not possible, which means the line that sets "target_presentation_time_us = 0;" is effectively unreachable. Acknowledging this fact allows the call to clutter_frame_get_target_presentation_time() to be moved outside the "else" case and into the "if" condition itself. This is done in preparation for the next commits. No change in behavior. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3521>
This commit is contained in:
parent
a2397e6b80
commit
83713a38bb
@ -298,6 +298,7 @@ on_after_update (ClutterStage *stage,
|
|||||||
FrameCallbackSource *frame_callback_source;
|
FrameCallbackSource *frame_callback_source;
|
||||||
GSource *source;
|
GSource *source;
|
||||||
int64_t min_render_time_allowed_us;
|
int64_t min_render_time_allowed_us;
|
||||||
|
int64_t target_presentation_time_us;
|
||||||
|
|
||||||
if (!META_IS_BACKEND_NATIVE (backend))
|
if (!META_IS_BACKEND_NATIVE (backend))
|
||||||
{
|
{
|
||||||
@ -312,20 +313,17 @@ on_after_update (ClutterStage *stage,
|
|||||||
|
|
||||||
if (meta_frame_native_had_kms_update (frame_native) ||
|
if (meta_frame_native_had_kms_update (frame_native) ||
|
||||||
!clutter_frame_get_min_render_time_allowed (frame,
|
!clutter_frame_get_min_render_time_allowed (frame,
|
||||||
&min_render_time_allowed_us))
|
&min_render_time_allowed_us) ||
|
||||||
|
!clutter_frame_get_target_presentation_time (frame,
|
||||||
|
&target_presentation_time_us))
|
||||||
{
|
{
|
||||||
g_source_set_ready_time (source, -1);
|
g_source_set_ready_time (source, -1);
|
||||||
emit_frame_callbacks_for_stage_view (compositor, stage_view);
|
emit_frame_callbacks_for_stage_view (compositor, stage_view);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int64_t target_presentation_time_us;
|
|
||||||
int64_t source_ready_time_us;
|
int64_t source_ready_time_us;
|
||||||
|
|
||||||
if (!clutter_frame_get_target_presentation_time (frame,
|
|
||||||
&target_presentation_time_us))
|
|
||||||
target_presentation_time_us = 0;
|
|
||||||
|
|
||||||
if (g_source_get_ready_time (source) != -1 &&
|
if (g_source_get_ready_time (source) != -1 &&
|
||||||
frame_callback_source->target_presentation_time_us <
|
frame_callback_source->target_presentation_time_us <
|
||||||
target_presentation_time_us)
|
target_presentation_time_us)
|
||||||
|
Loading…
Reference in New Issue
Block a user