test: use walkerVariant in ults 7/n

Related-To: NEO-10641
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk 2024-07-29 13:46:47 +00:00 committed by Compute-Runtime-Automation
parent d9dec7acfc
commit d52330b5aa
2 changed files with 25 additions and 14 deletions

View File

@ -183,7 +183,8 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenDebugFlagToDisableL1FlushInPo
}
HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnqueueingThenWriteWalkerStamp, matcherDG2AndLater) {
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
using WalkerVariant = typename FamilyType::WalkerVariant;
DebugManagerStateRestore restore;
debugManager.flags.EnableTimestampPacket.set(true);
@ -201,15 +202,19 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenDebugVariableEnabledWhenEnque
hwParser.findHardwareCommands<FamilyType>();
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
auto gmmHelper = device->getGmmHelper();
auto expectedMocs = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, device->getRootDeviceEnvironment()) ? gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED) : gmmHelper->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
auto &postSyncData = walker->getPostSync();
EXPECT_EQ(FamilyType::POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP,
postSyncData.getOperation());
EXPECT_TRUE(postSyncData.getDataportPipelineFlush());
EXPECT_TRUE(postSyncData.getDataportSubsliceCacheFlush());
EXPECT_EQ(expectedMocs, postSyncData.getMocs());
WalkerVariant walkerVariant = NEO::UnitTestHelper<FamilyType>::getWalkerVariant(*hwParser.itorWalker);
std::visit([expectedMocs](auto &&walker) {
auto &postSyncData = walker->getPostSync();
using PostSyncType = std::decay_t<decltype(postSyncData)>;
EXPECT_EQ(PostSyncType::OPERATION::OPERATION_WRITE_TIMESTAMP, postSyncData.getOperation());
EXPECT_TRUE(postSyncData.getDataportPipelineFlush());
EXPECT_TRUE(postSyncData.getDataportSubsliceCacheFlush());
EXPECT_EQ(expectedMocs, postSyncData.getMocs());
},
walkerVariant);
}

View File

@ -1696,6 +1696,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterDispatchWalkerBasicTestStaticPartition,
using NonDefaultPlatformGpuWalkerTest = XeHPAndLaterDispatchWalkerBasicTest;
HWCMDTEST_F(IGFX_XE_HP_CORE, NonDefaultPlatformGpuWalkerTest, givenNonDefaultPlatformWhenSetupTimestampPacketThenGmmHelperIsTakenFromNonDefaultPlatform) {
using WalkerVariant = typename FamilyType::WalkerVariant;
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
auto rootDeviceEnvironment = executionEnvironment->rootDeviceEnvironments[0].get();
rootDeviceEnvironment->initGmm();
@ -1706,12 +1709,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, NonDefaultPlatformGpuWalkerTest, givenNonDefaultPla
TagNode<TimestampPackets<uint32_t, TimestampPacketConstants::preferredPacketCount>> timestamp;
ClHardwareParse hwParser;
hwParser.parseCommands<FamilyType>(*cmdQ);
auto computeWalker = reinterpret_cast<typename FamilyType::DefaultWalkerType *>(hwParser.cmdWalker);
ASSERT_NE(nullptr, computeWalker);
platformsImpl->clear();
EXPECT_EQ(platform(), nullptr);
GpgpuWalkerHelper<FamilyType>::setupTimestampPacket(&cmdStream, computeWalker, static_cast<TagNodeBase *>(&timestamp), *rootDeviceEnvironment);
WalkerVariant walkerVariant = NEO::UnitTestHelper<FamilyType>::getWalkerVariant(hwParser.cmdWalker);
std::visit([&](auto &&walker) {
ASSERT_NE(nullptr, walker);
platformsImpl->clear();
EXPECT_EQ(platform(), nullptr);
GpgpuWalkerHelper<FamilyType>::setupTimestampPacket(&cmdStream, walker, static_cast<TagNodeBase *>(&timestamp), *rootDeviceEnvironment);
},
walkerVariant);
}
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerDispatchTest, givenDefaultLocalIdsGenerationWhenPassingFittingParametersThenReturnFalse) {