summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2015-08-02 17:06:17 +0200
committerMarek Olšák <[email protected]>2015-08-06 20:44:36 +0200
commit6b47b8978101897cc0dab8f2017e3aa25d31582d (patch)
tree9e7798ef0ed541ff821232c68d8345756264f33b
parent60159bcfc66a067b50da06f5cabfa20d72e898ed (diff)
gallium,hud: add support for Hz units in driver queries
Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
-rw-r--r--src/gallium/auxiliary/hud/hud_context.c6
-rw-r--r--src/gallium/include/pipe/p_defines.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index 4631cd3b323..e10152e69c5 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 68c536f1101..b124d8e4d13 100644
--- a/src/gallium/include/pipe/p_defines.h
+++ b/src/gallium/include/pipe/p_defines.h
@@ -762,6 +762,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 */
@@ -796,6 +797,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