From: Kenneth Graunke Date: Thu, 31 Oct 2013 22:50:19 +0000 (-0700) Subject: i965: Add macros for creating performance monitor counters and groups. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7bf3cd4315343c3f1e0c36cc5ca1f790857e072a;p=mesa.git i965: Add macros for creating performance monitor counters and groups. The Observability Architecture counters are 32-bit unsigned values, and the Pipeline Statistics Register counters are 64-bit unsigned values. These convenience macros make it easy to create those types of counters. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_performance_monitor.c b/src/mesa/drivers/dri/i965/brw_performance_monitor.c index c9673c55565..a7a79ff8e3c 100644 --- a/src/mesa/drivers/dri/i965/brw_performance_monitor.c +++ b/src/mesa/drivers/dri/i965/brw_performance_monitor.c @@ -61,6 +61,32 @@ brw_perf_monitor(struct gl_perf_monitor_object *m) /******************************************************************************/ +#define COUNTER(name) \ + { \ + .Name = name, \ + .Type = GL_UNSIGNED_INT, \ + .Minimum = { .u32 = 0 }, \ + .Maximum = { .u32 = ~0 }, \ + } + +#define COUNTER64(name) \ + { \ + .Name = name, \ + .Type = GL_UNSIGNED_INT64_AMD, \ + .Minimum = { .u64 = 0 }, \ + .Maximum = { .u64 = ~0 }, \ + } + +#define GROUP(name, max_active, counter_list) \ + { \ + .Name = name, \ + .MaxActiveCounters = max_active, \ + .Counters = counter_list, \ + .NumCounters = ARRAY_SIZE(counter_list), \ + } + +/******************************************************************************/ + static GLboolean brw_is_perf_monitor_result_available(struct gl_context *, struct gl_perf_monitor_object *); static void