summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdmondo Tommasina <[email protected]>2016-12-21 22:58:11 +0100
committerMarek Olšák <[email protected]>2017-01-01 00:03:38 +0100
commit57f86fb3a8bde60e8c99a46fdccd0dc12377ffd2 (patch)
tree55f119f87910eccdd626173b0e2f4d7f55330c76
parent22cd9040da75cac6e1c61b821e1ac6906ac4a8ac (diff)
gallium/hud: move file initialization to a function
The function will be used later to create the filedescriptor for other metrics. Signed-off-by: Marek Olšák <[email protected]>
-rw-r--r--src/gallium/auxiliary/hud/hud_context.c17
-rw-r--r--src/gallium/auxiliary/hud/hud_driver_query.c12
-rw-r--r--src/gallium/auxiliary/hud/hud_private.h2
3 files changed, 20 insertions, 11 deletions
diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index edd831a7f7b..779c11693c8 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -865,6 +865,23 @@ hud_graph_destroy(struct hud_graph *graph)
FREE(graph);
}
+void
+hud_graph_set_dump_file(struct hud_graph *gr)
+{
+ const char *hud_dump_dir = getenv("GALLIUM_HUD_DUMP_DIR");
+ char *dump_file;
+
+ if (hud_dump_dir && access(hud_dump_dir, W_OK) == 0) {
+ dump_file = malloc(strlen(hud_dump_dir) + sizeof(gr->name));
+ if (dump_file) {
+ strcpy(dump_file, hud_dump_dir);
+ strcat(dump_file, gr->name);
+ gr->fd = fopen(dump_file, "w+");
+ free(dump_file);
+ }
+ }
+}
+
/**
* Read a string from the environment variable.
* The separators "+", ",", ":", and ";" terminate the string.
diff --git a/src/gallium/auxiliary/hud/hud_driver_query.c b/src/gallium/auxiliary/hud/hud_driver_query.c
index 23fda0187dd..d80b8eda60c 100644
--- a/src/gallium/auxiliary/hud/hud_driver_query.c
+++ b/src/gallium/auxiliary/hud/hud_driver_query.c
@@ -351,8 +351,6 @@ hud_pipe_query_install(struct hud_batch_query_context **pbq,
{
struct hud_graph *gr;
struct query_info *info;
- const char *hud_dump_dir = getenv("GALLIUM_HUD_DUMP_DIR");
- char *dump_file;
gr = CALLOC_STRUCT(hud_graph);
if (!gr)
@@ -380,15 +378,7 @@ hud_pipe_query_install(struct hud_batch_query_context **pbq,
info->result_index = result_index;
}
- if (hud_dump_dir && access(hud_dump_dir, W_OK) == 0) {
- dump_file = malloc(strlen(hud_dump_dir) + sizeof(gr->name));
- if (dump_file) {
- strcpy(dump_file, hud_dump_dir);
- strcat(dump_file, gr->name);
- gr->fd = fopen(dump_file, "w+");
- free(dump_file);
- }
- }
+ hud_graph_set_dump_file(gr);
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 fa1cd8b9a45..5132b3d2c4f 100644
--- a/src/gallium/auxiliary/hud/hud_private.h
+++ b/src/gallium/auxiliary/hud/hud_private.h
@@ -104,6 +104,8 @@ boolean hud_driver_query_install(struct hud_batch_query_context **pbq,
void hud_batch_query_update(struct hud_batch_query_context *bq);
void hud_batch_query_cleanup(struct hud_batch_query_context **pbq);
+void hud_graph_set_dump_file(struct hud_graph *gr);
+
#if HAVE_GALLIUM_EXTRA_HUD
int hud_get_num_nics(bool displayhelp);
#define NIC_DIRECTION_RX 1