mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-29 09:03:14 +08:00
fix: Update topology mapping
Updates topology mapping to handle case when no dual subslices Resolves: NEO-10670 Signed-off-by: Jemale Lockett <jemale.lockett@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
b95dd1d405
commit
6d945ad28b
@@ -201,7 +201,7 @@ bool Wddm::translateTopologyInfo(TopologyMapping &mapping) {
|
||||
std::vector<int> subSliceIndices;
|
||||
subSliceIndices.reserve((gtSystemInfo.SliceInfo[x].DualSubSliceEnabledCount) * GT_MAX_SUBSLICE_PER_DSS);
|
||||
|
||||
// subSliceIndex is used to track the index number of subslices from all DSS in this slice
|
||||
// subSliceIndex is used to track the index number of subslices from all SS or DSS in this slice
|
||||
int subSliceIndex = -1;
|
||||
for (uint32_t dss = 0; dss < GT_MAX_DUALSUBSLICE_PER_SLICE; dss++) {
|
||||
if (!gtSystemInfo.SliceInfo[x].DSSInfo[dss].Enabled) {
|
||||
@@ -221,6 +221,20 @@ bool Wddm::translateTopologyInfo(TopologyMapping &mapping) {
|
||||
}
|
||||
}
|
||||
|
||||
if (subSliceCount == 0) {
|
||||
for (uint32_t sss = 0; sss < GT_MAX_SUBSLICE_PER_SLICE; sss++) {
|
||||
subSliceIndex++;
|
||||
if (!gtSystemInfo.SliceInfo[x].SubSliceInfo[sss].Enabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
subSliceCount++;
|
||||
subSliceIndices.push_back(subSliceIndex);
|
||||
|
||||
euCount += gtSystemInfo.SliceInfo[x].SubSliceInfo[sss].EuEnabledCount;
|
||||
}
|
||||
}
|
||||
|
||||
// single slice available
|
||||
if (sliceCount == 1) {
|
||||
mapping.subsliceIndices = std::move(subSliceIndices);
|
||||
|
||||
Reference in New Issue
Block a user