mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-06 08:10:29 +01:00
etnaviv: add rs-operations sw query
It could be useful to get the number of emited resolve operations when doing driver optimizations. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
This commit is contained in:
parent
5065549e2a
commit
82db591155
5 changed files with 8 additions and 0 deletions
|
|
@ -174,6 +174,7 @@ struct etna_context {
|
|||
struct {
|
||||
uint64_t prims_emitted;
|
||||
uint64_t draw_calls;
|
||||
uint64_t rs_operations;
|
||||
} stats;
|
||||
|
||||
struct pipe_debug_callback debug;
|
||||
|
|
|
|||
|
|
@ -171,6 +171,8 @@ etna_submit_rs_state(struct etna_context *ctx,
|
|||
struct etna_cmd_stream *stream = ctx->stream;
|
||||
struct etna_coalesce coalesce;
|
||||
|
||||
ctx->stats.rs_operations++;
|
||||
|
||||
if (screen->specs.pixel_pipes == 1) {
|
||||
etna_cmd_stream_reserve(stream, 22);
|
||||
etna_coalesce_start(stream, &coalesce);
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ etna_get_driver_query_info(struct pipe_screen *pscreen, unsigned index,
|
|||
struct pipe_driver_query_info list[] = {
|
||||
{"prims-emitted", PIPE_QUERY_PRIMITIVES_EMITTED, { 0 }},
|
||||
{"draw-calls", ETNA_QUERY_DRAW_CALLS, { 0 }},
|
||||
{"rs-operations", ETNA_QUERY_RS_OPERATIONS, { 0 }},
|
||||
};
|
||||
|
||||
if (!info)
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ etna_query(struct pipe_query *pq)
|
|||
}
|
||||
|
||||
#define ETNA_QUERY_DRAW_CALLS (PIPE_QUERY_DRIVER_SPECIFIC + 0)
|
||||
#define ETNA_QUERY_RS_OPERATIONS (PIPE_QUERY_DRIVER_SPECIFIC + 1)
|
||||
|
||||
void
|
||||
etna_query_screen_init(struct pipe_screen *pscreen);
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@ read_counter(struct etna_context *ctx, int type)
|
|||
return ctx->stats.prims_emitted;
|
||||
case ETNA_QUERY_DRAW_CALLS:
|
||||
return ctx->stats.draw_calls;
|
||||
case ETNA_QUERY_RS_OPERATIONS:
|
||||
return ctx->stats.rs_operations;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
@ -106,6 +108,7 @@ etna_sw_create_query(struct etna_context *ctx, unsigned query_type)
|
|||
switch (query_type) {
|
||||
case PIPE_QUERY_PRIMITIVES_EMITTED:
|
||||
case ETNA_QUERY_DRAW_CALLS:
|
||||
case ETNA_QUERY_RS_OPERATIONS:
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue