summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/hud
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/gallium/auxiliary/hud
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/gallium/auxiliary/hud')
-rw-r--r--src/gallium/auxiliary/hud/hud_context.c8
-rw-r--r--src/gallium/auxiliary/hud/hud_context.h5
-rw-r--r--src/gallium/auxiliary/hud/hud_private.h2
3 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index f32831b55f9..551cea97a79 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -1694,3 +1694,11 @@ hud_destroy(struct hud_context *hud)
pipe_resource_reference(&hud->font.texture, NULL);
FREE(hud);
}
+
+void
+hud_add_queue_for_monitoring(struct hud_context *hud,
+ struct util_queue_monitoring *queue_info)
+{
+ assert(!hud->monitored_queue);
+ hud->monitored_queue = queue_info;
+}
diff --git a/src/gallium/auxiliary/hud/hud_context.h b/src/gallium/auxiliary/hud/hud_context.h
index abf2ad58642..5a7e13b2732 100644
--- a/src/gallium/auxiliary/hud/hud_context.h
+++ b/src/gallium/auxiliary/hud/hud_context.h
@@ -32,6 +32,7 @@ struct hud_context;
struct cso_context;
struct pipe_context;
struct pipe_resource;
+struct util_queue_monitoring;
struct hud_context *
hud_create(struct pipe_context *pipe, struct cso_context *cso);
@@ -42,4 +43,8 @@ hud_destroy(struct hud_context *hud);
void
hud_draw(struct hud_context *hud, struct pipe_resource *tex);
+void
+hud_add_queue_for_monitoring(struct hud_context *hud,
+ struct util_queue_monitoring *queue_info);
+
#endif
diff --git a/src/gallium/auxiliary/hud/hud_private.h b/src/gallium/auxiliary/hud/hud_private.h
index f765bd9649c..fba919e5410 100644
--- a/src/gallium/auxiliary/hud/hud_private.h
+++ b/src/gallium/auxiliary/hud/hud_private.h
@@ -40,6 +40,8 @@ struct hud_context {
struct hud_batch_query_context *batch_query;
struct list_head pane_list;
+ struct util_queue_monitoring *monitored_queue;
+
/* states */
struct pipe_blend_state no_blend, alpha_blend;
struct pipe_depth_stencil_alpha_state dsa;