gallium,hud: add support for Hz units in driver queries

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
Marek Olšák 2015-08-02 17:06:17 +02:00
parent 60159bcfc6
commit 6b47b89781
2 changed files with 8 additions and 0 deletions

View file

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

View file

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