From: Marek Olšák Date: Sun, 2 Aug 2015 15:06:17 +0000 (+0200) Subject: gallium,hud: add support for Hz units in driver queries X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6b47b8978101897cc0dab8f2017e3aa25d31582d;p=mesa.git gallium,hud: add support for Hz units in driver queries Reviewed-by: Samuel Pitoiset Reviewed-by: Brian Paul Reviewed-by: Michel Dänzer --- 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