[Mesa-dev] [PATCH 14/27] i965: Initialize performance monitor Groups/NumGroups.

Kenneth Graunke kenneth at whitecape.org
Wed Nov 13 17:52:19 PST 2013


Since we don't support any counters, there are zero groups.

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     | 36 +++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/brw_performance_monitor.c b/src/mesa/drivers/dri/i965/brw_performance_monitor.c
index a7a79ff..34f2aa3 100644
--- a/src/mesa/drivers/dri/i965/brw_performance_monitor.c
+++ b/src/mesa/drivers/dri/i965/brw_performance_monitor.c
@@ -85,6 +85,31 @@ brw_perf_monitor(struct gl_perf_monitor_object *m)
       .NumCounters = ARRAY_SIZE(counter_list), \
    }
 
+/**
+ * Ironlake:
+ *  @{
+ */
+const static struct gl_perf_monitor_group gen5_groups[] = {
+   /* Our pipeline statistics counter handling requires hardware contexts. */
+};
+/** @} */
+
+/**
+ * Sandybridge:
+ *  @{
+ */
+const static struct gl_perf_monitor_group gen6_groups[] = {
+};
+/** @} */
+
+/**
+ * Ivybridge/Baytrail/Haswell:
+ *  @{
+ */
+const static struct gl_perf_monitor_group gen7_groups[] = {
+};
+/** @} */
+
 /******************************************************************************/
 
 static GLboolean brw_is_perf_monitor_result_available(struct gl_context *, struct gl_perf_monitor_object *);
@@ -241,5 +266,14 @@ brw_init_performance_monitors(struct brw_context *brw)
    ctx->Driver.IsPerfMonitorResultAvailable = brw_is_perf_monitor_result_available;
    ctx->Driver.GetPerfMonitorResult = brw_get_perf_monitor_result;
 
-   /* ...need to set ctx->PerfMonitor.Groups and ctx->PerfMonitor.NumGroups */
+   if (brw->gen == 5) {
+      ctx->PerfMonitor.Groups = gen5_groups;
+      ctx->PerfMonitor.NumGroups = ARRAY_SIZE(gen5_groups);
+   } else if (brw->gen == 6) {
+      ctx->PerfMonitor.Groups = gen6_groups;
+      ctx->PerfMonitor.NumGroups = ARRAY_SIZE(gen6_groups);
+   } else if (brw->gen == 7) {
+      ctx->PerfMonitor.Groups = gen7_groups;
+      ctx->PerfMonitor.NumGroups = ARRAY_SIZE(gen7_groups);
+   }
 }
-- 
1.8.3.2



More information about the mesa-dev mailing list