gallium/radeon: add threaded context counter monitoring for HUD
"tc" will be initialized by the next commit. v2: rename stuff according to v2 changes in u_threaded_context Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v1) Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
parent
7166773f90
commit
4c98afb241
|
@ -553,6 +553,7 @@ struct r600_common_context {
|
||||||
unsigned last_dirty_tex_counter;
|
unsigned last_dirty_tex_counter;
|
||||||
unsigned last_compressed_colortex_counter;
|
unsigned last_compressed_colortex_counter;
|
||||||
|
|
||||||
|
struct threaded_context *tc;
|
||||||
struct u_suballocator *allocator_zeroed_memory;
|
struct u_suballocator *allocator_zeroed_memory;
|
||||||
struct slab_child_pool pool_transfers;
|
struct slab_child_pool pool_transfers;
|
||||||
struct slab_child_pool pool_transfers_unsync; /* for threaded_context */
|
struct slab_child_pool pool_transfers_unsync; /* for threaded_context */
|
||||||
|
|
|
@ -133,6 +133,15 @@ static bool r600_query_sw_begin(struct r600_common_context *rctx,
|
||||||
case R600_QUERY_NUM_L2_WRITEBACKS:
|
case R600_QUERY_NUM_L2_WRITEBACKS:
|
||||||
query->begin_result = rctx->num_L2_writebacks;
|
query->begin_result = rctx->num_L2_writebacks;
|
||||||
break;
|
break;
|
||||||
|
case R600_QUERY_TC_OFFLOADED_SLOTS:
|
||||||
|
query->begin_result = rctx->tc ? rctx->tc->num_offloaded_slots : 0;
|
||||||
|
break;
|
||||||
|
case R600_QUERY_TC_DIRECT_SLOTS:
|
||||||
|
query->begin_result = rctx->tc ? rctx->tc->num_direct_slots : 0;
|
||||||
|
break;
|
||||||
|
case R600_QUERY_TC_NUM_SYNCS:
|
||||||
|
query->begin_result = rctx->tc ? rctx->tc->num_syncs : 0;
|
||||||
|
break;
|
||||||
case R600_QUERY_REQUESTED_VRAM:
|
case R600_QUERY_REQUESTED_VRAM:
|
||||||
case R600_QUERY_REQUESTED_GTT:
|
case R600_QUERY_REQUESTED_GTT:
|
||||||
case R600_QUERY_MAPPED_VRAM:
|
case R600_QUERY_MAPPED_VRAM:
|
||||||
|
@ -260,6 +269,15 @@ static bool r600_query_sw_end(struct r600_common_context *rctx,
|
||||||
case R600_QUERY_NUM_L2_WRITEBACKS:
|
case R600_QUERY_NUM_L2_WRITEBACKS:
|
||||||
query->end_result = rctx->num_L2_writebacks;
|
query->end_result = rctx->num_L2_writebacks;
|
||||||
break;
|
break;
|
||||||
|
case R600_QUERY_TC_OFFLOADED_SLOTS:
|
||||||
|
query->end_result = rctx->tc ? rctx->tc->num_offloaded_slots : 0;
|
||||||
|
break;
|
||||||
|
case R600_QUERY_TC_DIRECT_SLOTS:
|
||||||
|
query->end_result = rctx->tc ? rctx->tc->num_direct_slots : 0;
|
||||||
|
break;
|
||||||
|
case R600_QUERY_TC_NUM_SYNCS:
|
||||||
|
query->end_result = rctx->tc ? rctx->tc->num_syncs : 0;
|
||||||
|
break;
|
||||||
case R600_QUERY_REQUESTED_VRAM:
|
case R600_QUERY_REQUESTED_VRAM:
|
||||||
case R600_QUERY_REQUESTED_GTT:
|
case R600_QUERY_REQUESTED_GTT:
|
||||||
case R600_QUERY_MAPPED_VRAM:
|
case R600_QUERY_MAPPED_VRAM:
|
||||||
|
@ -1785,6 +1803,9 @@ static struct pipe_driver_query_info r600_driver_query_list[] = {
|
||||||
X("num-fb-cache-flushes", NUM_FB_CACHE_FLUSHES, UINT64, AVERAGE),
|
X("num-fb-cache-flushes", NUM_FB_CACHE_FLUSHES, UINT64, AVERAGE),
|
||||||
X("num-L2-invalidates", NUM_L2_INVALIDATES, UINT64, AVERAGE),
|
X("num-L2-invalidates", NUM_L2_INVALIDATES, UINT64, AVERAGE),
|
||||||
X("num-L2-writebacks", NUM_L2_WRITEBACKS, UINT64, AVERAGE),
|
X("num-L2-writebacks", NUM_L2_WRITEBACKS, UINT64, AVERAGE),
|
||||||
|
X("tc-offloaded-slots", TC_OFFLOADED_SLOTS, UINT64, AVERAGE),
|
||||||
|
X("tc-direct-slots", TC_DIRECT_SLOTS, UINT64, AVERAGE),
|
||||||
|
X("tc-num-syncs", TC_NUM_SYNCS, UINT64, AVERAGE),
|
||||||
X("CS-thread-busy", CS_THREAD_BUSY, UINT64, AVERAGE),
|
X("CS-thread-busy", CS_THREAD_BUSY, UINT64, AVERAGE),
|
||||||
X("requested-VRAM", REQUESTED_VRAM, BYTES, AVERAGE),
|
X("requested-VRAM", REQUESTED_VRAM, BYTES, AVERAGE),
|
||||||
X("requested-GTT", REQUESTED_GTT, BYTES, AVERAGE),
|
X("requested-GTT", REQUESTED_GTT, BYTES, AVERAGE),
|
||||||
|
|
|
@ -54,6 +54,9 @@ enum {
|
||||||
R600_QUERY_NUM_FB_CACHE_FLUSHES,
|
R600_QUERY_NUM_FB_CACHE_FLUSHES,
|
||||||
R600_QUERY_NUM_L2_INVALIDATES,
|
R600_QUERY_NUM_L2_INVALIDATES,
|
||||||
R600_QUERY_NUM_L2_WRITEBACKS,
|
R600_QUERY_NUM_L2_WRITEBACKS,
|
||||||
|
R600_QUERY_TC_OFFLOADED_SLOTS,
|
||||||
|
R600_QUERY_TC_DIRECT_SLOTS,
|
||||||
|
R600_QUERY_TC_NUM_SYNCS,
|
||||||
R600_QUERY_CS_THREAD_BUSY,
|
R600_QUERY_CS_THREAD_BUSY,
|
||||||
R600_QUERY_REQUESTED_VRAM,
|
R600_QUERY_REQUESTED_VRAM,
|
||||||
R600_QUERY_REQUESTED_GTT,
|
R600_QUERY_REQUESTED_GTT,
|
||||||
|
|
Loading…
Reference in New Issue