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 <marek.olsak@amd.com>
This commit is contained in:
Edmondo Tommasina 2016-12-21 22:58:11 +01:00 committed by Marek Olšák
parent 22cd9040da
commit 57f86fb3a8
3 changed files with 20 additions and 11 deletions

View file

@ -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.

View file

@ -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 */

View file

@ -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