Use RCS as default engine for TGL LP A0
Related-To: NEO-3741 Change-Id: Iac79ff5e7142a3ee74990048fcc84565639a2da2 Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
This commit is contained in:
parent
b4df74f42b
commit
9b84d8f5ba
|
@ -119,5 +119,6 @@ struct WorkaroundTableBase {
|
|||
bool waAuxTable16KGranular = false;
|
||||
bool waDisableFusedThreadScheduling = false;
|
||||
bool waUseOffsetToSkipSetFFIDGP = false;
|
||||
bool waForceDefaultRCSEngine = false;
|
||||
};
|
||||
} // namespace NEO
|
||||
|
|
|
@ -17,7 +17,7 @@ typedef TGLLPFamily Family;
|
|||
|
||||
template <>
|
||||
void HwHelperHw<Family>::adjustDefaultEngineType(HardwareInfo *pHwInfo) {
|
||||
if (!pHwInfo->featureTable.ftrCCSNode) {
|
||||
if (!pHwInfo->featureTable.ftrCCSNode || pHwInfo->workaroundTable.waForceDefaultRCSEngine) {
|
||||
pHwInfo->capabilityTable.defaultEngineType = aub_stream::ENGINE_RCS;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,8 +100,9 @@ void TGLLP::setupFeatureAndWorkaroundTable(HardwareInfo *hwInfo) {
|
|||
workaroundTable->wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
workaroundTable->waEnablePreemptionGranularityControlByUMD = true;
|
||||
workaroundTable->waUntypedBufferCompression = true;
|
||||
if (hwInfo->platform.usRevId == REVISION_A0) {
|
||||
if (hwInfo->platform.usRevId < REVISION_B) {
|
||||
workaroundTable->waUseOffsetToSkipSetFFIDGP = true;
|
||||
workaroundTable->waForceDefaultRCSEngine = true;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -88,10 +88,26 @@ TGLLPTEST_F(TgllpHwInfo, givenA0SteppingWhenWaTableIsInitializedThenWaUseOffsetT
|
|||
EXPECT_TRUE(hwInfo.workaroundTable.waUseOffsetToSkipSetFFIDGP);
|
||||
}
|
||||
|
||||
TGLLPTEST_F(TgllpHwInfo, givenA1SteppingWhenWaTableIsInitializedThenWaUseOffsetToSkipSetFFIDGPIsNotSet) {
|
||||
TGLLPTEST_F(TgllpHwInfo, givenBSteppingWhenWaTableIsInitializedThenWaUseOffsetToSkipSetFFIDGPIsNotSet) {
|
||||
HardwareInfo hwInfo;
|
||||
hwInfo.platform.usRevId = REVISION_A1;
|
||||
hwInfo.platform.usRevId = REVISION_B;
|
||||
TGLLP::setupFeatureAndWorkaroundTable(&hwInfo);
|
||||
|
||||
EXPECT_FALSE(hwInfo.workaroundTable.waUseOffsetToSkipSetFFIDGP);
|
||||
}
|
||||
|
||||
TGLLPTEST_F(TgllpHwInfo, givenA0SteppingWhenWaTableIsInitializedThenWaForceDefaultRCSEngineIsSet) {
|
||||
HardwareInfo hwInfo;
|
||||
hwInfo.platform.usRevId = REVISION_A0;
|
||||
TGLLP::setupFeatureAndWorkaroundTable(&hwInfo);
|
||||
|
||||
EXPECT_TRUE(hwInfo.workaroundTable.waForceDefaultRCSEngine);
|
||||
}
|
||||
|
||||
TGLLPTEST_F(TgllpHwInfo, givenBSteppingWhenWaTableIsInitializedThenWaForceDefaultRCSEngineIsNotSet) {
|
||||
HardwareInfo hwInfo;
|
||||
hwInfo.platform.usRevId = REVISION_B;
|
||||
TGLLP::setupFeatureAndWorkaroundTable(&hwInfo);
|
||||
|
||||
EXPECT_FALSE(hwInfo.workaroundTable.waForceDefaultRCSEngine);
|
||||
}
|
||||
|
|
|
@ -769,3 +769,12 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HwHelperTest, GivenVariousValuesWhenCallingCalculate
|
|||
hardwareInfo.gtSystemInfo.ThreadCount / hardwareInfo.gtSystemInfo.EUCount);
|
||||
EXPECT_EQ(hardwareInfo.gtSystemInfo.ThreadCount, result);
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, HwHelperTest, givenWaForceDefaultRcsEngineIsSetWhenAdjustDefaultEngineTypeIsCalledThenRcsIsUsedAsDefaultEngine) {
|
||||
hardwareInfo.featureTable.ftrCCSNode = true;
|
||||
hardwareInfo.workaroundTable.waForceDefaultRCSEngine = true;
|
||||
|
||||
auto &helper = HwHelper::get(hardwareInfo.platform.eRenderCoreFamily);
|
||||
helper.adjustDefaultEngineType(&hardwareInfo);
|
||||
EXPECT_EQ(aub_stream::ENGINE_RCS, hardwareInfo.capabilityTable.defaultEngineType);
|
||||
}
|
Loading…
Reference in New Issue