intel/perf: Adjust EU count for Xe2+

Xe2+ OA equations expects actual EU count but KMD returns legacy EU count.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29529>
This commit is contained in:
José Roberto de Souza
2024-07-02 08:51:45 -07:00
committed by Marge Bot
parent 9b5ba06122
commit f28d2c1040

View File

@@ -342,6 +342,14 @@ compute_topology_builtins(struct intel_perf_config *perf)
perf->sys_vars.n_eu_sub_slices = intel_device_info_subslice_total(devinfo);
perf->sys_vars.n_eus = intel_device_info_eu_total(devinfo);
/* Xe2+ OA equations expects actual EU count but KMD returns legacy EU
* count.
*/
if (devinfo->verx10 >= 200) {
perf->sys_vars.n_eu_slice0123 /= 2;
perf->sys_vars.n_eus /= 2;
}
/* The subslice mask builtin contains bits for all slices. Prior to Gfx11
* it had groups of 3bits for each slice, on Gfx11 and above it's 8bits for
* each slice.