Tested-by: Dieter Nützel <die...@nuetzel-hh.de>

with glmark2, UH, UV, Blender 2.79, FreeCAD, Krita 4.0.3 under KDE Plasma5
on my Polaris 20 / RX580.

Dieter

Am 09.06.2018 05:17, schrieb Marek Olšák:
From: Marek Olšák <marek.ol...@amd.com>

---
 src/gallium/auxiliary/hud/hud_context.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/hud/hud_context.c
b/src/gallium/auxiliary/hud/hud_context.c
index 61db98b4b03..233202453ee 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -1207,20 +1207,22 @@ hud_parse_env_var(struct hud_context *hud,
struct pipe_screen *screen,
     */
    period_env = getenv("GALLIUM_HUD_PERIOD");
    if (period_env) {
       float p = (float) atof(period_env);
       if (p >= 0.0f) {
          period = (unsigned) (p * 1000 * 1000);
       }
    }

    while ((num = parse_string(env, name_a)) != 0) {
+      bool added = true;
+
       env += num;

       /* check for explicit location, size and etc. settings */
name = read_pane_settings(name_a, &x, &y, &width, &height, &ceiling, &dyn_ceiling, &reset_colors, &sort_items);

      /*
* Keep track of overall column width to avoid pane overlapping in case * later we create a new column while the bottom pane in the current
       * column is less wide than the rest of the panes in it.
@@ -1379,20 +1381,21 @@ hud_parse_env_var(struct hud_context *hud,
struct pipe_screen *screen,
                processed = TRUE;
             }
          }

          /* driver queries */
          if (!processed) {
             if (!hud_driver_query_install(&hud->batch_query, pane,
                                           screen, name)) {
                fprintf(stderr, "gallium_hud: unknown driver query
'%s'\n", name);
                fflush(stderr);
+               added = false;
             }
          }
       }

       if (*env == ':') {
          env++;

          if (!pane) {
fprintf(stderr, "gallium_hud: syntax error: unexpected ':', "
                     "expected a name\n");
@@ -1421,21 +1424,21 @@ hud_parse_env_var(struct hud_context *hud,
struct pipe_screen *screen,
fprintf(stderr, "gallium_hud: syntax error: unexpected '=', "
                     "expected a name\n");
             fflush(stderr);
             break;
          }

          num = parse_string(env, s);
          env += num;

          strip_hyphens(s);
-         if (!LIST_IS_EMPTY(&pane->graph_list)) {
+         if (added && !LIST_IS_EMPTY(&pane->graph_list)) {
             struct hud_graph *graph;
graph = LIST_ENTRY(struct hud_graph, pane->graph_list.prev, head);
             strncpy(graph->name, s, sizeof(graph->name)-1);
             graph->name[sizeof(graph->name)-1] = 0;
          }
       }

       if (*env == 0)
          break;
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to