[mutter] clutter/stage-cogl: Schedule immediate update on zero refresh interval



commit ccf27e5f83a93fb18510ed0310161106742ed2da
Author: Daniel van Vugt <daniel van vugt canonical com>
Date:   Thu Dec 20 15:50:54 2018 +0800

    clutter/stage-cogl: Schedule immediate update on zero refresh interval
    
    Instead of crazy refresh rates >1MHz falling back to 60Hz, just honour
    them by rendering unthrottled (same as `sync_delay < 0`). Although I
    wouldn't actually expect that path to ever be needed in reality, it just
    ensures an infinite `while` loop never happens.
    
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/363

 clutter/clutter/cogl/clutter-stage-cogl.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/clutter/clutter/cogl/clutter-stage-cogl.c b/clutter/clutter/cogl/clutter-stage-cogl.c
index 469645f04..aa698ac15 100644
--- a/clutter/clutter/cogl/clutter-stage-cogl.c
+++ b/clutter/clutter/cogl/clutter-stage-cogl.c
@@ -203,7 +203,10 @@ clutter_stage_cogl_schedule_update (ClutterStageWindow *stage_window,
 
   refresh_interval = (gint64) (0.5 + G_USEC_PER_SEC / refresh_rate);
   if (refresh_interval == 0)
-    refresh_interval = 16667; /* 1/60th second */
+    {
+      stage_cogl->update_time = now;
+      return;
+    }
 
   min_render_time_allowed = refresh_interval / 2;
   max_render_time_allowed = refresh_interval - 1000 * sync_delay;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]