Mesa (staging/19.1): intel: fix subslice computation from topology data

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Oct 7 12:41:27 UTC 2019


Module: Mesa
Branch: staging/19.1
Commit: 736203e40832721006896414cfa30107cdf48c4f
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=736203e40832721006896414cfa30107cdf48c4f

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Fri Oct  4 19:37:14 2019 +0300

intel: fix subslice computation from topology data

We're missing the offset of the slice in the subslice mask...

This worked for most platforms that don't have first slice fused off
because we would reread the same mask from slice0 again and again...

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Fixes: c1900f5b0f ("intel: devinfo: add helper functions to fill fusing masks values")
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1869
Reviewed-by: Mark Janes <mark.a.janes at intel.com>
(cherry picked from commit d36763b2a45105b2bd4ca714ceb05b488c2d97ce)

---

 src/intel/dev/gen_device_info.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c
index 04747593291..7b0f5119331 100644
--- a/src/intel/dev/gen_device_info.c
+++ b/src/intel/dev/gen_device_info.c
@@ -1156,7 +1156,7 @@ gen_device_info_update_from_topology(struct gen_device_info *devinfo,
 
       for (int b = 0; b < devinfo->subslice_slice_stride; b++) {
          devinfo->num_subslices[s] +=
-            __builtin_popcount(devinfo->subslice_masks[b]);
+            __builtin_popcount(devinfo->subslice_masks[s * devinfo->subslice_slice_stride + b]);
       }
       n_subslices += devinfo->num_subslices[s];
    }




More information about the mesa-commit mailing list