[Mesa-dev] [PATCH 1/6] gallium/hud: dump hud_driver_query values to files

Edmondo Tommasina edmondo.tommasina at gmail.com
Wed Dec 21 21:58:09 UTC 2016


Dump values for every selected data source in GALLIUM_HUD.

Every data source has its own file and the filename is
equal to the data source identifier.
---
 src/gallium/auxiliary/hud/hud_context.c      | 6 ++++++
 src/gallium/auxiliary/hud/hud_driver_query.c | 2 ++
 src/gallium/auxiliary/hud/hud_private.h      | 1 +
 3 files changed, 9 insertions(+)

diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index ceb157a..edd831a 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -33,6 +33,7 @@
  * Set GALLIUM_HUD=help for more info.
  */
 
+#include <inttypes.h>
 #include <signal.h>
 #include <stdio.h>
 
@@ -829,6 +830,9 @@ hud_graph_add_value(struct hud_graph *gr, uint64_t value)
    gr->current_value = value;
    value = value > gr->pane->ceiling ? gr->pane->ceiling : value;
 
+   if (gr->fd)
+      fprintf(gr->fd, "%" PRIu64 "\n", value);
+
    if (gr->index == gr->pane->max_num_vertices) {
       gr->vertices[0] = 0;
       gr->vertices[1] = gr->vertices[(gr->index-1)*2+1];
@@ -856,6 +860,8 @@ hud_graph_destroy(struct hud_graph *graph)
    FREE(graph->vertices);
    if (graph->free_query_data)
       graph->free_query_data(graph->query_data);
+   if (graph->fd)
+      fclose(graph->fd);
    FREE(graph);
 }
 
diff --git a/src/gallium/auxiliary/hud/hud_driver_query.c b/src/gallium/auxiliary/hud/hud_driver_query.c
index 40ea120..bfde16a 100644
--- a/src/gallium/auxiliary/hud/hud_driver_query.c
+++ b/src/gallium/auxiliary/hud/hud_driver_query.c
@@ -378,6 +378,8 @@ hud_pipe_query_install(struct hud_batch_query_context **pbq,
       info->result_index = result_index;
    }
 
+   gr->fd = fopen(gr->name, "w+");
+
    hud_pane_add_graph(pane, gr);
    pane->type = type; /* must be set before updating the max_value */
 
diff --git a/src/gallium/auxiliary/hud/hud_private.h b/src/gallium/auxiliary/hud/hud_private.h
index c6d0dbf..fa1cd8b 100644
--- a/src/gallium/auxiliary/hud/hud_private.h
+++ b/src/gallium/auxiliary/hud/hud_private.h
@@ -48,6 +48,7 @@ struct hud_graph {
    unsigned num_vertices;
    unsigned index; /* vertex index being updated */
    uint64_t current_value;
+   FILE *fd;
 };
 
 struct hud_pane {
-- 
2.10.0



More information about the mesa-dev mailing list