mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Preserve MaxEuPerSubSlice in configureHwInfo
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
83143c4318
commit
6a43b6b609
@ -555,7 +555,7 @@ TEST(HwInfoConfigLinuxTest, whenAdjustPlatformForProductFamilyCalledThenDoNothin
|
||||
|
||||
using HwConfigLinux = ::testing::Test;
|
||||
|
||||
HWTEST2_F(HwConfigLinux, GivenDifferentValuesFromTopologyQueryWhenConfiguringHwInfoThenMaxValuesAreSetInGtSystemInfo, MatchAny) {
|
||||
HWTEST2_F(HwConfigLinux, GivenDifferentValuesFromTopologyQueryWhenConfiguringHwInfoThenMaxSlicesSupportedSetInGtSystemInfo, MatchAny) {
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
|
||||
@ -589,14 +589,14 @@ HWTEST2_F(HwConfigLinux, GivenDifferentValuesFromTopologyQueryWhenConfiguringHwI
|
||||
|
||||
hwInfo.gtSystemInfo.MaxSubSlicesSupported = drm->StoredSSVal / 2;
|
||||
hwInfo.gtSystemInfo.MaxDualSubSlicesSupported = drm->StoredSSVal / 2;
|
||||
hwInfo.gtSystemInfo.MaxEuPerSubSlice = 1;
|
||||
hwInfo.gtSystemInfo.MaxEuPerSubSlice = 6;
|
||||
hwInfo.gtSystemInfo.MaxSlicesSupported = drm->StoredSVal / 2;
|
||||
|
||||
ret = hwConfig->configureHwInfo(&hwInfo, &outHwInfo, osInterface.get());
|
||||
EXPECT_EQ(0, ret);
|
||||
|
||||
EXPECT_EQ(12u, outHwInfo.gtSystemInfo.MaxSubSlicesSupported);
|
||||
EXPECT_EQ(static_cast<uint32_t>(drm->StoredEUVal / drm->StoredSSVal), outHwInfo.gtSystemInfo.MaxEuPerSubSlice);
|
||||
EXPECT_EQ(6u, outHwInfo.gtSystemInfo.MaxEuPerSubSlice); // MaxEuPerSubslice is preserved
|
||||
EXPECT_EQ(static_cast<uint32_t>(drm->StoredSVal), outHwInfo.gtSystemInfo.MaxSlicesSupported);
|
||||
|
||||
EXPECT_EQ(hwInfo.gtSystemInfo.MaxDualSubSlicesSupported, outHwInfo.gtSystemInfo.MaxDualSubSlicesSupported);
|
||||
|
@ -123,7 +123,6 @@ int HwInfoConfig::configureHwInfo(const HardwareInfo *inHwInfo, HardwareInfo *ou
|
||||
gtSystemInfo->EUCount = static_cast<uint32_t>(topologyData.euCount);
|
||||
gtSystemInfo->ThreadCount = this->threadsPerEu * gtSystemInfo->EUCount;
|
||||
|
||||
gtSystemInfo->MaxEuPerSubSlice = std::max(static_cast<uint32_t>(topologyData.maxEuCount), gtSystemInfo->MaxEuPerSubSlice);
|
||||
gtSystemInfo->MaxSubSlicesSupported = std::max(static_cast<uint32_t>(topologyData.maxSubSliceCount * topologyData.maxSliceCount), gtSystemInfo->MaxSubSlicesSupported);
|
||||
gtSystemInfo->MaxSlicesSupported = std::max(static_cast<uint32_t>(topologyData.maxSliceCount), gtSystemInfo->MaxSlicesSupported);
|
||||
|
||||
|
@ -69,7 +69,7 @@ TEST(DrmQueryTest, GivenDrmWhenQueryingTopologyInfoCorrectMaxValuesAreSet) {
|
||||
|
||||
using HwConfigTopologyQuery = ::testing::Test;
|
||||
|
||||
HWTEST2_F(HwConfigTopologyQuery, WhenGettingTopologyFailsThenSetMaxValuesBasedOnEuAndSubsliceIoctlQueries, MatchAny) {
|
||||
HWTEST2_F(HwConfigTopologyQuery, WhenGettingTopologyFailsThenSetMaxValuesBasedOnSubsliceIoctlQuery, MatchAny) {
|
||||
auto executionEnvironment = std::make_unique<ExecutionEnvironment>();
|
||||
executionEnvironment->prepareRootDeviceEnvironments(1);
|
||||
|
||||
@ -88,13 +88,13 @@ HWTEST2_F(HwConfigTopologyQuery, WhenGettingTopologyFailsThenSetMaxValuesBasedOn
|
||||
|
||||
hwInfo.gtSystemInfo.MaxSlicesSupported = 0;
|
||||
hwInfo.gtSystemInfo.MaxSubSlicesSupported = 0;
|
||||
hwInfo.gtSystemInfo.MaxEuPerSubSlice = 0;
|
||||
hwInfo.gtSystemInfo.MaxEuPerSubSlice = 6;
|
||||
|
||||
auto hwConfig = HwInfoConfigHw<productFamily>::get();
|
||||
int ret = hwConfig->configureHwInfo(&hwInfo, &outHwInfo, osInterface.get());
|
||||
EXPECT_NE(-1, ret);
|
||||
|
||||
EXPECT_EQ(outHwInfo.gtSystemInfo.EUCount / outHwInfo.gtSystemInfo.SubSliceCount, outHwInfo.gtSystemInfo.MaxEuPerSubSlice);
|
||||
EXPECT_EQ(6u, outHwInfo.gtSystemInfo.MaxEuPerSubSlice);
|
||||
EXPECT_EQ(outHwInfo.gtSystemInfo.SubSliceCount, outHwInfo.gtSystemInfo.MaxSubSlicesSupported);
|
||||
EXPECT_EQ(hwInfo.gtSystemInfo.SliceCount, outHwInfo.gtSystemInfo.MaxSlicesSupported);
|
||||
|
||||
|
Reference in New Issue
Block a user