[Mesa-dev] [PATCH 13/27] i965: Add macros for creating performance monitor counters and groups.
Kenneth Graunke
kenneth at whitecape.org
Wed Nov 13 17:52:18 PST 2013
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 <kenneth at whitecape.org>
Cc: Eric Anholt <eric at anholt.net>
Cc: Carl Worth <cworth at cworth.org>
Cc: Juha-Pekka Heikkilä <juha-pekka.heikkila at intel.com>
---
.../drivers/dri/i965/brw_performance_monitor.c | 26 ++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_performance_monitor.c b/src/mesa/drivers/dri/i965/brw_performance_monitor.c
index c9673c5..a7a79ff 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
--
1.8.3.2
More information about the mesa-dev
mailing list