onscreen/native: Deduplicate calls to clutter_frame_set_result
All paths out of `meta_onscreen_native_swap_buffers_with_damage` from here onward would set the same `CLUTTER_FRAME_RESULT_PENDING_PRESENTED` (or terminate with `g_assert_not_reached`). Even failed posts set this result because they will do a `meta_onscreen_native_notify_frame_complete` in `page_flip_feedback_discarded`. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441>
This commit is contained in:
parent
0f7183ebef
commit
f3688190bf
@ -1503,13 +1503,14 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
|
|||||||
g_warn_if_fail (!onscreen_native->next_frame);
|
g_warn_if_fail (!onscreen_native->next_frame);
|
||||||
onscreen_native->next_frame = clutter_frame_ref (frame);
|
onscreen_native->next_frame = clutter_frame_ref (frame);
|
||||||
|
|
||||||
|
clutter_frame_set_result (frame,
|
||||||
|
CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
||||||
|
|
||||||
power_save_mode = meta_monitor_manager_get_power_save_mode (monitor_manager);
|
power_save_mode = meta_monitor_manager_get_power_save_mode (monitor_manager);
|
||||||
if (power_save_mode != META_POWER_SAVE_ON)
|
if (power_save_mode != META_POWER_SAVE_ON)
|
||||||
{
|
{
|
||||||
meta_renderer_native_queue_power_save_page_flip (renderer_native,
|
meta_renderer_native_queue_power_save_page_flip (renderer_native,
|
||||||
onscreen);
|
onscreen);
|
||||||
clutter_frame_set_result (frame,
|
|
||||||
CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1547,8 +1548,6 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
|
|||||||
kms_update = meta_frame_native_steal_kms_update (frame_native);
|
kms_update = meta_frame_native_steal_kms_update (frame_native);
|
||||||
meta_renderer_native_queue_mode_set_update (renderer_native,
|
meta_renderer_native_queue_mode_set_update (renderer_native,
|
||||||
kms_update);
|
kms_update);
|
||||||
clutter_frame_set_result (frame,
|
|
||||||
CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (meta_renderer_native_has_pending_mode_set (renderer_native))
|
else if (meta_renderer_native_has_pending_mode_set (renderer_native))
|
||||||
@ -1562,8 +1561,6 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
|
|||||||
|
|
||||||
meta_frame_native_steal_kms_update (frame_native);
|
meta_frame_native_steal_kms_update (frame_native);
|
||||||
meta_renderer_native_post_mode_set_updates (renderer_native);
|
meta_renderer_native_post_mode_set_updates (renderer_native);
|
||||||
clutter_frame_set_result (frame,
|
|
||||||
CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1579,8 +1576,6 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
|
|||||||
kms_update);
|
kms_update);
|
||||||
|
|
||||||
meta_renderer_native_post_mode_set_updates (renderer_native);
|
meta_renderer_native_post_mode_set_updates (renderer_native);
|
||||||
clutter_frame_set_result (frame,
|
|
||||||
CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -1604,7 +1599,6 @@ meta_onscreen_native_swap_buffers_with_damage (CoglOnscreen *onscreen,
|
|||||||
|
|
||||||
meta_kms_device_post_update (kms_device, kms_update,
|
meta_kms_device_post_update (kms_device, kms_update,
|
||||||
META_KMS_UPDATE_FLAG_NONE);
|
META_KMS_UPDATE_FLAG_NONE);
|
||||||
clutter_frame_set_result (frame, CLUTTER_FRAME_RESULT_PENDING_PRESENTED);
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
swap_failed:
|
swap_failed:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user