mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
Related-To: NEO-2388 Change-Id: I4da92efe7f875f409cd62519a31ed4509b55bda7 Signed-off-by: Jacek Danecki <jacek.danecki@intel.com>
59 lines
1.7 KiB
C++
59 lines
1.7 KiB
C++
/*
|
|
* Copyright (C) 2018-2019 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#include "test.h"
|
|
|
|
using namespace NEO;
|
|
|
|
TEST(IcllpHwInfoConfig, givenHwInfoConfigStringThenAfterSetupResultingHwInfoIsCorrect) {
|
|
if (IGFX_ICELAKE_LP != productFamily) {
|
|
return;
|
|
}
|
|
GT_SYSTEM_INFO gInfo = {0};
|
|
FeatureTable fTable;
|
|
std::string strConfig = "1x8x8";
|
|
hardwareInfoSetup[productFamily](&gInfo, &fTable, false, strConfig);
|
|
EXPECT_EQ(gInfo.SliceCount, 1u);
|
|
EXPECT_EQ(gInfo.SubSliceCount, 8u);
|
|
EXPECT_EQ(gInfo.EUCount, 63u);
|
|
|
|
strConfig = "1x4x8";
|
|
gInfo = {0};
|
|
hardwareInfoSetup[productFamily](&gInfo, &fTable, false, strConfig);
|
|
EXPECT_EQ(gInfo.SliceCount, 1u);
|
|
EXPECT_EQ(gInfo.SubSliceCount, 4u);
|
|
EXPECT_EQ(gInfo.EUCount, 31u);
|
|
|
|
strConfig = "1x6x8";
|
|
gInfo = {0};
|
|
hardwareInfoSetup[productFamily](&gInfo, &fTable, false, strConfig);
|
|
EXPECT_EQ(gInfo.SliceCount, 1u);
|
|
EXPECT_EQ(gInfo.SubSliceCount, 6u);
|
|
EXPECT_EQ(gInfo.EUCount, 47u);
|
|
|
|
strConfig = "1x1x8";
|
|
gInfo = {0};
|
|
hardwareInfoSetup[productFamily](&gInfo, &fTable, false, strConfig);
|
|
EXPECT_EQ(gInfo.SliceCount, 1u);
|
|
EXPECT_EQ(gInfo.SubSliceCount, 1u);
|
|
EXPECT_EQ(gInfo.EUCount, 8u);
|
|
|
|
strConfig = "default";
|
|
gInfo = {0};
|
|
hardwareInfoSetup[productFamily](&gInfo, &fTable, false, strConfig);
|
|
EXPECT_EQ(gInfo.SliceCount, 1u);
|
|
EXPECT_EQ(gInfo.SubSliceCount, 8u);
|
|
EXPECT_EQ(gInfo.EUCount, 63u);
|
|
|
|
strConfig = "erroneous";
|
|
gInfo = {0};
|
|
EXPECT_ANY_THROW(hardwareInfoSetup[productFamily](&gInfo, &fTable, false, strConfig));
|
|
EXPECT_EQ(gInfo.SliceCount, 0u);
|
|
EXPECT_EQ(gInfo.SubSliceCount, 0u);
|
|
EXPECT_EQ(gInfo.EUCount, 0u);
|
|
}
|