summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-06-21 20:45:38 +0200
committerMarek Olšák <[email protected]>2017-06-26 02:17:03 +0200
commit5fa69be3c8894a6f313080c3afec7063d5356395 (patch)
treea90448a576095e0102b7d04452ffb41da9075789 /src/util
parent833f3c1c31b1c4dc7742d83eb2db63dcc9b42e1b (diff)
mesa/glthread: add glthread "perf" counters and pass them to gallium HUD
for HUD integration in following commits. This valuable profiling data will allow us to see on the HUD how well glthread is able to utilize parallelism. This is better than benchmarking, because you can see exactly what's happening and you don't have to be CPU-bound. u_threaded_context has the same counters. Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'src/util')
-rw-r--r--src/util/u_queue.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util/u_queue.h b/src/util/u_queue.h
index 8ec959814b0..edd6babb5c7 100644
--- a/src/util/u_queue.h
+++ b/src/util/u_queue.h
@@ -115,6 +115,20 @@ util_queue_fence_is_signalled(struct util_queue_fence *fence)
return fence->signalled != 0;
}
+/* Convenient structure for monitoring the queue externally and passing
+ * the structure between Mesa components. The queue doesn't use it directly.
+ */
+struct util_queue_monitoring
+{
+ /* For querying the thread busyness. */
+ struct util_queue *queue;
+
+ /* Counters updated by the user of the queue. */
+ unsigned num_offloaded_items;
+ unsigned num_direct_items;
+ unsigned num_syncs;
+};
+
#ifdef __cplusplus
}
#endif