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 <kenn...@whitecape.org> Cc: Eric Anholt <e...@anholt.net> Cc: Carl Worth <cwo...@cworth.org> Cc: Juha-Pekka Heikkilä <juha-pekka.heikk...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev