mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 15:40:11 +01:00
gallium/radeon: add a HUD query for PS draw ratio stats from separate DCC
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
49e3c74cdd
commit
6da92df538
4 changed files with 8 additions and 0 deletions
|
|
@ -547,6 +547,7 @@ struct r600_common_context {
|
|||
unsigned num_spill_compute_calls;
|
||||
unsigned num_dma_calls;
|
||||
uint64_t num_alloc_tex_transfer_bytes;
|
||||
unsigned last_tex_ps_draw_ratio; /* for query */
|
||||
|
||||
/* Render condition. */
|
||||
struct r600_atom render_cond_atom;
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ static bool r600_query_sw_begin(struct r600_common_context *rctx,
|
|||
case R600_QUERY_GPU_TEMPERATURE:
|
||||
case R600_QUERY_CURRENT_GPU_SCLK:
|
||||
case R600_QUERY_CURRENT_GPU_MCLK:
|
||||
case R600_QUERY_BACK_BUFFER_PS_DRAW_RATIO:
|
||||
query->begin_result = 0;
|
||||
break;
|
||||
case R600_QUERY_BUFFER_WAIT_TIME:
|
||||
|
|
@ -176,6 +177,9 @@ static bool r600_query_sw_end(struct r600_common_context *rctx,
|
|||
case R600_QUERY_NUM_SHADERS_CREATED:
|
||||
query->end_result = p_atomic_read(&rctx->screen->num_shaders_created);
|
||||
break;
|
||||
case R600_QUERY_BACK_BUFFER_PS_DRAW_RATIO:
|
||||
query->end_result = rctx->last_tex_ps_draw_ratio;
|
||||
break;
|
||||
case R600_QUERY_GPIN_ASIC_ID:
|
||||
case R600_QUERY_GPIN_NUM_SIMD:
|
||||
case R600_QUERY_GPIN_NUM_RB:
|
||||
|
|
@ -1176,6 +1180,7 @@ static struct pipe_driver_query_info r600_driver_query_list[] = {
|
|||
X("num-bytes-moved", NUM_BYTES_MOVED, BYTES, CUMULATIVE),
|
||||
X("VRAM-usage", VRAM_USAGE, BYTES, AVERAGE),
|
||||
X("GTT-usage", GTT_USAGE, BYTES, AVERAGE),
|
||||
X("back-buffer-ps-draw-ratio", BACK_BUFFER_PS_DRAW_RATIO, UINT64, AVERAGE),
|
||||
|
||||
/* GPIN queries are for the benefit of old versions of GPUPerfStudio,
|
||||
* which use it as a fallback path to detect the GPU type.
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@ enum {
|
|||
R600_QUERY_GPU_LOAD,
|
||||
R600_QUERY_NUM_COMPILATIONS,
|
||||
R600_QUERY_NUM_SHADERS_CREATED,
|
||||
R600_QUERY_BACK_BUFFER_PS_DRAW_RATIO,
|
||||
R600_QUERY_GPIN_ASIC_ID,
|
||||
R600_QUERY_GPIN_NUM_SIMD,
|
||||
R600_QUERY_GPIN_NUM_RB,
|
||||
|
|
|
|||
|
|
@ -1902,6 +1902,7 @@ void vi_separate_dcc_process_and_reset_stats(struct pipe_context *ctx,
|
|||
tex->ps_draw_ratio =
|
||||
result.pipeline_statistics.ps_invocations /
|
||||
(tex->resource.b.b.width0 * tex->resource.b.b.height0);
|
||||
rctx->last_tex_ps_draw_ratio = tex->ps_draw_ratio;
|
||||
|
||||
disable = tex->dcc_separate_buffer &&
|
||||
!vi_should_enable_separate_dcc(tex);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue