gallium/hud: compute cpu load, percent with doubles
authorBrian Paul <brianp@vmware.com>
Thu, 11 Jan 2018 16:56:12 +0000 (09:56 -0700)
committerBrian Paul <brianp@vmware.com>
Wed, 17 Jan 2018 18:17:56 +0000 (11:17 -0700)
The hud_graph_add_value() function takes a double precision value,
so compute it that way.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/auxiliary/hud/hud_cpu.c

index 259bb8376395f394f20fe5223c0f617b4083c932..b7a524330bf3e5aaa4a5db585c3c05addb1a5879 100644 (file)
@@ -151,7 +151,8 @@ query_cpu_load(struct hud_graph *gr, struct pipe_context *pipe)
 
    if (info->last_time) {
       if (info->last_time + gr->pane->period <= now) {
-         uint64_t cpu_busy, cpu_total, cpu_load;
+         uint64_t cpu_busy, cpu_total;
+         double cpu_load;
 
          get_cpu_stats(info->cpu_index, &cpu_busy, &cpu_total);
 
@@ -258,15 +259,15 @@ query_api_thread_busy_status(struct hud_graph *gr, struct pipe_context *pipe)
                thread_now = 0;
          }
 
-         unsigned percent = (thread_now - info->last_thread_time) * 100 /
+         double percent = (thread_now - info->last_thread_time) * 100.0 /
                             (now - info->last_time);
 
          /* Check if the context changed a thread, so that we don't show
           * a random value. When a thread is changed, the new thread clock
           * is different, which can result in "percent" being very high.
           */
-         if (percent > 100)
-            percent = 0;
+         if (percent > 100.0)
+            percent = 0.0;
          hud_graph_add_value(gr, percent);
 
          info->last_thread_time = thread_now;