enable pipeline select tracking on systolic mode platforms

Related-To: NEO-5019

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
This commit is contained in:
Zbigniew Zdanowicz
2022-10-10 13:23:37 +00:00
committed by Compute-Runtime-Automation
parent 3f5ac0b4d0
commit d3c78a5011
8 changed files with 27 additions and 8 deletions

View File

@@ -32,6 +32,11 @@ bool L0HwHelperHw<Family>::multiTileCapablePlatform() const {
return true; return true;
} }
template <>
bool L0HwHelperHw<Family>::platformSupportsPipelineSelectTracking(const NEO::HardwareInfo &hwInfo) const {
return true;
}
// clang-format off // clang-format off
#include "level_zero/core/source/hw_helpers/l0_hw_helper_tgllp_plus.inl" #include "level_zero/core/source/hw_helpers/l0_hw_helper_tgllp_plus.inl"
// clang-format on // clang-format on

View File

@@ -42,6 +42,11 @@ bool L0HwHelperHw<Family>::platformSupportsStateComputeModeTracking(const NEO::H
return true; return true;
} }
template <>
bool L0HwHelperHw<Family>::platformSupportsPipelineSelectTracking(const NEO::HardwareInfo &hwInfo) const {
return true;
}
template class L0HwHelperHw<Family>; template class L0HwHelperHw<Family>;
} // namespace L0 } // namespace L0

View File

@@ -27,6 +27,11 @@ bool L0HwHelperHw<Family>::isResumeWARequired() {
return true; return true;
} }
template <>
bool L0HwHelperHw<Family>::platformSupportsPipelineSelectTracking(const NEO::HardwareInfo &hwInfo) const {
return true;
}
// clang-format off // clang-format off
#include "level_zero/core/source/hw_helpers/l0_hw_helper_tgllp_plus.inl" #include "level_zero/core/source/hw_helpers/l0_hw_helper_tgllp_plus.inl"
// clang-format on // clang-format on

View File

@@ -2010,10 +2010,12 @@ TEST_F(CommandListCreate, givenCreatedCommandListWhenGettingTrackingFlagsThenDef
std::unique_ptr<L0::ult::CommandList> commandList(whiteboxCast(CommandList::create(productFamily, device, NEO::EngineGroupType::RenderCompute, 0u, returnValue))); std::unique_ptr<L0::ult::CommandList> commandList(whiteboxCast(CommandList::create(productFamily, device, NEO::EngineGroupType::RenderCompute, 0u, returnValue)));
ASSERT_NE(nullptr, commandList.get()); ASSERT_NE(nullptr, commandList.get());
EXPECT_FALSE(commandList->frontEndStateTracking); EXPECT_FALSE(commandList->frontEndStateTracking);
EXPECT_FALSE(commandList->pipelineSelectStateTracking);
bool expectedStateComputeModeTracking = l0HwHelper.platformSupportsStateComputeModeTracking(hwInfo); bool expectedStateComputeModeTracking = l0HwHelper.platformSupportsStateComputeModeTracking(hwInfo);
EXPECT_EQ(expectedStateComputeModeTracking, commandList->stateComputeModeTracking); EXPECT_EQ(expectedStateComputeModeTracking, commandList->stateComputeModeTracking);
bool expectedPipelineSelectTracking = l0HwHelper.platformSupportsPipelineSelectTracking(hwInfo);
EXPECT_EQ(expectedPipelineSelectTracking, commandList->pipelineSelectStateTracking);
} }
} // namespace ult } // namespace ult

View File

@@ -1815,11 +1815,13 @@ TEST_F(CommandQueueCreate, givenCreatedCommandQueueWhenGettingTrackingFlagsThenD
EXPECT_EQ(returnValue, ZE_RESULT_SUCCESS); EXPECT_EQ(returnValue, ZE_RESULT_SUCCESS);
ASSERT_NE(nullptr, commandQueue); ASSERT_NE(nullptr, commandQueue);
EXPECT_FALSE(commandQueue->frontEndStateTracking); EXPECT_FALSE(commandQueue->frontEndStateTracking);
EXPECT_FALSE(commandQueue->pipelineSelectStateTracking);
bool expectedStateComputeModeTracking = l0HwHelper.platformSupportsStateComputeModeTracking(hwInfo); bool expectedStateComputeModeTracking = l0HwHelper.platformSupportsStateComputeModeTracking(hwInfo);
EXPECT_EQ(expectedStateComputeModeTracking, commandQueue->stateComputeModeTracking); EXPECT_EQ(expectedStateComputeModeTracking, commandQueue->stateComputeModeTracking);
bool expectedPipelineSelectTracking = l0HwHelper.platformSupportsPipelineSelectTracking(hwInfo);
EXPECT_EQ(expectedPipelineSelectTracking, commandQueue->pipelineSelectStateTracking);
commandQueue->destroy(); commandQueue->destroy();
} }

View File

@@ -42,9 +42,9 @@ XEHPTEST_F(L0HwHelperTestXeHp, GivenXeHpWhenCheckingL0HelperForFrontEndTrackingS
EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsFrontEndTracking(hwInfo)); EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsFrontEndTracking(hwInfo));
} }
XEHPTEST_F(L0HwHelperTestXeHp, GivenXeHpWhenCheckingL0HelperForPipelineSelectTrackingSupportThenReturnFalse) { XEHPTEST_F(L0HwHelperTestXeHp, GivenXeHpWhenCheckingL0HelperForPipelineSelectTrackingSupportThenReturnTrue) {
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo; NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo;
EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsPipelineSelectTracking(hwInfo)); EXPECT_TRUE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsPipelineSelectTracking(hwInfo));
} }
} // namespace ult } // namespace ult

View File

@@ -41,9 +41,9 @@ XE_HPC_CORETEST_F(L0HwHelperTestXeHpc, GivenXeHpcWhenCheckingL0HelperForFrontEnd
EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsFrontEndTracking(hwInfo)); EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsFrontEndTracking(hwInfo));
} }
XE_HPC_CORETEST_F(L0HwHelperTestXeHpc, GivenXeHpcWhenCheckingL0HelperForPipelineSelectTrackingSupportThenReturnFalse) { XE_HPC_CORETEST_F(L0HwHelperTestXeHpc, GivenXeHpcWhenCheckingL0HelperForPipelineSelectTrackingSupportThenReturnTrue) {
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo; NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo;
EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsPipelineSelectTracking(hwInfo)); EXPECT_TRUE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsPipelineSelectTracking(hwInfo));
} }
} // namespace ult } // namespace ult

View File

@@ -44,9 +44,9 @@ XE_HPG_CORETEST_F(L0HwHelperTestXeHpg, GivenXeHpgWhenCheckingL0HelperForFrontEnd
EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsFrontEndTracking(hwInfo)); EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsFrontEndTracking(hwInfo));
} }
XE_HPG_CORETEST_F(L0HwHelperTestXeHpg, GivenXeHpgWhenCheckingL0HelperForPipelineSelectTrackingSupportThenReturnFalse) { XE_HPG_CORETEST_F(L0HwHelperTestXeHpg, GivenXeHpgWhenCheckingL0HelperForPipelineSelectTrackingSupportThenReturnTrue) {
NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo; NEO::HardwareInfo hwInfo = *NEO::defaultHwInfo;
EXPECT_FALSE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsPipelineSelectTracking(hwInfo)); EXPECT_TRUE(L0::L0HwHelperHw<FamilyType>::get().platformSupportsPipelineSelectTracking(hwInfo));
} }
} // namespace ult } // namespace ult