intel/perf: add performance query layout using MI_SRM
For all generations supported we had a layout describing what register to store to implement a MI_RPC replacement. This is because, on Gen12 we need to snapshot OAG registers to get correct values for the perf equations. There, the MI_RPC instruction captures OAR register which do not have all the information we need. v2: Fix commented code for debug (Marcin) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6518>
This commit is contained in:

committed by
Marge Bot

parent
f32d1bf529
commit
8750f43a90
@@ -518,7 +518,8 @@ VkResult genX(GetQueryPoolResults)(
|
||||
const uint32_t *end = pool->bo->map + khr_perf_query_oa_offset(pool, firstQuery + i, p, true);
|
||||
struct gen_perf_query_result result;
|
||||
gen_perf_query_result_clear(&result);
|
||||
gen_perf_query_result_accumulate(&result, pool->pass_query[p], begin, end);
|
||||
gen_perf_query_result_accumulate(&result, pool->pass_query[p],
|
||||
&device->info, begin, end);
|
||||
anv_perf_write_pass_results(pdevice->perf, pool, p, &result, pData);
|
||||
}
|
||||
break;
|
||||
@@ -536,7 +537,8 @@ VkResult genX(GetQueryPoolResults)(
|
||||
const uint32_t *rpstat_end = query_data + intel_perf_mi_rpc_offset(true);
|
||||
struct gen_perf_query_result result;
|
||||
gen_perf_query_result_clear(&result);
|
||||
gen_perf_query_result_accumulate(&result, query, oa_begin, oa_end);
|
||||
gen_perf_query_result_accumulate(&result, query, &device->info,
|
||||
oa_begin, oa_end);
|
||||
gen_perf_query_result_read_frequencies(&result, &device->info,
|
||||
oa_begin, oa_end);
|
||||
gen_perf_query_result_read_gt_frequency(&result, &device->info,
|
||||
|
Reference in New Issue
Block a user