diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/auxiliary/hud/hud_context.c | 17 | ||||
-rw-r--r-- | src/gallium/auxiliary/hud/hud_driver_query.c | 12 | ||||
-rw-r--r-- | src/gallium/auxiliary/hud/hud_private.h | 2 |
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 |