[Mesa-dev] [PATCH 01/11] gallium, hud: add support for Hz units in driver queries
Marek Olšák
maraeo at gmail.com
Mon Aug 3 05:42:03 PDT 2015
From: Marek Olšák <marek.olsak at amd.com>
---
src/gallium/auxiliary/hud/hud_context.c | 6 ++++++
src/gallium/include/pipe/p_defines.h | 2 ++
2 files changed, 8 insertions(+)
diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index 4631cd3..e10152e 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -240,6 +240,8 @@ number_to_human_readable(uint64_t num, enum pipe_driver_query_type type,
{"", " k", " M", " G", " T", " P", " E"};
static const char *time_units[] =
{" us", " ms", " s"}; /* based on microseconds */
+ static const char *hz_units[] =
+ {" Hz", " KHz", " MHz", " GHz"};
const char *suffix;
double divisor = (type == PIPE_DRIVER_QUERY_TYPE_BYTES) ? 1024 : 1000;
int unit = 0;
@@ -262,6 +264,10 @@ number_to_human_readable(uint64_t num, enum pipe_driver_query_type type,
assert(unit < ARRAY_SIZE(byte_units));
suffix = byte_units[unit];
break;
+ case PIPE_DRIVER_QUERY_TYPE_HZ:
+ assert(unit < ARRAY_SIZE(hz_units));
+ suffix = hz_units[unit];
+ break;
default:
assert(unit < ARRAY_SIZE(metric_units));
suffix = metric_units[unit];
diff --git a/src/gallium/include/pipe/p_defines.h b/src/gallium/include/pipe/p_defines.h
index 8f64679..f311d16 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -779,6 +779,7 @@ union pipe_query_result
/* PIPE_QUERY_PRIMITIVES_GENERATED */
/* PIPE_QUERY_PRIMITIVES_EMITTED */
/* PIPE_DRIVER_QUERY_TYPE_UINT64 */
+ /* PIPE_DRIVER_QUERY_TYPE_HZ */
uint64_t u64;
/* PIPE_DRIVER_QUERY_TYPE_UINT */
@@ -813,6 +814,7 @@ enum pipe_driver_query_type
PIPE_DRIVER_QUERY_TYPE_PERCENTAGE = 3,
PIPE_DRIVER_QUERY_TYPE_BYTES = 4,
PIPE_DRIVER_QUERY_TYPE_MICROSECONDS = 5,
+ PIPE_DRIVER_QUERY_TYPE_HZ = 6,
};
enum pipe_driver_query_group_type
--
2.1.4
More information about the mesa-dev
mailing list