summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>2021-04-03 13:34:11 +0300
committerDylan Baker <dylan.c.baker@intel.com>2021-11-24 15:47:19 -0800
commitfdc53e0ae6a4445efd4738f39d1cd1c3ab0fca9d (patch)
treee3ac3afbdfcbc6ca975edf02be697730edeb980e
parentbd7deb068638e10d9d961f935484c05f6eb8c646 (diff)
intel/perf: fix perf equation subslice mask generation for gfx12+
v2: Fix comment change (Marcin) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Francisco Jerez <currojerez@riseup.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015> (cherry picked from commit 67619d8153249e2cc3c36ac9a28aec9ded0ca1ba)
-rw-r--r--.pick_status.json2
-rw-r--r--src/intel/perf/intel_perf.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/.pick_status.json b/.pick_status.json
index da7bc097606..a65e24f7cd7 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -31,7 +31,7 @@
"description": "intel/perf: fix perf equation subslice mask generation for gfx12+",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": null
},
diff --git a/src/intel/perf/intel_perf.c b/src/intel/perf/intel_perf.c
index 0eebb497346..33990398f72 100644
--- a/src/intel/perf/intel_perf.c
+++ b/src/intel/perf/intel_perf.c
@@ -382,15 +382,15 @@ compute_topology_builtins(struct intel_perf_config *perf,
perf->sys_vars.eu_threads_count = devinfo->num_thread_per_eu;
/* The subslice mask builtin contains bits for all slices. Prior to Gfx11
- * it had groups of 3bits for each slice, on Gfx11 it's 8bits for each
- * slice.
+ * it had groups of 3bits for each slice, on Gfx11 and above it's 8bits for
+ * each slice.
*
* Ideally equations would be updated to have a slice/subslice query
* function/operator.
*/
perf->sys_vars.subslice_mask = 0;
- int bits_per_subslice = devinfo->ver == 11 ? 8 : 3;
+ int bits_per_subslice = devinfo->ver >= 11 ? 8 : 3;
for (int s = 0; s < util_last_bit(devinfo->slice_masks); s++) {
for (int ss = 0; ss < (devinfo->subslice_slice_stride * 8); ss++) {