mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-20 08:53:55 +08:00
refactor: rename WALKER_TYPE to DefaultWalkerType
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
306142eefa
commit
9486cd2a26
@@ -161,7 +161,7 @@ HWTEST_F(CommandListAppendLaunchKernel, givenKernelWithThreadArbitrationPolicySe
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernel, givenNotEnoughSpaceInCommandStreamWhenAppendingKernelThenBbEndIsAddedAndNewCmdBufferAllocated, IsAtLeastSkl) {
|
||||
using MI_BATCH_BUFFER_END = typename FamilyType::MI_BATCH_BUFFER_END;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.DispatchCmdlistCmdBufferPrimary.set(0);
|
||||
@@ -208,7 +208,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, givenNotEnoughSpaceInCommandStreamWhenA
|
||||
false, // isRcs
|
||||
commandList->getDcFlushRequired(true) // dcFlushEnable
|
||||
};
|
||||
NEO::EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(commandContainer, dispatchKernelArgs);
|
||||
NEO::EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(commandContainer, dispatchKernelArgs);
|
||||
|
||||
auto usedSpaceAfter = commandContainer.getCommandStream()->getUsed();
|
||||
ASSERT_GT(usedSpaceAfter, 0u);
|
||||
|
||||
@@ -1511,7 +1511,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, MultiTileCommandListAppendLaunchKernelXeHpCoreTest,
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, MultiTileCommandListAppendLaunchKernelXeHpCoreTest, givenDebugVariableSetWhenUsingNonTimestampEventThenDontOverridePostSyncMode) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
|
||||
debugManager.flags.EnableDynamicPostSyncAllocLayout.set(1);
|
||||
@@ -1546,8 +1546,8 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, MultiTileCommandListAppendLaunchKernelXeHpCoreTest,
|
||||
ASSERT_TRUE(FamilyType::PARSE::parseCommandBuffer(
|
||||
cmdList, commandList->getCmdContainer().getCommandStream()->getCpuBase(), commandList->getCmdContainer().getCommandStream()->getUsed()));
|
||||
|
||||
auto itorWalker = find<WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itorWalker);
|
||||
auto itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itorWalker);
|
||||
ASSERT_NE(nullptr, cmd);
|
||||
|
||||
EXPECT_TRUE(cmd->getWorkloadPartitionEnable());
|
||||
@@ -1570,8 +1570,8 @@ HWTEST2_F(MultiTileCommandListAppendLaunchKernelXeHpCoreTest, givenCooperativeKe
|
||||
GenCmdList cmdList;
|
||||
ASSERT_TRUE(FamilyType::PARSE::parseCommandBuffer(
|
||||
cmdList, ptrOffset(commandListWithNonCooperativeKernel->getCmdContainer().getCommandStream()->getCpuBase(), sizeBefore), sizeAfter - sizeBefore));
|
||||
auto itorWalker = find<typename FamilyType::WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto cmd = genCmdCast<typename FamilyType::WALKER_TYPE *>(*itorWalker);
|
||||
auto itorWalker = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
auto cmd = genCmdCast<typename FamilyType::DefaultWalkerType *>(*itorWalker);
|
||||
EXPECT_TRUE(cmd->getWorkloadPartitionEnable());
|
||||
EXPECT_EQ(4u, cmd->getPartitionSize());
|
||||
|
||||
@@ -1587,15 +1587,15 @@ HWTEST2_F(MultiTileCommandListAppendLaunchKernelXeHpCoreTest, givenCooperativeKe
|
||||
ASSERT_TRUE(FamilyType::PARSE::parseCommandBuffer(
|
||||
cmdList, ptrOffset(commandListWithCooperativeKernel->getCmdContainer().getCommandStream()->getCpuBase(), sizeBefore), sizeAfter - sizeBefore));
|
||||
|
||||
itorWalker = find<typename FamilyType::WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
cmd = genCmdCast<typename FamilyType::WALKER_TYPE *>(*itorWalker);
|
||||
itorWalker = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
cmd = genCmdCast<typename FamilyType::DefaultWalkerType *>(*itorWalker);
|
||||
EXPECT_TRUE(cmd->getWorkloadPartitionEnable());
|
||||
EXPECT_EQ(16u, cmd->getPartitionSize());
|
||||
}
|
||||
|
||||
HWTEST2_F(MultiTileCommandListAppendLaunchKernelXeHpCoreTest,
|
||||
givenRegularCommandListWhenSynchronizationRequiredThenExpectJumpingBbStartCommandToSecondary, IsAtLeastXeHpCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
debugManager.flags.UsePipeControlAfterPartitionedWalker.set(1);
|
||||
|
||||
@@ -1615,8 +1615,8 @@ HWTEST2_F(MultiTileCommandListAppendLaunchKernelXeHpCoreTest,
|
||||
ptrOffset(cmdStream->getCpuBase(), sizeBefore),
|
||||
sizeAfter - sizeBefore));
|
||||
|
||||
auto itorWalker = find<WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itorWalker);
|
||||
auto itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itorWalker);
|
||||
EXPECT_TRUE(cmd->getWorkloadPartitionEnable());
|
||||
|
||||
auto itorBbStart = find<MI_BATCH_BUFFER_START *>(cmdList.begin(), cmdList.end());
|
||||
|
||||
@@ -616,7 +616,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, givenNotEnoughSpaceInCommandStreamWhenA
|
||||
DebugManagerStateRestore restorer;
|
||||
NEO::debugManager.flags.EnableFlushTaskSubmission.set(0);
|
||||
using MI_BATCH_BUFFER_END = typename FamilyType::MI_BATCH_BUFFER_END;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
createKernel();
|
||||
|
||||
@@ -659,7 +659,7 @@ HWTEST2_F(CommandListAppendLaunchKernel, givenNotEnoughSpaceInCommandStreamWhenA
|
||||
false, // isRcs
|
||||
commandList->getDcFlushRequired(true) // dcFlushEnable
|
||||
};
|
||||
EXPECT_THROW(NEO::EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(commandContainer, dispatchKernelArgs), std::exception);
|
||||
EXPECT_THROW(NEO::EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(commandContainer, dispatchKernelArgs), std::exception);
|
||||
}
|
||||
|
||||
HWTEST_F(CommandListAppendLaunchKernel, givenInvalidKernelWhenAppendingThenReturnErrorInvalidArgument) {
|
||||
@@ -2605,7 +2605,7 @@ HWTEST2_F(InOrderCmdListTests, givenNonPostSyncWalkerWhenAskingForNonWalkerSigna
|
||||
}
|
||||
|
||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenProgramPipeControlWithSignalAllocation, NonPostSyncWalkerMatcher) {
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
|
||||
@@ -2644,7 +2644,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingWalkerThenProgramP
|
||||
}
|
||||
|
||||
HWTEST2_F(InOrderCmdListTests, givenInOrderModeWhenProgrammingKernelSplitThenProgramPcAndSignalAlloc, NonPostSyncWalkerMatcher) {
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
|
||||
@@ -2957,7 +2957,7 @@ HWTEST2_F(InOrderCmdListTests, givenInOrderRegularCmdListWhenProgrammingNonKerne
|
||||
}
|
||||
|
||||
HWTEST2_F(InOrderCmdListTests, givenImmediateEventWhenWaitingFromRegularCmdListThenDontPatch, IsAtLeastSkl) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
|
||||
auto regularCmdList = createRegularCmdList<gfxCoreFamily>(false);
|
||||
@@ -2991,12 +2991,12 @@ HWTEST2_F(InOrderCmdListTests, givenImmediateEventWhenWaitingFromRegularCmdListT
|
||||
|
||||
EXPECT_EQ(immCmdList->inOrderExecInfo->getDeviceCounterAllocation().getGpuAddress(), semaphoreCmd->getSemaphoreGraphicsAddress());
|
||||
|
||||
auto walkerItor = find<WALKER_TYPE *>(semaphoreItor, cmdList.end());
|
||||
auto walkerItor = find<DefaultWalkerType *>(semaphoreItor, cmdList.end());
|
||||
EXPECT_NE(cmdList.end(), walkerItor);
|
||||
}
|
||||
|
||||
HWTEST2_F(InOrderCmdListTests, givenEventGeneratedByRegularCmdListWhenWaitingFromImmediateThenUseSubmissionCounter, IsAtLeastSkl) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
|
||||
ze_command_queue_desc_t desc = {};
|
||||
@@ -5600,7 +5600,7 @@ HWTEST_F(CommandListAppendLaunchKernelWithImplicitArgs, givenIndirectDispatchWit
|
||||
using MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest = Test<MultiTileImmediateCommandListAppendLaunchKernelFixture>;
|
||||
|
||||
HWTEST2_F(MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest, givenImplicitScalingWhenUsingImmediateCommandListThenDoNotAddSelfCleanup, IsAtLeastXeHpCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
@@ -5629,7 +5629,7 @@ HWTEST2_F(MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest, givenImpl
|
||||
auto sizeAfter = cmdStream->getUsed();
|
||||
|
||||
uint64_t bbStartGpuAddress = cmdStream->getGraphicsAllocation()->getGpuAddress() + sizeBefore;
|
||||
bbStartGpuAddress += sizeof(WALKER_TYPE) + sizeof(PIPE_CONTROL) + sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
bbStartGpuAddress += sizeof(DefaultWalkerType) + sizeof(PIPE_CONTROL) + sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(MI_BATCH_BUFFER_START) + 3 * sizeof(uint32_t);
|
||||
|
||||
GenCmdList cmdList;
|
||||
@@ -5638,9 +5638,9 @@ HWTEST2_F(MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest, givenImpl
|
||||
ptrOffset(cmdStream->getCpuBase(), sizeBefore),
|
||||
sizeAfter - sizeBefore));
|
||||
|
||||
auto itorWalker = find<WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker);
|
||||
auto cmdWalker = genCmdCast<WALKER_TYPE *>(*itorWalker);
|
||||
auto cmdWalker = genCmdCast<DefaultWalkerType *>(*itorWalker);
|
||||
EXPECT_TRUE(cmdWalker->getWorkloadPartitionEnable());
|
||||
|
||||
auto itorPipeControl = find<PIPE_CONTROL *>(itorWalker, cmdList.end());
|
||||
@@ -5663,7 +5663,7 @@ HWTEST2_F(MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest, givenImpl
|
||||
}
|
||||
|
||||
HWTEST2_F(MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest, givenImplicitScalingWhenUsingImmediateCommandListWithoutFlushTaskThenUseSecondaryBuffer, IsAtLeastXeHpCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
@@ -5693,9 +5693,9 @@ HWTEST2_F(MultiTileImmediateCommandListAppendLaunchKernelXeHpCoreTest, givenImpl
|
||||
ptrOffset(cmdStream->getCpuBase(), sizeBefore),
|
||||
sizeAfter - sizeBefore));
|
||||
|
||||
auto itorWalker = find<WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker);
|
||||
auto cmdWalker = genCmdCast<WALKER_TYPE *>(*itorWalker);
|
||||
auto cmdWalker = genCmdCast<DefaultWalkerType *>(*itorWalker);
|
||||
EXPECT_TRUE(cmdWalker->getWorkloadPartitionEnable());
|
||||
|
||||
auto itorBbStart = find<MI_BATCH_BUFFER_START *>(cmdList.begin(), cmdList.end());
|
||||
|
||||
@@ -377,7 +377,7 @@ HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigr
|
||||
HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigratedSharedAllocationsSetWhenPrefetchApiIsCalledOnUnifiedDeviceMemoryThenDontCallSetMemPrefetchOnTheAssociatedDevice, IsXeHpcCore) {
|
||||
using GfxFamily = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.UseKmdMigration.set(1);
|
||||
@@ -428,7 +428,7 @@ HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigr
|
||||
HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigratedSharedAllocationsSetWhenPrefetchApiIsCalledOnUnifiedSharedMemoryThenCallSetMemPrefetchOnTheAssociatedDevice, IsXeHpcCore) {
|
||||
using GfxFamily = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.UseKmdMigration.set(1);
|
||||
@@ -481,7 +481,7 @@ HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigr
|
||||
HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigratedSharedAllocationsSetWhenPrefetchApiIsCalledOnUnifiedSharedMemoryThenCallMigrateAllocationsToGpu, IsXeHpcCore) {
|
||||
using GfxFamily = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.UseKmdMigration.set(1);
|
||||
@@ -552,7 +552,7 @@ HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigr
|
||||
|
||||
HWTEST2_F(CommandListStatePrefetchXeHpcCore, givenAppendMemoryPrefetchForKmdMigratedSharedAllocationsSetWhenPrefetchApiIsCalledForUnifiedSharedMemoryOnCmdListCopyOnlyThenCallMigrateAllocationsToGpu, IsXeHpcCore) {
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.UseKmdMigration.set(1);
|
||||
@@ -727,7 +727,7 @@ HWTEST2_F(CommandListAppendRangesBarrierXeHpcCore, givenCallToAppendRangesBarrie
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
givenHwSupportsSystemFenceWhenKernelNotUsingSystemMemoryAllocationsAndEventNotHostSignalScopeThenExpectsNoSystemFenceUsed, IsXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -784,10 +784,10 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
|
||||
@@ -797,7 +797,7 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
givenHwSupportsSystemFenceWhenKernelUsingUsmHostMemoryAllocationsAndEventNotHostSignalScopeThenExpectsNoSystemFenceUsed, IsXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -852,10 +852,10 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
|
||||
@@ -865,7 +865,7 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
givenHwSupportsSystemFenceWhenMigrationOnComputeKernelUsingUsmSharedCpuMemoryAllocationsAndEventNotHostSignalScopeThenExpectsNoSystemFenceUsed, IsXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -908,10 +908,10 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
|
||||
@@ -921,7 +921,7 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
givenHwSupportsSystemFenceWhenKernelUsingIndirectSystemMemoryAllocationsAndEventNotHostSignalScopeThenExpectsNoSystemFenceUsed, IsXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -980,10 +980,10 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
|
||||
@@ -993,7 +993,7 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
givenHwSupportsSystemFenceWhenKernelUsingDeviceMemoryAllocationsAndEventHostSignalScopeThenExpectsSystemFenceUsed, IsXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -1050,10 +1050,10 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
|
||||
@@ -1063,7 +1063,7 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
givenHwSupportsSystemFenceWhenKernelUsingUsmHostMemoryAllocationsAndEventHostSignalScopeThenExpectsSystemFenceUsed, IsXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -1118,10 +1118,10 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpcCore,
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_TRUE(postSyncData.getSystemMemoryFenceRequest());
|
||||
|
||||
@@ -1219,7 +1219,7 @@ struct CommandListAppendLaunchMultiKernelEventFixture : public LocalMemoryModule
|
||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||
void testHostSignalScopeDeviceMemoryAppendMultiKernelCopy(AppendKernelXeHpcTestInput &input) {
|
||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -1266,10 +1266,10 @@ struct CommandListAppendLaunchMultiKernelEventFixture : public LocalMemoryModule
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itorWalkers = findAll<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itorWalkers = findAll<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
EXPECT_NE(0u, itorWalkers.size());
|
||||
for (const auto &it : itorWalkers) {
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*it);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*it);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
@@ -1281,7 +1281,7 @@ struct CommandListAppendLaunchMultiKernelEventFixture : public LocalMemoryModule
|
||||
template <GFXCORE_FAMILY gfxCoreFamily>
|
||||
void testHostSignalScopeHostMemoryAppendMultiKernelCopy(AppendKernelXeHpcTestInput &input) {
|
||||
using FamilyType = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
ze_result_t result = ZE_RESULT_SUCCESS;
|
||||
|
||||
@@ -1326,10 +1326,10 @@ struct CommandListAppendLaunchMultiKernelEventFixture : public LocalMemoryModule
|
||||
commandList->commandContainer.getCommandStream()->getCpuBase(),
|
||||
commandList->commandContainer.getCommandStream()->getUsed()));
|
||||
|
||||
auto itorWalkers = findAll<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itorWalkers = findAll<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
EXPECT_NE(0u, itorWalkers.size());
|
||||
for (const auto &it : itorWalkers) {
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*it);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*it);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_TRUE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
@@ -408,7 +408,7 @@ using CommandListAppendLaunchKernelXeHpgCore = Test<ModuleFixture>;
|
||||
HWTEST2_F(CommandListAppendLaunchKernelXeHpgCore, givenEventWhenAppendKernelIsCalledThenImmediateDataPostSyncIsAdded, IsXeHpgCore) {
|
||||
using GfxFamily = typename NEO::GfxFamilyMapper<gfxCoreFamily>::GfxFamily;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using POST_SYNC_OPERATION = typename PIPE_CONTROL::POST_SYNC_OPERATION;
|
||||
|
||||
@@ -454,9 +454,9 @@ HWTEST2_F(CommandListAppendLaunchKernelXeHpgCore, givenEventWhenAppendKernelIsCa
|
||||
|
||||
auto gpuAddress = event->getGpuAddress(device);
|
||||
|
||||
auto itorWalker = find<WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto itorWalker = find<DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker);
|
||||
auto cmdWalker = genCmdCast<WALKER_TYPE *>(*itorWalker);
|
||||
auto cmdWalker = genCmdCast<DefaultWalkerType *>(*itorWalker);
|
||||
auto &postSync = cmdWalker->getPostSync();
|
||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_IMMEDIATE_DATA, postSync.getOperation());
|
||||
EXPECT_EQ(gpuAddress, postSync.getDestinationAddress());
|
||||
|
||||
@@ -25,7 +25,7 @@ using MI_STORE_REG_MEM = typename GfxFamily::MI_STORE_REGISTER_MEM_CMD;
|
||||
|
||||
template <typename GfxFamily>
|
||||
class GpgpuWalkerHelper {
|
||||
using WALKER_TYPE = typename GfxFamily::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename GfxFamily::DefaultWalkerType;
|
||||
|
||||
public:
|
||||
static void applyWADisableLSQCROPERFforOCL(LinearStream *pCommandStream,
|
||||
|
||||
@@ -247,7 +247,7 @@ size_t EnqueueOperation<GfxFamily>::getSizeRequiredCS(uint32_t cmdType, bool res
|
||||
if (isCommandWithoutKernel(cmdType)) {
|
||||
return EnqueueOperation<GfxFamily>::getSizeRequiredCSNonKernel(reserveProfilingCmdsSpace, reservePerfCounters, commandQueue);
|
||||
} else {
|
||||
return EnqueueOperation<GfxFamily>::getSizeRequiredCSKernel<typename GfxFamily::WALKER_TYPE>(reserveProfilingCmdsSpace, reservePerfCounters, commandQueue, pKernel, dispatchInfo);
|
||||
return EnqueueOperation<GfxFamily>::getSizeRequiredCSKernel<typename GfxFamily::DefaultWalkerType>(reserveProfilingCmdsSpace, reservePerfCounters, commandQueue, pKernel, dispatchInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,11 +45,11 @@ inline size_t GpgpuWalkerHelper<GfxFamily>::setGpgpuWalkerThreadData(
|
||||
if (!executionMask)
|
||||
executionMask = ~executionMask;
|
||||
|
||||
using SIMD_SIZE = typename WALKER_TYPE::SIMD_SIZE;
|
||||
using SIMD_SIZE = typename DefaultWalkerType::SIMD_SIZE;
|
||||
|
||||
walkerCmd->setRightExecutionMask(static_cast<uint32_t>(executionMask));
|
||||
walkerCmd->setBottomExecutionMask(static_cast<uint32_t>(0xffffffff));
|
||||
walkerCmd->setSimdSize(getSimdConfig<WALKER_TYPE>(simd));
|
||||
walkerCmd->setSimdSize(getSimdConfig<DefaultWalkerType>(simd));
|
||||
|
||||
walkerCmd->setThreadGroupIdStartingX(static_cast<uint32_t>(startWorkGroups[0]));
|
||||
walkerCmd->setThreadGroupIdStartingY(static_cast<uint32_t>(startWorkGroups[1]));
|
||||
|
||||
@@ -53,7 +53,7 @@ template <typename GfxFamily>
|
||||
class HardwareInterface {
|
||||
public:
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename GfxFamily::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename GfxFamily::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename GfxFamily::DefaultWalkerType;
|
||||
|
||||
template <typename WalkerType>
|
||||
static void dispatchWalker(
|
||||
|
||||
@@ -32,7 +32,7 @@ inline WalkerType *HardwareInterface<GfxFamily>::allocateWalkerSpace(LinearStrea
|
||||
template <typename GfxFamily>
|
||||
inline void HardwareInterface<GfxFamily>::dispatchWalkerCommon(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs) {
|
||||
|
||||
dispatchWalker<typename GfxFamily::WALKER_TYPE>(commandQueue, multiDispatchInfo, csrDependencies, walkerArgs);
|
||||
dispatchWalker<typename GfxFamily::DefaultWalkerType>(commandQueue, multiDispatchInfo, csrDependencies, walkerArgs);
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
@@ -17,14 +17,14 @@ using Family = Gen11Family;
|
||||
|
||||
template class HardwareInterface<Family>;
|
||||
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::WALKER_TYPE>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::WALKER_TYPE>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::WALKER_TYPE>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::WALKER_TYPE *HardwareInterface<Family>::allocateWalkerSpace<Family::WALKER_TYPE>(LinearStream &commandStream, const Kernel &kernel);
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::DefaultWalkerType>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::DefaultWalkerType>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::DefaultWalkerType>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::DefaultWalkerType *HardwareInterface<Family>::allocateWalkerSpace<Family::DefaultWalkerType>(LinearStream &commandStream, const Kernel &kernel);
|
||||
|
||||
template class GpgpuWalkerHelper<Family>;
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::WALKER_TYPE>(LinearStream *cmdStream, Family::WALKER_TYPE *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::DefaultWalkerType>(LinearStream *cmdStream, Family::DefaultWalkerType *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
const size_t numWorkGroups[3], const size_t localWorkSizesIn[3], uint32_t simd, uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, uint32_t requiredWorkGroupOrder);
|
||||
|
||||
template struct EnqueueOperation<Family>;
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace NEO {
|
||||
using FamilyType = Gen11Family;
|
||||
|
||||
template struct HardwareCommandsHelper<FamilyType>;
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
LinearStream &commandStream,
|
||||
IndirectHeap &dsh,
|
||||
IndirectHeap &ioh,
|
||||
@@ -29,21 +29,21 @@ template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType
|
||||
const uint64_t offsetInterfaceDescriptorTable,
|
||||
uint32_t &interfaceDescriptorIndex,
|
||||
PreemptionMode preemptionMode,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor,
|
||||
bool localIdsGenerationByRuntime,
|
||||
uint64_t scratchAddress,
|
||||
const Device &device);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::WALKER_TYPE>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::DefaultWalkerType>(
|
||||
IndirectHeap &indirectHeap,
|
||||
Kernel &kernel,
|
||||
bool inlineDataProgrammingRequired,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
uint32_t &sizeCrossThreadData,
|
||||
uint64_t scratchAddress);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
const IndirectHeap &indirectHeap,
|
||||
uint64_t offsetInterfaceDescriptor,
|
||||
uint64_t kernelStartOffset,
|
||||
@@ -58,11 +58,11 @@ template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<
|
||||
uint32_t bindingTablePrefetchSize,
|
||||
PreemptionMode preemptionMode,
|
||||
const Device &device,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);
|
||||
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::WALKER_TYPE>(
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::DefaultWalkerType>(
|
||||
Kernel &kernel,
|
||||
FamilyType::WALKER_TYPE *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
FamilyType::DefaultWalkerType *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -54,14 +54,14 @@ size_t GpgpuWalkerHelper<Family>::getSizeForWaDisableRccRhwoOptimization(const K
|
||||
|
||||
template class HardwareInterface<Family>;
|
||||
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::WALKER_TYPE>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::WALKER_TYPE>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::WALKER_TYPE>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::WALKER_TYPE *HardwareInterface<Family>::allocateWalkerSpace<Family::WALKER_TYPE>(LinearStream &commandStream, const Kernel &kernel);
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::DefaultWalkerType>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::DefaultWalkerType>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::DefaultWalkerType>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::DefaultWalkerType *HardwareInterface<Family>::allocateWalkerSpace<Family::DefaultWalkerType>(LinearStream &commandStream, const Kernel &kernel);
|
||||
|
||||
template class GpgpuWalkerHelper<Family>;
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::WALKER_TYPE>(LinearStream *cmdStream, Family::WALKER_TYPE *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::DefaultWalkerType>(LinearStream *cmdStream, Family::DefaultWalkerType *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
const size_t numWorkGroups[3], const size_t localWorkSizesIn[3], uint32_t simd, uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, uint32_t requiredWorkGroupOrder);
|
||||
|
||||
template struct EnqueueOperation<Family>;
|
||||
|
||||
@@ -24,7 +24,7 @@ size_t HardwareCommandsHelper<FamilyType>::getSizeRequiredCS() {
|
||||
|
||||
template struct HardwareCommandsHelper<FamilyType>;
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
LinearStream &commandStream,
|
||||
IndirectHeap &dsh,
|
||||
IndirectHeap &ioh,
|
||||
@@ -37,21 +37,21 @@ template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType
|
||||
const uint64_t offsetInterfaceDescriptorTable,
|
||||
uint32_t &interfaceDescriptorIndex,
|
||||
PreemptionMode preemptionMode,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor,
|
||||
bool localIdsGenerationByRuntime,
|
||||
uint64_t scratchAddress,
|
||||
const Device &device);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::WALKER_TYPE>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::DefaultWalkerType>(
|
||||
IndirectHeap &indirectHeap,
|
||||
Kernel &kernel,
|
||||
bool inlineDataProgrammingRequired,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
uint32_t &sizeCrossThreadData,
|
||||
uint64_t scratchAddress);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
const IndirectHeap &indirectHeap,
|
||||
uint64_t offsetInterfaceDescriptor,
|
||||
uint64_t kernelStartOffset,
|
||||
@@ -66,11 +66,11 @@ template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<
|
||||
uint32_t bindingTablePrefetchSize,
|
||||
PreemptionMode preemptionMode,
|
||||
const Device &device,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);
|
||||
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::WALKER_TYPE>(
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::DefaultWalkerType>(
|
||||
Kernel &kernel,
|
||||
FamilyType::WALKER_TYPE *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
FamilyType::DefaultWalkerType *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -58,14 +58,14 @@ size_t GpgpuWalkerHelper<Family>::getSizeForWADisableLSQCROPERFforOCL(const Kern
|
||||
|
||||
template class HardwareInterface<Family>;
|
||||
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::WALKER_TYPE>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::WALKER_TYPE>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::WALKER_TYPE>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::WALKER_TYPE *HardwareInterface<Family>::allocateWalkerSpace<Family::WALKER_TYPE>(LinearStream &commandStream, const Kernel &kernel);
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::DefaultWalkerType>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::DefaultWalkerType>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::DefaultWalkerType>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::DefaultWalkerType *HardwareInterface<Family>::allocateWalkerSpace<Family::DefaultWalkerType>(LinearStream &commandStream, const Kernel &kernel);
|
||||
|
||||
template class GpgpuWalkerHelper<Family>;
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::WALKER_TYPE>(LinearStream *cmdStream, Family::WALKER_TYPE *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::DefaultWalkerType>(LinearStream *cmdStream, Family::DefaultWalkerType *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
const size_t numWorkGroups[3], const size_t localWorkSizesIn[3], uint32_t simd, uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, uint32_t requiredWorkGroupOrder);
|
||||
|
||||
template struct EnqueueOperation<Family>;
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace NEO {
|
||||
using FamilyType = Gen8Family;
|
||||
|
||||
template struct HardwareCommandsHelper<FamilyType>;
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
LinearStream &commandStream,
|
||||
IndirectHeap &dsh,
|
||||
IndirectHeap &ioh,
|
||||
@@ -28,21 +28,21 @@ template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType
|
||||
const uint64_t offsetInterfaceDescriptorTable,
|
||||
uint32_t &interfaceDescriptorIndex,
|
||||
PreemptionMode preemptionMode,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor,
|
||||
bool localIdsGenerationByRuntime,
|
||||
uint64_t scratchAddress,
|
||||
const Device &device);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::WALKER_TYPE>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::DefaultWalkerType>(
|
||||
IndirectHeap &indirectHeap,
|
||||
Kernel &kernel,
|
||||
bool inlineDataProgrammingRequired,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
uint32_t &sizeCrossThreadData,
|
||||
uint64_t scratchAddress);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
const IndirectHeap &indirectHeap,
|
||||
uint64_t offsetInterfaceDescriptor,
|
||||
uint64_t kernelStartOffset,
|
||||
@@ -57,11 +57,11 @@ template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<
|
||||
uint32_t bindingTablePrefetchSize,
|
||||
PreemptionMode preemptionMode,
|
||||
const Device &device,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);
|
||||
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::WALKER_TYPE>(
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::DefaultWalkerType>(
|
||||
Kernel &kernel,
|
||||
FamilyType::WALKER_TYPE *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
FamilyType::DefaultWalkerType *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -58,14 +58,14 @@ size_t GpgpuWalkerHelper<Family>::getSizeForWADisableLSQCROPERFforOCL(const Kern
|
||||
|
||||
template class HardwareInterface<Family>;
|
||||
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::WALKER_TYPE>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::WALKER_TYPE>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::WALKER_TYPE>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::WALKER_TYPE *HardwareInterface<Family>::allocateWalkerSpace<Family::WALKER_TYPE>(LinearStream &commandStream, const Kernel &kernel);
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::DefaultWalkerType>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::DefaultWalkerType>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::DefaultWalkerType>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::DefaultWalkerType *HardwareInterface<Family>::allocateWalkerSpace<Family::DefaultWalkerType>(LinearStream &commandStream, const Kernel &kernel);
|
||||
|
||||
template class GpgpuWalkerHelper<Family>;
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::WALKER_TYPE>(LinearStream *cmdStream, Family::WALKER_TYPE *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::DefaultWalkerType>(LinearStream *cmdStream, Family::DefaultWalkerType *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
const size_t numWorkGroups[3], const size_t localWorkSizesIn[3], uint32_t simd, uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, uint32_t requiredWorkGroupOrder);
|
||||
|
||||
template struct EnqueueOperation<Family>;
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace NEO {
|
||||
using FamilyType = Gen9Family;
|
||||
|
||||
template struct HardwareCommandsHelper<FamilyType>;
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
LinearStream &commandStream,
|
||||
IndirectHeap &dsh,
|
||||
IndirectHeap &ioh,
|
||||
@@ -30,21 +30,21 @@ template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType
|
||||
const uint64_t offsetInterfaceDescriptorTable,
|
||||
uint32_t &interfaceDescriptorIndex,
|
||||
PreemptionMode preemptionMode,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor,
|
||||
bool localIdsGenerationByRuntime,
|
||||
uint64_t scratchAddress,
|
||||
const Device &device);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::WALKER_TYPE>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::DefaultWalkerType>(
|
||||
IndirectHeap &indirectHeap,
|
||||
Kernel &kernel,
|
||||
bool inlineDataProgrammingRequired,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
uint32_t &sizeCrossThreadData,
|
||||
uint64_t scratchAddress);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
const IndirectHeap &indirectHeap,
|
||||
uint64_t offsetInterfaceDescriptor,
|
||||
uint64_t kernelStartOffset,
|
||||
@@ -59,11 +59,11 @@ template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<
|
||||
uint32_t bindingTablePrefetchSize,
|
||||
PreemptionMode preemptionMode,
|
||||
const Device &device,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);
|
||||
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::WALKER_TYPE>(
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::DefaultWalkerType>(
|
||||
Kernel &kernel,
|
||||
FamilyType::WALKER_TYPE *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
FamilyType::DefaultWalkerType *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -23,7 +23,7 @@ struct MultiDispatchInfo;
|
||||
|
||||
template <typename GfxFamily>
|
||||
struct HardwareCommandsHelper : public PerThreadDataHelper {
|
||||
using WALKER_TYPE = typename GfxFamily::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename GfxFamily::DefaultWalkerType;
|
||||
using BINDING_TABLE_STATE = typename GfxFamily::BINDING_TABLE_STATE;
|
||||
using RENDER_SURFACE_STATE = typename GfxFamily::RENDER_SURFACE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename GfxFamily::INTERFACE_DESCRIPTOR_DATA;
|
||||
@@ -123,7 +123,7 @@ struct HardwareCommandsHelper : public PerThreadDataHelper {
|
||||
const MultiDispatchInfo &multiDispatchInfo);
|
||||
|
||||
static void setInterfaceDescriptorOffset(
|
||||
WALKER_TYPE *walkerCmd,
|
||||
DefaultWalkerType *walkerCmd,
|
||||
uint32_t &interfaceDescriptorIndex);
|
||||
|
||||
static bool kernelUsesLocalIds(const Kernel &kernel);
|
||||
|
||||
@@ -50,7 +50,7 @@ template <typename GfxFamily>
|
||||
size_t HardwareCommandsHelper<GfxFamily>::getSizeRequiredIOH(const Kernel &kernel,
|
||||
const size_t localWorkSizes[3]) {
|
||||
auto localWorkSize = Math::computeTotalElementsCount(localWorkSizes);
|
||||
typedef typename GfxFamily::WALKER_TYPE WALKER_TYPE;
|
||||
typedef typename GfxFamily::DefaultWalkerType DefaultWalkerType;
|
||||
const auto &kernelDescriptor = kernel.getDescriptor();
|
||||
const auto &hwInfo = kernel.getHardwareInfo();
|
||||
const auto &gfxCoreHelper = kernel.getGfxCoreHelper();
|
||||
@@ -76,7 +76,7 @@ size_t HardwareCommandsHelper<GfxFamily>::getSizeRequiredIOH(const Kernel &kerne
|
||||
if (pImplicitArgs) {
|
||||
size += ImplicitArgsHelper::getSizeForImplicitArgsPatching(pImplicitArgs, kernelDescriptor, isHwLocalIdGeneration, gfxCoreHelper);
|
||||
}
|
||||
return alignUp(size, WALKER_TYPE::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||
return alignUp(size, DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
@@ -111,7 +111,7 @@ size_t HardwareCommandsHelper<GfxFamily>::sendCrossThreadData(
|
||||
|
||||
template <typename GfxFamily>
|
||||
void HardwareCommandsHelper<GfxFamily>::setInterfaceDescriptorOffset(
|
||||
WALKER_TYPE *walkerCmd,
|
||||
DefaultWalkerType *walkerCmd,
|
||||
uint32_t &interfaceDescriptorIndex) {
|
||||
|
||||
walkerCmd->setInterfaceDescriptorOffset(interfaceDescriptorIndex++);
|
||||
|
||||
@@ -137,7 +137,7 @@ size_t HardwareCommandsHelper<GfxFamily>::sendCrossThreadData(
|
||||
|
||||
template <typename GfxFamily>
|
||||
void HardwareCommandsHelper<GfxFamily>::setInterfaceDescriptorOffset(
|
||||
WALKER_TYPE *walkerCmd,
|
||||
DefaultWalkerType *walkerCmd,
|
||||
uint32_t &interfaceDescriptorIndex) {
|
||||
}
|
||||
|
||||
|
||||
@@ -15,16 +15,16 @@ namespace NEO {
|
||||
using Family = XeHpcCoreFamily;
|
||||
|
||||
template class GpgpuWalkerHelper<Family>;
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::WALKER_TYPE>(LinearStream *cmdStream, Family::WALKER_TYPE *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::DefaultWalkerType>(LinearStream *cmdStream, Family::DefaultWalkerType *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
const size_t numWorkGroups[3], const size_t localWorkSizesIn[3], uint32_t simd, uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, uint32_t requiredWorkGroupOrder);
|
||||
|
||||
template class HardwareInterface<Family>;
|
||||
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::WALKER_TYPE>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::WALKER_TYPE>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::WALKER_TYPE>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::WALKER_TYPE *HardwareInterface<Family>::allocateWalkerSpace<Family::WALKER_TYPE>(LinearStream &commandStream, const Kernel &kernel);
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::DefaultWalkerType>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::DefaultWalkerType>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::DefaultWalkerType>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::DefaultWalkerType *HardwareInterface<Family>::allocateWalkerSpace<Family::DefaultWalkerType>(LinearStream &commandStream, const Kernel &kernel);
|
||||
|
||||
template struct EnqueueOperation<Family>;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace NEO {
|
||||
using FamilyType = XeHpcCoreFamily;
|
||||
|
||||
template struct HardwareCommandsHelper<FamilyType>;
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
LinearStream &commandStream,
|
||||
IndirectHeap &dsh,
|
||||
IndirectHeap &ioh,
|
||||
@@ -29,21 +29,21 @@ template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType
|
||||
const uint64_t offsetInterfaceDescriptorTable,
|
||||
uint32_t &interfaceDescriptorIndex,
|
||||
PreemptionMode preemptionMode,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor,
|
||||
bool localIdsGenerationByRuntime,
|
||||
uint64_t scratchAddress,
|
||||
const Device &device);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::WALKER_TYPE>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::DefaultWalkerType>(
|
||||
IndirectHeap &indirectHeap,
|
||||
Kernel &kernel,
|
||||
bool inlineDataProgrammingRequired,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
uint32_t &sizeCrossThreadData,
|
||||
uint64_t scratchAddress);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
const IndirectHeap &indirectHeap,
|
||||
uint64_t offsetInterfaceDescriptor,
|
||||
uint64_t kernelStartOffset,
|
||||
@@ -58,11 +58,11 @@ template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<
|
||||
uint32_t bindingTablePrefetchSize,
|
||||
PreemptionMode preemptionMode,
|
||||
const Device &device,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);
|
||||
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::WALKER_TYPE>(
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::DefaultWalkerType>(
|
||||
Kernel &kernel,
|
||||
FamilyType::WALKER_TYPE *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
FamilyType::DefaultWalkerType *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -15,16 +15,16 @@ namespace NEO {
|
||||
using Family = XeHpgCoreFamily;
|
||||
|
||||
template class GpgpuWalkerHelper<Family>;
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::WALKER_TYPE>(LinearStream *cmdStream, Family::WALKER_TYPE *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
template void GpgpuWalkerHelper<Family>::setupTimestampPacket<Family::DefaultWalkerType>(LinearStream *cmdStream, Family::DefaultWalkerType *walkerCmd, TagNodeBase *timestampPacketNode, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template size_t GpgpuWalkerHelper<Family>::setGpgpuWalkerThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType *walkerCmd, const KernelDescriptor &kernelDescriptor, const size_t globalOffsets[3], const size_t startWorkGroups[3],
|
||||
const size_t numWorkGroups[3], const size_t localWorkSizesIn[3], uint32_t simd, uint32_t workDim, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, uint32_t requiredWorkGroupOrder);
|
||||
|
||||
template class HardwareInterface<Family>;
|
||||
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::WALKER_TYPE>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::WALKER_TYPE>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::WALKER_TYPE>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::WALKER_TYPE *HardwareInterface<Family>::allocateWalkerSpace<Family::WALKER_TYPE>(LinearStream &commandStream, const Kernel &kernel);
|
||||
template void HardwareInterface<Family>::dispatchWalker<Family::DefaultWalkerType>(CommandQueue &commandQueue, const MultiDispatchInfo &multiDispatchInfo, const CsrDependencies &csrDependencies, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::programWalker<Family::DefaultWalkerType>(LinearStream &commandStream, Kernel &kernel, CommandQueue &commandQueue, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, const DispatchInfo &dispatchInfo, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template void HardwareInterface<Family>::dispatchKernelCommands<Family::DefaultWalkerType>(CommandQueue &commandQueue, const DispatchInfo &dispatchInfo, LinearStream &commandStream, IndirectHeap &dsh, IndirectHeap &ioh, IndirectHeap &ssh, HardwareInterfaceWalkerArgs &walkerArgs);
|
||||
template Family::DefaultWalkerType *HardwareInterface<Family>::allocateWalkerSpace<Family::DefaultWalkerType>(LinearStream &commandStream, const Kernel &kernel);
|
||||
|
||||
template struct EnqueueOperation<Family>;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace NEO {
|
||||
using FamilyType = XeHpgCoreFamily;
|
||||
|
||||
template struct HardwareCommandsHelper<FamilyType>;
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
LinearStream &commandStream,
|
||||
IndirectHeap &dsh,
|
||||
IndirectHeap &ioh,
|
||||
@@ -29,21 +29,21 @@ template size_t HardwareCommandsHelper<FamilyType>::sendIndirectState<FamilyType
|
||||
const uint64_t offsetInterfaceDescriptorTable,
|
||||
uint32_t &interfaceDescriptorIndex,
|
||||
PreemptionMode preemptionMode,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor,
|
||||
bool localIdsGenerationByRuntime,
|
||||
uint64_t scratchAddress,
|
||||
const Device &device);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::WALKER_TYPE>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendCrossThreadData<FamilyType::DefaultWalkerType>(
|
||||
IndirectHeap &indirectHeap,
|
||||
Kernel &kernel,
|
||||
bool inlineDataProgrammingRequired,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
uint32_t &sizeCrossThreadData,
|
||||
uint64_t scratchAddress);
|
||||
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::WALKER_TYPE, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<FamilyType::DefaultWalkerType, FamilyType::INTERFACE_DESCRIPTOR_DATA>(
|
||||
const IndirectHeap &indirectHeap,
|
||||
uint64_t offsetInterfaceDescriptor,
|
||||
uint64_t kernelStartOffset,
|
||||
@@ -58,10 +58,10 @@ template size_t HardwareCommandsHelper<FamilyType>::sendInterfaceDescriptorData<
|
||||
uint32_t bindingTablePrefetchSize,
|
||||
PreemptionMode preemptionMode,
|
||||
const Device &device,
|
||||
FamilyType::WALKER_TYPE *walkerCmd,
|
||||
FamilyType::DefaultWalkerType *walkerCmd,
|
||||
FamilyType::INTERFACE_DESCRIPTOR_DATA *inlineInterfaceDescriptor);
|
||||
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::WALKER_TYPE>(
|
||||
template void HardwareCommandsHelper<FamilyType>::programInlineData<FamilyType::DefaultWalkerType>(
|
||||
Kernel &kernel,
|
||||
FamilyType::WALKER_TYPE *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
FamilyType::DefaultWalkerType *walkerCmd, uint64_t indirectDataAddress, uint64_t scratchAddress);
|
||||
} // namespace NEO
|
||||
|
||||
@@ -132,7 +132,7 @@ struct InlineDataFixture : AubDispatchThreadDataFixture {
|
||||
using XeHPAndLaterAubInlineDataTest = Test<InlineDataFixture>;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubInlineDataTest, givenCrossThreadFitIntoSingleGrfWhenInlineDataAllowedThenCopyAllCrossThreadIntoInline) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||
|
||||
if (!EncodeDispatchKernel<FamilyType>::inlineDataProgrammingRequired(kernels[4]->getKernelInfo().kernelDescriptor)) {
|
||||
@@ -164,7 +164,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubInlineDataTest, givenCrossThreadFitI
|
||||
hwParser.findHardwareCommands<FamilyType>();
|
||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||
|
||||
auto walker = genCmdCast<WALKER_TYPE *>(*hwParser.itorWalker);
|
||||
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||
|
||||
auto localId = kernels[4]->getKernelInfo().kernelDescriptor.kernelAttributes.localId;
|
||||
@@ -186,7 +186,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubInlineDataTest, givenCrossThreadFitI
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubInlineDataTest, givenCrossThreadSizeMoreThanSingleGrfWhenInlineDataAllowedThenCopyGrfCrossThreadToInline) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INLINE_DATA = typename FamilyType::INLINE_DATA;
|
||||
|
||||
if (!EncodeDispatchKernel<FamilyType>::inlineDataProgrammingRequired(kernels[3]->getKernelInfo().kernelDescriptor)) {
|
||||
@@ -220,7 +220,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubInlineDataTest, givenCrossThreadSize
|
||||
hwParser.findHardwareCommands<FamilyType>();
|
||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||
|
||||
auto walker = genCmdCast<WALKER_TYPE *>(*hwParser.itorWalker);
|
||||
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||
EXPECT_EQ(1u, walker->getEmitInlineParameter());
|
||||
|
||||
auto localId = kernels[3]->getKernelInfo().kernelDescriptor.kernelAttributes.localId;
|
||||
@@ -301,7 +301,7 @@ struct HwLocalIdsFixture : AubDispatchThreadDataFixture {
|
||||
using XeHPAndLaterAubHwLocalIdsTest = Test<HwLocalIdsFixture>;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsTest, WhenEnqueueDimensionsArePow2ThenSetEmitLocalIdsAndGenerateLocalIdsFields) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
cl_uint workDim = 1;
|
||||
@@ -328,7 +328,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsTest, WhenEnqueueDimension
|
||||
hwParser.findHardwareCommands<FamilyType>();
|
||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||
|
||||
auto walker = genCmdCast<WALKER_TYPE *>(*hwParser.itorWalker);
|
||||
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||
|
||||
auto localId = kernels[2]->getKernelInfo().kernelDescriptor.kernelAttributes.localId;
|
||||
uint32_t expectedEmitLocal = 0;
|
||||
@@ -358,7 +358,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsTest, WhenEnqueueDimension
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsTest, givenNonPowOf2LocalWorkSizeButCompatibleWorkOrderWhenLocalIdsAreUsedThenDataVerifiesCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
cl_uint workDim = 1;
|
||||
@@ -381,7 +381,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsTest, givenNonPowOf2LocalW
|
||||
hwParser.findHardwareCommands<FamilyType>();
|
||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||
|
||||
auto walker = genCmdCast<WALKER_TYPE *>(*hwParser.itorWalker);
|
||||
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||
|
||||
auto localId = kernels[2]->getKernelInfo().kernelDescriptor.kernelAttributes.localId;
|
||||
uint32_t expectedEmitLocal = 0;
|
||||
@@ -420,7 +420,7 @@ struct HwLocalIdsWithSubGroups : AubDispatchThreadDataFixture {
|
||||
|
||||
using XeHPAndLaterAubHwLocalIdsWithSubgroupsTest = Test<HwLocalIdsWithSubGroups>;
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsWithSubgroupsTest, givenKernelUsingSubgroupsWhenLocalIdsAreGeneratedByHwThenValuesAreCorrect) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
cl_uint workDim = 1;
|
||||
@@ -443,7 +443,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, XeHPAndLaterAubHwLocalIdsWithSubgroupsTest, givenKe
|
||||
hwParser.findHardwareCommands<FamilyType>();
|
||||
EXPECT_NE(hwParser.itorWalker, hwParser.cmdList.end());
|
||||
|
||||
auto walker = genCmdCast<WALKER_TYPE *>(*hwParser.itorWalker);
|
||||
auto walker = genCmdCast<DefaultWalkerType *>(*hwParser.itorWalker);
|
||||
|
||||
auto localId = kernels[9]->getKernelInfo().kernelDescriptor.kernelAttributes.localId;
|
||||
uint32_t expectedEmitLocal = 0;
|
||||
|
||||
@@ -428,15 +428,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, StaticWalkerPartitionFourTilesTests, givenFourTiles
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, StaticWalkerPartitionFourTilesTests, givenPreWalkerSyncWhenStaticWalkerPartitionIsThenAtomicsAreIncrementedCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto taskStream = createTaskStream();
|
||||
auto taskStreamCpu = taskStream->getSpace(0);
|
||||
auto taskStreamGpu = taskStream->getGraphicsAllocation()->getGpuAddress();
|
||||
|
||||
uint32_t totalBytesProgrammed = 0u;
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
walkerCmd.setPartitionType(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X);
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
walkerCmd.setPartitionType(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
|
||||
walkerCmd.getInterfaceDescriptor().setNumberOfThreadsInGpgpuThreadGroup(1u);
|
||||
|
||||
WalkerPartition::WalkerPartitionArgs testArgs = {};
|
||||
@@ -474,15 +474,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, StaticWalkerPartitionFourTilesTests, givenPreWalker
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, StaticWalkerPartitionFourTilesTests, whenNoPreWalkerSyncThenAtomicsAreIncrementedCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto taskStream = createTaskStream();
|
||||
auto taskStreamCpu = taskStream->getSpace(0);
|
||||
auto taskStreamGpu = taskStream->getGraphicsAllocation()->getGpuAddress();
|
||||
|
||||
uint32_t totalBytesProgrammed = 0u;
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
walkerCmd.setPartitionType(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X);
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
walkerCmd.setPartitionType(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
|
||||
walkerCmd.getInterfaceDescriptor().setNumberOfThreadsInGpgpuThreadGroup(1u);
|
||||
|
||||
WalkerPartition::WalkerPartitionArgs testArgs = {};
|
||||
|
||||
@@ -570,7 +570,7 @@ HWTEST_F(AUBSimpleKernelStatelessTest, givenSimpleKernelWhenStatelessPathIsUsedT
|
||||
|
||||
using AUBSimpleArgNonUniformTest = Test<AUBSimpleArgNonUniformFixture>;
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork1DimNonUniformGroupThenExpectTwoWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 1;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 1, 1};
|
||||
@@ -593,7 +593,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork1DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -602,7 +602,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork1DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNonUniformGroupInXDimensionThenExpectTwoWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 2;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 32, 1};
|
||||
@@ -625,7 +625,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -634,7 +634,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNonUniformGroupInYDimensionThenExpectTwoWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 2;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {32, 39, 1};
|
||||
@@ -657,7 +657,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -666,7 +666,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNonUniformGroupInXandYDimensionThenExpectFourWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 2;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 39, 1};
|
||||
@@ -689,7 +689,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(4u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -698,7 +698,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork2DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInXDimensionThenExpectTwoWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 32, 32};
|
||||
@@ -721,7 +721,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -730,7 +730,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInYDimensionThenExpectTwoWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {32, 39, 32};
|
||||
@@ -753,7 +753,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -762,7 +762,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInZDimensionThenExpectTwoWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {32, 32, 39};
|
||||
@@ -785,7 +785,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -794,7 +794,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInXandYDimensionThenExpectFourWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 39, 32};
|
||||
@@ -817,7 +817,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(4u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -826,7 +826,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInXandZDimensionThenExpectFourWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 32, 39};
|
||||
@@ -849,7 +849,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(4u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -858,7 +858,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInYandZDimensionThenExpectFourWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {32, 39, 39};
|
||||
@@ -881,7 +881,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(4u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
@@ -890,7 +890,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
}
|
||||
|
||||
HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNonUniformGroupInXandYandZDimensionThenExpectEightWalkers) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
cl_uint workDim = 3;
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
size_t globalWorkSize[3] = {39, 39, 39};
|
||||
@@ -913,7 +913,7 @@ HWTEST_F(AUBSimpleArgNonUniformTest, givenOpenCL20SupportWhenProvidingWork3DimNo
|
||||
ASSERT_EQ(CL_SUCCESS, retVal);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(*pCmdQ);
|
||||
uint32_t walkerCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkerCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(8u, walkerCount);
|
||||
|
||||
pCmdQ->flush();
|
||||
|
||||
@@ -54,7 +54,7 @@ struct L3ControlSupportedMatcher {
|
||||
HWTEST2_F(RangeBasedFlushTest, givenNoDcFlushInPipeControlWhenL3ControlFlushesCachesThenExpectFlushedCaches, L3ControlSupportedMatcher) {
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
using L3_CONTROL = typename FamilyType::L3_CONTROL;
|
||||
using L3_FLUSH_ADDRESS_RANGE = typename FamilyType::L3_FLUSH_ADDRESS_RANGE;
|
||||
|
||||
@@ -140,7 +140,7 @@ HWTEST2_F(RangeBasedFlushTest, givenNoDcFlushInPipeControlWhenL3ControlFlushesCa
|
||||
|
||||
HWTEST2_F(RangeBasedFlushTest, givenL3ControlWhenPostSyncIsSetThenExpectPostSyncWrite, L3ControlSupportedMatcher) {
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
using L3_CONTROL = typename FamilyType::L3_CONTROL;
|
||||
using L3_FLUSH_ADDRESS_RANGE = typename FamilyType::L3_FLUSH_ADDRESS_RANGE;
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ struct AubWalkerPartitionFixture : public KernelAUBFixture<SimpleKernelFixture>
|
||||
template <typename FamilyType>
|
||||
void validatePartitionProgramming(uint64_t postSyncAddress, int32_t partitionCount) {
|
||||
using MI_LOAD_REGISTER_IMM = typename FamilyType::MI_LOAD_REGISTER_IMM;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t totalWorkgroupCount = 1u;
|
||||
uint32_t totalWorkItemsInWorkgroup = 1u;
|
||||
uint32_t totalWorkItemsCount = 1;
|
||||
@@ -97,10 +97,10 @@ struct AubWalkerPartitionFixture : public KernelAUBFixture<SimpleKernelFixture>
|
||||
|
||||
hwParser.parseCommands<FamilyType>(pCmdQ->getCS(0), 0);
|
||||
|
||||
uint32_t walkersCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkersCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(walkersCount, 1u);
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
WALKER_TYPE *walkerCmd = static_cast<WALKER_TYPE *>(*walkerList.begin());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
DefaultWalkerType *walkerCmd = static_cast<DefaultWalkerType *>(*walkerList.begin());
|
||||
EXPECT_EQ(0u, walkerCmd->getPartitionId());
|
||||
if (partitionCount > 1) {
|
||||
EXPECT_TRUE(walkerCmd->getWorkloadPartitionEnable());
|
||||
@@ -259,8 +259,8 @@ struct AubWalkerPartitionZeroFixture : public AubWalkerPartitionFixture {
|
||||
using AubWalkerPartitionZeroTest = Test<AubWalkerPartitionZeroFixture>;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, AubWalkerPartitionZeroTest, whenPartitionCountSetToZeroThenProvideEqualSingleWalker) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using PARTITION_TYPE = typename FamilyType::WALKER_TYPE::PARTITION_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PARTITION_TYPE = typename FamilyType::DefaultWalkerType::PARTITION_TYPE;
|
||||
|
||||
size_t globalWorkOffset[3] = {0, 0, 0};
|
||||
cl_uint numEventsInWaitList = 0;
|
||||
@@ -286,15 +286,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, AubWalkerPartitionZeroTest, whenPartitionCountSetTo
|
||||
uint32_t cmdPartitionCount = static_cast<uint32_t>(partitionCount);
|
||||
|
||||
hwParser.parseCommands<FamilyType>(pCmdQ->getCS(0), 0);
|
||||
uint32_t walkersCount = hwParser.getCommandCount<WALKER_TYPE>();
|
||||
uint32_t walkersCount = hwParser.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(cmdPartitionCount + 1, walkersCount);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(walkersCount, static_cast<uint32_t>(walkerList.size()));
|
||||
|
||||
uint32_t i = 0;
|
||||
for (GenCmdList::iterator walker = walkerList.begin(); walker != walkerList.end(); ++walker, ++i) {
|
||||
WALKER_TYPE *walkerCmd = static_cast<WALKER_TYPE *>(*walker);
|
||||
DefaultWalkerType *walkerCmd = static_cast<DefaultWalkerType *>(*walker);
|
||||
EXPECT_EQ(cmdPartitionCount, walkerCmd->getPartitionId());
|
||||
EXPECT_EQ(cmdPartitionType, walkerCmd->getPartitionType());
|
||||
EXPECT_EQ(cmdPartitionCount, walkerCmd->getPartitionSize());
|
||||
@@ -975,14 +975,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, AubWalkerPartitionZeroTest, givenNonBlockingAtomicO
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, AubWalkerPartitionZeroTest, givenPredicatedCommandBufferWhenItIsExecutedThenAtomicIsIncrementedEquallyToPartitionCountPlusOne) {
|
||||
MockExecutionEnvironment mockExecutionEnvironment{};
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto streamCpuPointer = taskStream->getSpace(0);
|
||||
auto postSyncAddress = helperSurface->getGpuAddress();
|
||||
|
||||
uint32_t totalBytesProgrammed = 0u;
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
walkerCmd.setPartitionType(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X);
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
walkerCmd.setPartitionType(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X);
|
||||
walkerCmd.getInterfaceDescriptor().setNumberOfThreadsInGpgpuThreadGroup(1u);
|
||||
walkerCmd.getPostSync().setDestinationAddress(postSyncAddress);
|
||||
walkerCmd.getPostSync().setOperation(POSTSYNC_DATA<FamilyType>::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
|
||||
@@ -40,7 +40,7 @@ using BlitAuxTranslationTests = BlitEnqueueTests<1>;
|
||||
HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWhenConstructingCommandBufferThenEnsureCorrectOrder) {
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||
using MI_FLUSH_DW = typename FamilyType::MI_FLUSH_DW;
|
||||
|
||||
@@ -68,8 +68,8 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWhenConstruct
|
||||
auto cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(cmdListQueue.begin(), cmdListQueue.end());
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
// Walker
|
||||
cmdFound = expectCommand<WALKER_TYPE>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<WALKER_TYPE>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(++cmdFound, cmdListQueue.end());
|
||||
// NonAux to Aux
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
@@ -125,7 +125,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenGpuHangOnFlushBcsAndBlitAuxTran
|
||||
HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWhenConstructingBlockedCommandBufferThenEnsureCorrectOrder) {
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||
using MI_FLUSH_DW = typename FamilyType::MI_FLUSH_DW;
|
||||
|
||||
@@ -158,8 +158,8 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWhenConstruct
|
||||
auto cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(cmdListQueue.begin(), cmdListQueue.end());
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
// Walker
|
||||
cmdFound = expectCommand<WALKER_TYPE>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<WALKER_TYPE>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(++cmdFound, cmdListQueue.end());
|
||||
// NonAux to Aux
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
@@ -253,7 +253,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||
using MI_FLUSH_DW = typename FamilyType::MI_FLUSH_DW;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto buffer0 = createBuffer(1, true);
|
||||
auto buffer1 = createBuffer(1, true);
|
||||
@@ -298,7 +298,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
verifySemaphore<FamilyType>(cmdFound, auxToNonAuxOutputAddress[1]);
|
||||
|
||||
// Walker
|
||||
cmdFound = expectCommand<WALKER_TYPE>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(++cmdFound, cmdListQueue.end());
|
||||
|
||||
// NonAux to Aux
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
@@ -339,7 +339,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto buffer = createBuffer(1, true);
|
||||
setMockKernelArgs(std::array<Buffer *, 1>{{buffer.get()}});
|
||||
@@ -355,7 +355,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
uint64_t cacheFlushWriteAddress = 0;
|
||||
|
||||
{
|
||||
auto cmdFound = expectCommand<WALKER_TYPE>(cmdListQueue.begin(), cmdListQueue.end());
|
||||
auto cmdFound = expectCommand<DefaultWalkerType>(cmdListQueue.begin(), cmdListQueue.end());
|
||||
cmdFound = expectPipeControl<FamilyType>(++cmdFound, cmdListQueue.end());
|
||||
|
||||
auto pipeControlCmd = genCmdCast<PIPE_CONTROL *>(*cmdFound);
|
||||
@@ -412,7 +412,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
}
|
||||
|
||||
HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenOutEventWhenDispatchingThenAssignNonAuxNodes) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
|
||||
auto buffer0 = createBuffer(1, true);
|
||||
@@ -429,7 +429,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenOutEventWhenDispatchingThenAssi
|
||||
|
||||
auto cmdListQueue = getCmdList<FamilyType>(commandQueue->getCS(0), 0);
|
||||
|
||||
auto cmdFound = expectCommand<WALKER_TYPE>(cmdListQueue.begin(), cmdListQueue.end());
|
||||
auto cmdFound = expectCommand<DefaultWalkerType>(cmdListQueue.begin(), cmdListQueue.end());
|
||||
|
||||
// NonAux to Aux
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
@@ -446,7 +446,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenOutEventWhenDispatchingThenAssi
|
||||
}
|
||||
|
||||
HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWhenDispatchingThenEstimateCmdBufferSize) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
|
||||
auto mockCmdQ = static_cast<MockCommandQueueHw<FamilyType> *>(commandQueue.get());
|
||||
@@ -484,7 +484,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWhenDispatchi
|
||||
}
|
||||
|
||||
HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitAuxTranslationWithRequiredCacheFlushWhenDispatchingThenEstimateCmdBufferSize) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
|
||||
auto mockCmdQ = static_cast<MockCommandQueueHw<FamilyType> *>(commandQueue.get());
|
||||
@@ -619,7 +619,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||
using MI_FLUSH_DW = typename FamilyType::MI_FLUSH_DW;
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto buffer0 = createBuffer(1, true);
|
||||
auto buffer1 = createBuffer(1, true);
|
||||
@@ -668,7 +668,7 @@ HWTEST_TEMPLATED_F(BlitAuxTranslationTests, givenBlitTranslationWhenConstructing
|
||||
verifySemaphore<FamilyType>(cmdFound, auxToNonAuxOutputAddress[1]);
|
||||
|
||||
// Walker
|
||||
cmdFound = expectCommand<WALKER_TYPE>(++cmdFound, cmdListQueue.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(++cmdFound, cmdListQueue.end());
|
||||
|
||||
// NonAux to Aux
|
||||
cmdFound = expectCommand<MI_SEMAPHORE_WAIT>(++cmdFound, cmdListQueue.end());
|
||||
@@ -846,7 +846,7 @@ using BlitEnqueueWithNoTimestampPacketTests = BlitEnqueueTests<0>;
|
||||
HWTEST_TEMPLATED_F(BlitEnqueueWithNoTimestampPacketTests, givenNoTimestampPacketsWritewhenEnqueueingBlitOperationThenEnginesAreSynchronized) {
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using MI_FLUSH_DW = typename FamilyType::MI_FLUSH_DW;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
const size_t bufferSize = 1u;
|
||||
auto buffer = createBuffer(bufferSize, false);
|
||||
@@ -867,7 +867,7 @@ HWTEST_TEMPLATED_F(BlitEnqueueWithNoTimestampPacketTests, givenNoTimestampPacket
|
||||
|
||||
cmdFound = expectMiFlush<MI_FLUSH_DW>(cmdFound++, bcsCommands.end());
|
||||
|
||||
cmdFound = expectCommand<WALKER_TYPE>(ccsCommands.begin(), ccsCommands.end());
|
||||
cmdFound = expectCommand<DefaultWalkerType>(ccsCommands.begin(), ccsCommands.end());
|
||||
|
||||
expectNoCommand<MI_SEMAPHORE_WAIT>(cmdFound++, ccsCommands.end());
|
||||
}
|
||||
|
||||
@@ -1171,7 +1171,7 @@ HWTEST_F(OoqCommandQueueHwBlitTest, givenBlitBeforeBarrierWhenEnqueueingCommandT
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using XY_COPY_BLT = typename FamilyType::XY_COPY_BLT;
|
||||
using COMPUTE_WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using COMPUTE_WALKER = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
if (pCmdQ->getTimestampPacketContainer() == nullptr) {
|
||||
GTEST_SKIP();
|
||||
|
||||
@@ -123,8 +123,8 @@ HWTEST_F(DispatchWalkerTest, givenSimd1WhenSetGpgpuWalkerThreadDataThenSimdInWal
|
||||
MockGraphicsAllocation gfxAllocation(static_cast<void *>(pCmdBuffer), sizeof(pCmdBuffer));
|
||||
LinearStream linearStream(&gfxAllocation);
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE *computeWalker = static_cast<WALKER_TYPE *>(linearStream.getSpace(sizeof(WALKER_TYPE)));
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType *computeWalker = static_cast<DefaultWalkerType *>(linearStream.getSpace(sizeof(DefaultWalkerType)));
|
||||
*computeWalker = FamilyType::cmdInitGpgpuWalker;
|
||||
|
||||
size_t globalOffsets[] = {0, 0, 0};
|
||||
@@ -146,7 +146,7 @@ HWTEST_F(DispatchWalkerTest, WhenDispatchingWalkerThenCommandStreamMemoryIsntCha
|
||||
auto &commandStream = pCmdQ->getCS(4096);
|
||||
|
||||
// Consume all memory except what is needed for this enqueue
|
||||
auto sizeDispatchWalkerNeeds = sizeof(typename FamilyType::WALKER_TYPE) +
|
||||
auto sizeDispatchWalkerNeeds = sizeof(typename FamilyType::DefaultWalkerType) +
|
||||
HardwareCommandsHelper<FamilyType>::getSizeRequiredCS();
|
||||
|
||||
// cs has a minimum required size
|
||||
@@ -169,7 +169,7 @@ HWTEST_F(DispatchWalkerTest, WhenDispatchingWalkerThenCommandStreamMemoryIsntCha
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -190,7 +190,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalIdsWhenDispatchingWalkerThenWalkerIsDis
|
||||
auto &commandStream = pCmdQ->getCS(4096);
|
||||
|
||||
// Consume all memory except what is needed for this enqueue
|
||||
auto sizeDispatchWalkerNeeds = sizeof(typename FamilyType::WALKER_TYPE) +
|
||||
auto sizeDispatchWalkerNeeds = sizeof(typename FamilyType::DefaultWalkerType) +
|
||||
HardwareCommandsHelper<FamilyType>::getSizeRequiredCS();
|
||||
|
||||
// cs has a minimum required size
|
||||
@@ -212,7 +212,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalIdsWhenDispatchingWalkerThenWalkerIsDis
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -239,7 +239,7 @@ HWTEST_F(DispatchWalkerTest, GivenDefaultLwsAlgorithmWhenDispatchingWalkerThenDi
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -267,7 +267,7 @@ HWTEST_F(DispatchWalkerTest, GivenSquaredLwsAlgorithmWhenDispatchingWalkerThenDi
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -293,7 +293,7 @@ HWTEST_F(DispatchWalkerTest, GivenNdLwsAlgorithmWhenDispatchingWalkerThenDimensi
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -320,7 +320,7 @@ HWTEST_F(DispatchWalkerTest, GivenOldLwsAlgorithmWhenDispatchingWalkerThenDimens
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -347,7 +347,7 @@ HWTEST_F(DispatchWalkerTest, GivenNumWorkGroupsWhenDispatchingWalkerThenNumWorkG
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -377,7 +377,7 @@ HWTEST_F(DispatchWalkerTest, GivenGlobalWorkOffsetWhenDispatchingWalkerThenGloba
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -407,7 +407,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalWorkSizeAndDefaultAlgorithmWhenDispatch
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -437,7 +437,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalWorkSizeAndNdOnWhenDispatchingWalkerThe
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -468,7 +468,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalWorkSizeAndSquaredAlgorithmWhenDispatch
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -499,7 +499,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalWorkSizeAndSquaredAlgorithmOffAndNdOffW
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -528,7 +528,7 @@ HWTEST_F(DispatchWalkerTest, GivenNoLocalWorkSizeWhenDispatchingWalkerThenLwsIsC
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -560,7 +560,7 @@ HWTEST_F(DispatchWalkerTest, GivenTwoSetsOfLwsOffsetsWhenDispatchingWalkerThenLw
|
||||
MultiDispatchInfo multiDispatchInfo;
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -598,7 +598,7 @@ HWTEST_F(DispatchWalkerTest, GivenSplitKernelWhenDispatchingWalkerThenLwsIsCorre
|
||||
|
||||
MockMultiDispatchInfo multiDispatchInfo(std::vector<DispatchInfo *>({&di1, &di2}));
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -650,7 +650,7 @@ HWTEST_F(DispatchWalkerTest, GivenSplitWalkerWhenDispatchingWalkerThenLwsIsCorre
|
||||
multiDispatchInfo.push(di2);
|
||||
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -703,7 +703,7 @@ HWTEST_F(DispatchWalkerTest, GivenBlockedQueueWhenDispatchingWalkerThenCommandSt
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -735,7 +735,7 @@ HWTEST_F(DispatchWalkerTest, GivenBlockedQueueWhenDispatchingWalkerThenRequiredH
|
||||
multiDispatchInfo.push(dispatchInfo);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -782,7 +782,7 @@ HWTEST_F(DispatchWalkerTest, GivenBlockedQueueWhenDispatchingWalkerThenRequiredH
|
||||
auto blockedCommandsData = createBlockedCommandsData(*pCmdQ);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -805,7 +805,7 @@ HWTEST_F(DispatchWalkerTest, givenBlockedQueueWhenDispatchWalkerIsCalledThenComm
|
||||
auto blockedCommandsData = createBlockedCommandsData(*pCmdQ);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -831,7 +831,7 @@ HWTEST_F(DispatchWalkerTest, givenThereAreAllocationsForReuseWhenDispatchWalkerI
|
||||
auto blockedCommandsData = createBlockedCommandsData(*pCmdQ);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -851,7 +851,7 @@ HWTEST_F(DispatchWalkerTest, GivenMultipleKernelsWhenDispatchingWalkerThenWorkDi
|
||||
|
||||
MockMultiDispatchInfo multiDispatchInfo(pClDevice, std::vector<Kernel *>({&kernel1, &kernel2}));
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -888,7 +888,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, DispatchWalkerTest, GivenMultipleKernelsWhenDispatch
|
||||
auto dshBeforeMultiDisptach = indirectHeap.getUsed();
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -971,7 +971,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, DispatchWalkerTest, GivenMultipleKernelsWhenDispatch
|
||||
// create commandStream
|
||||
auto &cmdStream = pCmdQ->getCS(0);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -1011,7 +1011,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, DispatchWalkerTest, GivenMultipleKernelsWhenDispatch
|
||||
// create commandStream
|
||||
auto &cmdStream = pCmdQ->getCS(0);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -1056,7 +1056,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, DispatchWalkerTest, GivenMultipleDispatchInfoAndSame
|
||||
// create commandStream
|
||||
auto &cmdStream = pCmdQ->getCS(0);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -1129,7 +1129,7 @@ HWTEST_P(DispatchWalkerTestForAuxTranslation, givenKernelWhenAuxToNonAuxWhenTran
|
||||
|
||||
builder.buildDispatchInfosForAuxTranslation<FamilyType>(multiDispatchInfo, builtinOpsParams);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -1178,7 +1178,7 @@ HWTEST_P(DispatchWalkerTestForAuxTranslation, givenKernelWhenNonAuxToAuxWhenTran
|
||||
|
||||
builder.buildDispatchInfosForAuxTranslation<FamilyType>(multiDispatchInfo, builtinOpsParams);
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -1349,7 +1349,7 @@ HWTEST_F(DispatchWalkerTest, WhenKernelRequiresImplicitArgsThenIohRequiresMoreSp
|
||||
multiDispatchInfoWithoutImplicitArgs.push(dispatchInfoWithoutImplicitArgs);
|
||||
HardwareInterfaceWalkerArgs walkerArgsWithoutImplicitArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgsWithoutImplicitArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfoWithoutImplicitArgs,
|
||||
CsrDependencies(),
|
||||
@@ -1364,7 +1364,7 @@ HWTEST_F(DispatchWalkerTest, WhenKernelRequiresImplicitArgsThenIohRequiresMoreSp
|
||||
multiDispatchInfoWithImplicitArgs.push(dispatchInfoWithImplicitArgs);
|
||||
HardwareInterfaceWalkerArgs walkerArgsWithImplicitArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgsWithImplicitArgs.blockedCommandsData = blockedCommandsData.get();
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*pCmdQ,
|
||||
multiDispatchInfoWithImplicitArgs,
|
||||
CsrDependencies(),
|
||||
|
||||
@@ -111,7 +111,7 @@ HWTEST2_F(Dg2AndLaterDispatchWalkerBasicTest, givenTimestampPacketWhenDispatchin
|
||||
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.currentTimestampPacketNodes = ×tampPacketContainer;
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
cmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -72,7 +72,7 @@ struct EnqueueCopyBufferRectTest : public CommandEnqueueFixture,
|
||||
protected:
|
||||
template <typename FamilyType>
|
||||
void enqueueCopyBufferRect2D() {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
typedef typename FamilyType::PIPELINE_SELECT PIPELINE_SELECT;
|
||||
|
||||
size_t srcOrigin[] = {0, 0, 0};
|
||||
@@ -99,7 +99,7 @@ struct EnqueueCopyBufferRectTest : public CommandEnqueueFixture,
|
||||
|
||||
template <typename FamilyType>
|
||||
void enqueueCopyBufferRect3D() {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
typedef typename FamilyType::PIPELINE_SELECT PIPELINE_SELECT;
|
||||
|
||||
size_t srcOrigin[] = {0, 0, 0};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -82,7 +82,7 @@ struct TwoIOQsTwoDependentWalkers : public HelloWorldTest<HelloWorldFixtureFacto
|
||||
delete e1;
|
||||
delete e2;
|
||||
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
itorWalker1 = find<GPGPU_WALKER *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker1);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -98,7 +98,7 @@ struct TwoOOQsTwoDependentWalkers : public HelloWorldTest<OOQFixtureFactory>,
|
||||
delete e1;
|
||||
delete e2;
|
||||
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
itorWalker1 = find<GPGPU_WALKER *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker1);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ struct EnqueueReadBufferRectTest : public CommandEnqueueFixture,
|
||||
protected:
|
||||
template <typename FamilyType>
|
||||
void enqueueReadBufferRect2D(cl_bool blocking = CL_FALSE) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
typedef typename FamilyType::PIPELINE_SELECT PIPELINE_SELECT;
|
||||
|
||||
size_t bufferOrigin[] = {0, 0, 0};
|
||||
|
||||
@@ -1244,7 +1244,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenSvmAllocWithoutFlagsWhenMappingSvmThenM
|
||||
}
|
||||
|
||||
HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenEnqueueMapValidSvmPtrThenExpectSingleWalker) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockCommandQueueHw<FamilyType> queue(context.get(), pClDevice, nullptr);
|
||||
LinearStream &stream = queue.getCS(0x1000);
|
||||
|
||||
@@ -1273,7 +1273,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenEnqueueMapValidSv
|
||||
|
||||
queue.flush();
|
||||
hwParse.parseCommands<FamilyType>(stream);
|
||||
auto walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
auto walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, walkerCount);
|
||||
|
||||
constexpr cl_command_type expectedCmd = CL_COMMAND_SVM_MAP;
|
||||
@@ -1284,7 +1284,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenEnqueueMapValidSv
|
||||
}
|
||||
|
||||
HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenEnqueueMapSvmPtrTwiceThenExpectSingleWalker) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockCommandQueueHw<FamilyType> queue(context.get(), pClDevice, nullptr);
|
||||
LinearStream &stream = queue.getCS(0x1000);
|
||||
|
||||
@@ -1326,7 +1326,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenEnqueueMapSvmPtrT
|
||||
|
||||
queue.flush();
|
||||
hwParse.parseCommands<FamilyType>(stream);
|
||||
auto walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
auto walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, walkerCount);
|
||||
|
||||
constexpr cl_command_type expectedCmd = CL_COMMAND_SVM_MAP;
|
||||
@@ -1372,7 +1372,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryAndBlockingCallAndGpu
|
||||
}
|
||||
|
||||
HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenNoMappedSvmPtrThenExpectNoUnmapCopyKernel) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockCommandQueueHw<FamilyType> queue(context.get(), pClDevice, nullptr);
|
||||
LinearStream &stream = queue.getCS(0x1000);
|
||||
|
||||
@@ -1387,7 +1387,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenNoMappedSvmPtrThe
|
||||
|
||||
queue.flush();
|
||||
hwParse.parseCommands<FamilyType>(stream);
|
||||
auto walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
auto walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(0u, walkerCount);
|
||||
|
||||
constexpr cl_command_type expectedCmd = CL_COMMAND_SVM_UNMAP;
|
||||
@@ -1419,7 +1419,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryAndGpuHangAndBlocking
|
||||
}
|
||||
|
||||
HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionIsReadOnlyThenExpectNoUnmapCopyKernel) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockCommandQueueHw<FamilyType> queue(context.get(), pClDevice, nullptr);
|
||||
LinearStream &stream = queue.getCS(0x1000);
|
||||
|
||||
@@ -1440,7 +1440,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionIs
|
||||
queue.flush();
|
||||
size_t offset = stream.getUsed();
|
||||
hwParse.parseCommands<FamilyType>(stream);
|
||||
auto walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
auto walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, walkerCount);
|
||||
hwParse.tearDown();
|
||||
|
||||
@@ -1456,7 +1456,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionIs
|
||||
|
||||
queue.flush();
|
||||
hwParse.parseCommands<FamilyType>(stream, offset);
|
||||
walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(0u, walkerCount);
|
||||
|
||||
constexpr cl_command_type expectedCmd = CL_COMMAND_SVM_UNMAP;
|
||||
@@ -1550,7 +1550,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenReadOnlyMapWhenUnmappingThenDontResetAu
|
||||
}
|
||||
|
||||
HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionIsWritableThenExpectMapAndUnmapCopyKernel) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockCommandQueueHw<FamilyType> queue(context.get(), pClDevice, nullptr);
|
||||
LinearStream &stream = queue.getCS(0x1000);
|
||||
|
||||
@@ -1581,7 +1581,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionIs
|
||||
|
||||
queue.flush();
|
||||
hwParse.parseCommands<FamilyType>(stream);
|
||||
auto walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
auto walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
|
||||
constexpr cl_command_type expectedMapCmd = CL_COMMAND_SVM_MAP;
|
||||
@@ -1626,7 +1626,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenGpuHangAndBlockingCallAndEnabledLocalMe
|
||||
}
|
||||
|
||||
HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionAndNoEventIsUsedIsWritableThenExpectMapAndUnmapCopyKernelAnNo) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockCommandQueueHw<FamilyType> queue(context.get(), pClDevice, nullptr);
|
||||
LinearStream &stream = queue.getCS(0x1000);
|
||||
|
||||
@@ -1655,7 +1655,7 @@ HWTEST_F(EnqueueSvmTestLocalMemory, givenEnabledLocalMemoryWhenMappedSvmRegionAn
|
||||
|
||||
queue.flush();
|
||||
hwParse.parseCommands<FamilyType>(stream);
|
||||
auto walkerCount = hwParse.getCommandCount<WALKER_TYPE>();
|
||||
auto walkerCount = hwParse.getCommandCount<DefaultWalkerType>();
|
||||
EXPECT_EQ(2u, walkerCount);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ struct EnqueueWriteBufferRectTest : public CommandEnqueueFixture,
|
||||
protected:
|
||||
template <typename FamilyType>
|
||||
void enqueueWriteBufferRect2D(cl_bool blocking = CL_FALSE) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
typedef typename FamilyType::PIPELINE_SELECT PIPELINE_SELECT;
|
||||
|
||||
size_t bufferOrigin[] = {0, 0, 0};
|
||||
|
||||
@@ -62,7 +62,7 @@ struct GetSizeRequiredBufferTest : public CommandEnqueueFixture,
|
||||
};
|
||||
|
||||
HWTEST_F(GetSizeRequiredBufferTest, WhenFillingBufferThenHeapsAndCommandBufferConsumedMinimumRequiredSize) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
auto &commandStream = pCmdQ->getCS(1024);
|
||||
auto usedBeforeCS = commandStream.getUsed();
|
||||
auto &dsh = pCmdQ->getIndirectHeap(IndirectHeap::Type::DYNAMIC_STATE, 0u);
|
||||
@@ -116,7 +116,7 @@ HWTEST_F(GetSizeRequiredBufferTest, WhenFillingBufferThenHeapsAndCommandBufferCo
|
||||
}
|
||||
|
||||
HWTEST_F(GetSizeRequiredBufferTest, WhenCopyingBufferThenHeapsAndCommandBufferConsumedMinimumRequiredSize) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
auto &commandStream = pCmdQ->getCS(1024);
|
||||
auto usedBeforeCS = commandStream.getUsed();
|
||||
auto &dsh = pCmdQ->getIndirectHeap(IndirectHeap::Type::DYNAMIC_STATE, 0u);
|
||||
@@ -169,7 +169,7 @@ HWTEST_F(GetSizeRequiredBufferTest, WhenCopyingBufferThenHeapsAndCommandBufferCo
|
||||
}
|
||||
|
||||
HWTEST_F(GetSizeRequiredBufferTest, WhenReadingBufferNonBlockingThenHeapsAndCommandBufferConsumedMinimumRequiredSize) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
auto &commandStream = pCmdQ->getCS(1024);
|
||||
auto usedBeforeCS = commandStream.getUsed();
|
||||
auto &dsh = pCmdQ->getIndirectHeap(IndirectHeap::Type::DYNAMIC_STATE, 0u);
|
||||
@@ -223,7 +223,7 @@ HWTEST_F(GetSizeRequiredBufferTest, WhenReadingBufferNonBlockingThenHeapsAndComm
|
||||
}
|
||||
|
||||
HWTEST_F(GetSizeRequiredBufferTest, WhenReadingBufferBlockingThenThenHeapsAndCommandBufferConsumedMinimumRequiredSize) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
auto &commandStream = pCmdQ->getCS(1024);
|
||||
auto usedBeforeCS = commandStream.getUsed();
|
||||
auto &dsh = pCmdQ->getIndirectHeap(IndirectHeap::Type::DYNAMIC_STATE, 0u);
|
||||
@@ -278,7 +278,7 @@ HWTEST_F(GetSizeRequiredBufferTest, WhenReadingBufferBlockingThenThenHeapsAndCom
|
||||
}
|
||||
|
||||
HWTEST_F(GetSizeRequiredBufferTest, WhenWritingBufferNonBlockingThenHeapsAndCommandBufferConsumedMinimumRequiredSize) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
auto &commandStream = pCmdQ->getCS(1024);
|
||||
auto usedBeforeCS = commandStream.getUsed();
|
||||
auto &dsh = pCmdQ->getIndirectHeap(IndirectHeap::Type::DYNAMIC_STATE, 0u);
|
||||
@@ -514,7 +514,7 @@ HWTEST_F(GetSizeRequiredBufferTest, GivenHelloWorldKernelWhenEnqueingKernelThenH
|
||||
}
|
||||
|
||||
HWTEST_F(GetSizeRequiredBufferTest, GivenKernelWithSimpleArgWhenEnqueingKernelThenHeapsAndCommandBufferConsumedMinimumRequiredSize) {
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
typedef SimpleArgKernelFixture KernelFixture;
|
||||
auto &commandStream = pCmdQ->getCS(1024);
|
||||
auto usedBeforeCS = commandStream.getUsed();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -36,9 +36,9 @@ HWTEST_F(CommandParse, GivenGarbageWhenGeneratingCommandBufferThenLengthIsZero)
|
||||
|
||||
HWTEST_F(CommandParse, WhenGeneratingCommandBufferThenBufferIsCorrect) {
|
||||
typedef typename FamilyType::PARSE PARSE;
|
||||
typedef typename FamilyType::WALKER_TYPE WALKER_TYPE;
|
||||
typedef typename FamilyType::DefaultWalkerType DefaultWalkerType;
|
||||
GenCmdList cmds;
|
||||
WALKER_TYPE buffer = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType buffer = FamilyType::cmdInitGpgpuWalker;
|
||||
|
||||
EXPECT_TRUE(PARSE::parseCommandBuffer(cmds, &buffer, 0));
|
||||
EXPECT_FALSE(PARSE::parseCommandBuffer(cmds, &buffer, 1));
|
||||
|
||||
@@ -408,7 +408,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandStreamReceiverFlushTaskTests,
|
||||
cmdList.clear();
|
||||
parseCommands<FamilyType>(commandStreamTask, 0);
|
||||
|
||||
auto itorWalker = find<typename FamilyType::WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
auto itorWalker = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
|
||||
auto itorCmd = find<PIPE_CONTROL *>(itorWalker, cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorCmd);
|
||||
|
||||
@@ -40,7 +40,7 @@ struct MediaKernelFixture : public HelloWorldFixture<FactoryType>,
|
||||
|
||||
parseCommands<FamilyType>(*pCmdQ);
|
||||
|
||||
itorWalker1 = find<typename FamilyType::WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
itorWalker1 = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker1);
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ struct MediaKernelFixture : public HelloWorldFixture<FactoryType>,
|
||||
|
||||
parseCommands<FamilyType>(*pCmdQ);
|
||||
|
||||
itorWalker1 = find<typename FamilyType::WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
itorWalker1 = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker1);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -43,12 +43,12 @@ struct TwoWalkerTest
|
||||
|
||||
parseCommands<FamilyType>(*pCmdQ);
|
||||
|
||||
itorWalker1 = find<typename FamilyType::WALKER_TYPE *>(cmdList.begin(), cmdList.end());
|
||||
itorWalker1 = find<typename FamilyType::DefaultWalkerType *>(cmdList.begin(), cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker1);
|
||||
|
||||
itorWalker2 = itorWalker1;
|
||||
++itorWalker2;
|
||||
itorWalker2 = find<typename FamilyType::WALKER_TYPE *>(itorWalker2, cmdList.end());
|
||||
itorWalker2 = find<typename FamilyType::DefaultWalkerType *>(itorWalker2, cmdList.end());
|
||||
ASSERT_NE(cmdList.end(), itorWalker2);
|
||||
}
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, WhenMediaStateFlushIsCreatedTh
|
||||
|
||||
HWTEST_F(HardwareCommandsTest, WhenCrossThreadDataIsCreatedThenOnlyRequiredSpaceOnIndirectHeapIsAllocated) {
|
||||
REQUIRE_IMAGES_OR_SKIP(defaultHwInfo);
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
CommandQueueHw<FamilyType> cmdQ(pContext, pClDevice, 0, false);
|
||||
|
||||
std::unique_ptr<Image> srcImage(Image2dHelper<>::create(pContext));
|
||||
@@ -166,7 +166,7 @@ HWTEST_F(HardwareCommandsTest, WhenCrossThreadDataIsCreatedThenOnlyRequiredSpace
|
||||
auto &indirectHeap = cmdQ.getIndirectHeap(IndirectHeap::Type::DYNAMIC_STATE, 8192);
|
||||
auto usedBefore = indirectHeap.getUsed();
|
||||
auto sizeCrossThreadData = kernel->getCrossThreadDataSize();
|
||||
HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*kernel,
|
||||
false,
|
||||
@@ -179,7 +179,7 @@ HWTEST_F(HardwareCommandsTest, WhenCrossThreadDataIsCreatedThenOnlyRequiredSpace
|
||||
|
||||
HWTEST_F(HardwareCommandsTest, givenSendCrossThreadDataWhenWhenAddPatchInfoCommentsForAUBDumpIsNotSetThenAddPatchInfoDataOffsetsAreNotMoved) {
|
||||
CommandQueueHw<FamilyType> cmdQ(pContext, pClDevice, 0, false);
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
MockContext context;
|
||||
|
||||
@@ -193,7 +193,7 @@ HWTEST_F(HardwareCommandsTest, givenSendCrossThreadDataWhenWhenAddPatchInfoComme
|
||||
PatchInfoData patchInfoData = {0xaaaaaaaa, 0, PatchInfoAllocationType::KernelArg, 0xbbbbbbbb, 0, PatchInfoAllocationType::IndirectObjectHeap};
|
||||
kernel->getPatchInfoDataList().push_back(patchInfoData);
|
||||
auto sizeCrossThreadData = kernel->getCrossThreadDataSize();
|
||||
HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*kernel,
|
||||
false,
|
||||
@@ -211,12 +211,12 @@ HWTEST_F(HardwareCommandsTest, givenSendCrossThreadDataWhenWhenAddPatchInfoComme
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenIndirectHeapNotAllocatedFromInternalPoolWhenSendCrossThreadDataIsCalledThenOffsetZeroIsReturned) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto nonInternalAllocation = pDevice->getMemoryManager()->allocateGraphicsMemoryWithProperties(MockAllocationProperties{pDevice->getRootDeviceIndex(), MemoryConstants::pageSize});
|
||||
IndirectHeap indirectHeap(nonInternalAllocation, false);
|
||||
|
||||
auto sizeCrossThreadData = mockKernelWithInternal->mockKernel->getCrossThreadDataSize();
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*mockKernelWithInternal->mockKernel,
|
||||
false,
|
||||
@@ -228,13 +228,13 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenIndirectHeapNotAllocatedF
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenIndirectHeapAllocatedFromInternalPoolWhenSendCrossThreadDataIsCalledThenHeapBaseOffsetIsReturned) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto internalAllocation = pDevice->getMemoryManager()->allocateGraphicsMemoryWithProperties(MockAllocationProperties(pDevice->getRootDeviceIndex(), true, MemoryConstants::pageSize, AllocationType::INTERNAL_HEAP, pDevice->getDeviceBitfield()));
|
||||
IndirectHeap indirectHeap(internalAllocation, true);
|
||||
auto expectedOffset = internalAllocation->getGpuAddressToPatch();
|
||||
|
||||
auto sizeCrossThreadData = mockKernelWithInternal->mockKernel->getCrossThreadDataSize();
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*mockKernelWithInternal->mockKernel,
|
||||
false,
|
||||
@@ -249,7 +249,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenIndirectHeapAllocatedFrom
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenSendCrossThreadDataWhenWhenAddPatchInfoCommentsForAUBDumpIsSetThenAddPatchInfoDataOffsetsAreMoved) {
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
debugManager.flags.AddPatchInfoCommentsForAUBDump.set(true);
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
CommandQueueHw<FamilyType> cmdQ(pContext, pClDevice, 0, false);
|
||||
|
||||
@@ -269,7 +269,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, HardwareCommandsTest, givenSendCrossThreadDataWhenWh
|
||||
kernel->getPatchInfoDataList().push_back(patchInfoData1);
|
||||
kernel->getPatchInfoDataList().push_back(patchInfoData2);
|
||||
auto sizeCrossThreadData = kernel->getCrossThreadDataSize();
|
||||
auto offsetCrossThreadData = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
auto offsetCrossThreadData = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*kernel,
|
||||
false,
|
||||
@@ -1154,8 +1154,8 @@ struct HardwareCommandsImplicitArgsTests : Test<ClDeviceFixture> {
|
||||
implicitArgsProgrammingSize = ImplicitArgsHelper::getSizeForImplicitArgsPatching(pImplicitArgs, kernel.getDescriptor(), false, gfxCoreHelper);
|
||||
|
||||
auto sizeCrossThreadData = kernel.getCrossThreadDataSize();
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
kernel,
|
||||
false,
|
||||
@@ -1292,14 +1292,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsImplicitArgsTests, givenKernelWithI
|
||||
using HardwareCommandsTestXeHpAndLater = HardwareCommandsTest;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsTestXeHpAndLater, givenIndirectHeapNotAllocatedFromInternalPoolWhenSendCrossThreadDataIsCalledThenOffsetZeroIsReturned) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto nonInternalAllocation = pDevice->getMemoryManager()->allocateGraphicsMemoryWithProperties(MockAllocationProperties{pDevice->getRootDeviceIndex(), MemoryConstants::pageSize});
|
||||
IndirectHeap indirectHeap(nonInternalAllocation, false);
|
||||
|
||||
auto expectedOffset = is64bit ? 0u : indirectHeap.getHeapGpuBase();
|
||||
|
||||
auto sizeCrossThreadData = mockKernelWithInternal->mockKernel->getCrossThreadDataSize();
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*mockKernelWithInternal->mockKernel,
|
||||
false,
|
||||
@@ -1311,13 +1311,13 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsTestXeHpAndLater, givenIndirectHeap
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsTestXeHpAndLater, givenIndirectHeapAllocatedFromInternalPoolWhenSendCrossThreadDataIsCalledThenHeapBaseOffsetIsReturned) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto internalAllocation = pDevice->getMemoryManager()->allocateGraphicsMemoryWithProperties(MockAllocationProperties(pDevice->getRootDeviceIndex(), true, MemoryConstants::pageSize, AllocationType::INTERNAL_HEAP, pDevice->getDeviceBitfield()));
|
||||
IndirectHeap indirectHeap(internalAllocation, true);
|
||||
auto expectedOffset = is64bit ? internalAllocation->getGpuAddressToPatch() : 0u;
|
||||
|
||||
auto sizeCrossThreadData = mockKernelWithInternal->mockKernel->getCrossThreadDataSize();
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
auto offset = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*mockKernelWithInternal->mockKernel,
|
||||
false,
|
||||
@@ -1330,7 +1330,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsTestXeHpAndLater, givenIndirectHeap
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsTestXeHpAndLater, givenSendCrossThreadDataWhenWhenAddPatchInfoCommentsForAUBDumpIsSetThenAddPatchInfoDataOffsetsAreMoved) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
debugManager.flags.AddPatchInfoCommentsForAUBDump.set(true);
|
||||
@@ -1353,7 +1353,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, HardwareCommandsTestXeHpAndLater, givenSendCrossThr
|
||||
kernel->getPatchInfoDataList().push_back(patchInfoData1);
|
||||
kernel->getPatchInfoDataList().push_back(patchInfoData2);
|
||||
auto sizeCrossThreadData = kernel->getCrossThreadDataSize();
|
||||
auto offsetCrossThreadData = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<WALKER_TYPE>(
|
||||
auto offsetCrossThreadData = HardwareCommandsHelper<FamilyType>::template sendCrossThreadData<DefaultWalkerType>(
|
||||
indirectHeap,
|
||||
*kernel,
|
||||
false,
|
||||
|
||||
@@ -306,7 +306,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, TimestampPacketTests, givenTimestampPacketDisabledWh
|
||||
device->getUltCommandStreamReceiver<FamilyType>().timestampPacketWriteEnabled = false;
|
||||
HardwareInterfaceWalkerArgs walkerArgs = createHardwareInterfaceWalkerArgs(CL_COMMAND_NDRANGE_KERNEL);
|
||||
walkerArgs.currentTimestampPacketNodes = ×tampPacket;
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::WALKER_TYPE>(
|
||||
HardwareInterface<FamilyType>::template dispatchWalker<typename FamilyType::DefaultWalkerType>(
|
||||
*mockCmdQ,
|
||||
multiDispatchInfo,
|
||||
CsrDependencies(),
|
||||
@@ -375,7 +375,7 @@ HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledWhenEnqueueingThe
|
||||
}
|
||||
|
||||
HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledWhenEnqueueingThenWriteWalkerStamp) {
|
||||
using GPGPU_WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using GPGPU_WALKER = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
|
||||
device->getUltCommandStreamReceiver<FamilyType>().timestampPacketWriteEnabled = true;
|
||||
@@ -1363,7 +1363,7 @@ HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledOnDifferentCSRsFr
|
||||
|
||||
HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledWhenDispatchingThenProgramSemaphoresForWaitlist) {
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto device2 = std::make_unique<MockClDevice>(Device::create<MockDevice>(executionEnvironment, 0u));
|
||||
device->getUltCommandStreamReceiver<FamilyType>().timestampPacketWriteEnabled = true;
|
||||
@@ -1436,7 +1436,7 @@ HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledWhenDispatchingTh
|
||||
|
||||
HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledOnDifferentCSRsFromOneDeviceWhenDispatchingThenProgramSemaphoresForWaitlist) {
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
device->getUltCommandStreamReceiver<FamilyType>().timestampPacketWriteEnabled = true;
|
||||
|
||||
@@ -1513,7 +1513,7 @@ HWTEST_F(TimestampPacketTests, givenTimestampPacketWriteEnabledAndDependenciesRe
|
||||
debugManager.flags.ResolveDependenciesViaPipeControls.set(1);
|
||||
|
||||
using MI_SEMAPHORE_WAIT = typename FamilyType::MI_SEMAPHORE_WAIT;
|
||||
using WALKER = typename FamilyType::WALKER_TYPE;
|
||||
using WALKER = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
device->getUltCommandStreamReceiver<FamilyType>().timestampPacketWriteEnabled = true;
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@ static uint32_t slmSizeInKb[] = {1, 4, 8, 16, 32, 64};
|
||||
HWCMDTEST_P(IGFX_GEN8_CORE, KernelSLMAndBarrierTest, GivenStaticSlmSizeWhenProgrammingSlmThenProgrammingIsCorrect) {
|
||||
ASSERT_NE(nullptr, pClDevice);
|
||||
CommandQueueHw<FamilyType> cmdQ(nullptr, pClDevice, 0, false);
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
// define kernel info
|
||||
kernelInfo.kernelDescriptor.kernelAttributes.barrierCount = 1;
|
||||
kernelInfo.kernelDescriptor.kernelAttributes.slmInlineSize = GetParam() * KB;
|
||||
@@ -74,7 +74,7 @@ HWCMDTEST_P(IGFX_GEN8_CORE, KernelSLMAndBarrierTest, GivenStaticSlmSizeWhenProgr
|
||||
const uint32_t threadGroupCount = 1u;
|
||||
uint64_t interfaceDescriptorOffset = indirectHeap.getUsed();
|
||||
|
||||
size_t offsetInterfaceDescriptorData = HardwareCommandsHelper<FamilyType>::template sendInterfaceDescriptorData<WALKER_TYPE, INTERFACE_DESCRIPTOR_DATA>(
|
||||
size_t offsetInterfaceDescriptorData = HardwareCommandsHelper<FamilyType>::template sendInterfaceDescriptorData<DefaultWalkerType, INTERFACE_DESCRIPTOR_DATA>(
|
||||
indirectHeap,
|
||||
interfaceDescriptorOffset,
|
||||
0,
|
||||
@@ -148,9 +148,9 @@ INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
HWTEST_F(KernelSLMAndBarrierTest, GivenInterfaceDescriptorProgrammedWhenOverrideSlmAllocationSizeIsSetThenSlmSizeIsOverwritten) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
uint32_t expectedSlmSize = 5;
|
||||
DebugManagerStateRestore dbgRestore;
|
||||
debugManager.flags.OverrideSlmAllocationSize.set(expectedSlmSize);
|
||||
@@ -167,7 +167,7 @@ HWTEST_F(KernelSLMAndBarrierTest, GivenInterfaceDescriptorProgrammedWhenOverride
|
||||
uint64_t interfaceDescriptorOffset = indirectHeap.getUsed();
|
||||
INTERFACE_DESCRIPTOR_DATA interfaceDescriptorData;
|
||||
|
||||
HardwareCommandsHelper<FamilyType>::template sendInterfaceDescriptorData<WALKER_TYPE, INTERFACE_DESCRIPTOR_DATA>(
|
||||
HardwareCommandsHelper<FamilyType>::template sendInterfaceDescriptorData<DefaultWalkerType, INTERFACE_DESCRIPTOR_DATA>(
|
||||
indirectHeap,
|
||||
interfaceDescriptorOffset,
|
||||
0,
|
||||
|
||||
@@ -87,7 +87,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingTests, GivenCommandQueueWithProfilingAndFor
|
||||
HWTEST_F(ProfilingTests, GivenCommandQueueWithProfilingAndForWorkloadWithNoKernelWhenGetCSFromCmdQueueThenEnoughSpaceInCS) {
|
||||
typedef typename FamilyType::MI_STORE_REGISTER_MEM MI_STORE_REGISTER_MEM;
|
||||
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
|
||||
uint64_t requiredSize = 2 * sizeof(PIPE_CONTROL) + 4 * sizeof(MI_STORE_REGISTER_MEM);
|
||||
|
||||
@@ -782,7 +782,7 @@ struct ProfilingWithPerfCountersOnCCSTests : ProfilingWithPerfCountersTests {
|
||||
HWTEST_F(ProfilingWithPerfCountersTests, GivenCommandQueueWithProfilingPerfCounterAndForWorkloadWithNoKernelWhenGetCSFromCmdQueueThenEnoughSpaceInCS) {
|
||||
typedef typename FamilyType::MI_STORE_REGISTER_MEM MI_STORE_REGISTER_MEM;
|
||||
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
|
||||
pCmdQ->setPerfCountersEnabled();
|
||||
|
||||
@@ -965,7 +965,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, ProfilingWithPerfCountersTests, GivenCommandQueueBlo
|
||||
|
||||
HWTEST_F(ProfilingWithPerfCountersTests, GivenCommandQueueWithProfilingPerfCountersNoEventWhenWalkerIsDispatchedThenPipeControlWithTimeStampIsNotPresentInCS) {
|
||||
typedef typename FamilyType::PIPE_CONTROL PIPE_CONTROL;
|
||||
typedef typename FamilyType::WALKER_TYPE GPGPU_WALKER;
|
||||
typedef typename FamilyType::DefaultWalkerType GPGPU_WALKER;
|
||||
typedef typename FamilyType::MI_REPORT_PERF_COUNT MI_REPORT_PERF_COUNT;
|
||||
|
||||
pCmdQ->setPerfCountersEnabled();
|
||||
|
||||
@@ -91,7 +91,7 @@ struct EncodeWalkerArgs {
|
||||
|
||||
template <typename GfxFamily>
|
||||
struct EncodeDispatchKernel {
|
||||
using WALKER_TYPE = typename GfxFamily::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename GfxFamily::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename GfxFamily::INTERFACE_DESCRIPTOR_DATA;
|
||||
using BINDING_TABLE_STATE = typename GfxFamily::BINDING_TABLE_STATE;
|
||||
|
||||
|
||||
@@ -539,8 +539,8 @@ void EncodeSurfaceState<Family>::appendParamsForImageFromBuffer(R_SURFACE_STATE
|
||||
|
||||
template <typename Family>
|
||||
inline void EncodeDispatchKernel<Family>::encodeCommon(CommandContainer &container, EncodeDispatchKernelArgs &args) {
|
||||
using WALKER_TYPE = typename Family::WALKER_TYPE;
|
||||
EncodeDispatchKernel<Family>::template encode<WALKER_TYPE>(container, args);
|
||||
using DefaultWalkerType = typename Family::DefaultWalkerType;
|
||||
EncodeDispatchKernel<Family>::template encode<DefaultWalkerType>(container, args);
|
||||
}
|
||||
|
||||
template <typename Family>
|
||||
|
||||
@@ -74,7 +74,7 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
threadDimsVec = {threadDims[0], threadDims[1], threadDims[2]};
|
||||
}
|
||||
|
||||
WALKER_TYPE cmd = Family::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType cmd = Family::cmdInitGpgpuWalker;
|
||||
auto idd = Family::cmdInitInterfaceDescriptorData;
|
||||
{
|
||||
auto alloc = args.dispatchInterface->getIsaAllocation();
|
||||
@@ -186,10 +186,10 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
{
|
||||
auto heapIndirect = container.getIndirectHeap(HeapType::INDIRECT_OBJECT);
|
||||
UNRECOVERABLE_IF(!(heapIndirect));
|
||||
heapIndirect->align(WALKER_TYPE::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||
heapIndirect->align(DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||
void *ptr = nullptr;
|
||||
if (args.isKernelDispatchedFromImmediateCmdList) {
|
||||
ptr = container.getHeapWithRequiredSizeAndAlignment(HeapType::INDIRECT_OBJECT, iohRequiredSize, WALKER_TYPE::INDIRECTDATASTARTADDRESS_ALIGN_SIZE)->getSpace(iohRequiredSize);
|
||||
ptr = container.getHeapWithRequiredSizeAndAlignment(HeapType::INDIRECT_OBJECT, iohRequiredSize, DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE)->getSpace(iohRequiredSize);
|
||||
} else {
|
||||
ptr = container.getHeapSpaceAllowGrow(HeapType::INDIRECT_OBJECT, iohRequiredSize);
|
||||
}
|
||||
@@ -302,7 +302,7 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
|
||||
PreemptionHelper::applyPreemptionWaCmdsBegin<Family>(listCmdBufferStream, *args.device);
|
||||
|
||||
auto buffer = listCmdBufferStream->getSpaceForCmd<WALKER_TYPE>();
|
||||
auto buffer = listCmdBufferStream->getSpaceForCmd<DefaultWalkerType>();
|
||||
*buffer = cmd;
|
||||
|
||||
PreemptionHelper::applyPreemptionWaCmdsEnd<Family>(listCmdBufferStream, *args.device);
|
||||
|
||||
@@ -241,10 +241,10 @@ void EncodeDispatchKernel<Family>::encode(CommandContainer &container, EncodeDis
|
||||
{
|
||||
auto heap = container.getIndirectHeap(HeapType::INDIRECT_OBJECT);
|
||||
UNRECOVERABLE_IF(!heap);
|
||||
heap->align(WALKER_TYPE::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||
heap->align(DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE);
|
||||
void *ptr = nullptr;
|
||||
if (args.isKernelDispatchedFromImmediateCmdList) {
|
||||
ptr = container.getHeapWithRequiredSizeAndAlignment(HeapType::INDIRECT_OBJECT, iohRequiredSize, WALKER_TYPE::INDIRECTDATASTARTADDRESS_ALIGN_SIZE)->getSpace(iohRequiredSize);
|
||||
ptr = container.getHeapWithRequiredSizeAndAlignment(HeapType::INDIRECT_OBJECT, iohRequiredSize, DefaultWalkerType::INDIRECTDATASTARTADDRESS_ALIGN_SIZE)->getSpace(iohRequiredSize);
|
||||
} else {
|
||||
ptr = container.getHeapSpaceAllowGrow(HeapType::INDIRECT_OBJECT, iohRequiredSize);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ struct ImplicitScalingHelper {
|
||||
|
||||
template <typename GfxFamily>
|
||||
struct ImplicitScalingDispatch {
|
||||
using WALKER_TYPE = typename GfxFamily::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename GfxFamily::DefaultWalkerType;
|
||||
|
||||
template <typename WalkerType>
|
||||
static size_t getSize(bool apiSelfCleanup,
|
||||
|
||||
@@ -72,16 +72,16 @@ void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, Sta
|
||||
}
|
||||
|
||||
template struct EncodeDispatchKernel<Family>;
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::WALKER_TYPE>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
|
||||
template void EncodeDispatchKernel<Family>::programBarrierEnable<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, uint32_t value, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::WALKER_TYPE, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::WALKER_TYPE &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::WALKER_TYPE>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
template struct EncodeStates<Family>;
|
||||
template struct EncodeMath<Family>;
|
||||
|
||||
@@ -92,7 +92,7 @@ struct Gen11 {
|
||||
struct Gen11Family : public Gen11 {
|
||||
using PARSE = CmdParse<Gen11Family>;
|
||||
using GfxFamily = Gen11Family;
|
||||
using WALKER_TYPE = GPGPU_WALKER;
|
||||
using DefaultWalkerType = GPGPU_WALKER;
|
||||
using VFE_STATE_TYPE = MEDIA_VFE_STATE;
|
||||
using XY_BLOCK_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
@@ -137,12 +137,12 @@ struct Gen11Family : public Gen11 {
|
||||
return cmdSetBaseFamily == IGFX_GEN8_CORE;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static constexpr size_t getInterfaceDescriptorSize() {
|
||||
return sizeof(INTERFACE_DESCRIPTOR_DATA);
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static WalkerType getInitGpuWalker() {
|
||||
return cmdInitGpgpuWalker;
|
||||
}
|
||||
|
||||
@@ -112,16 +112,16 @@ void EncodeComputeMode<Family>::adjustPipelineSelect(CommandContainer &container
|
||||
}
|
||||
|
||||
template struct EncodeDispatchKernel<Family>;
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::WALKER_TYPE>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
|
||||
template void EncodeDispatchKernel<Family>::programBarrierEnable<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, uint32_t value, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::WALKER_TYPE, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::WALKER_TYPE &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::WALKER_TYPE>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
template struct EncodeStates<Family>;
|
||||
template struct EncodeMath<Family>;
|
||||
|
||||
@@ -91,7 +91,7 @@ struct Gen12Lp {
|
||||
struct Gen12LpFamily : public Gen12Lp {
|
||||
using PARSE = CmdParse<Gen12LpFamily>;
|
||||
using GfxFamily = Gen12LpFamily;
|
||||
using WALKER_TYPE = GPGPU_WALKER;
|
||||
using DefaultWalkerType = GPGPU_WALKER;
|
||||
using VFE_STATE_TYPE = MEDIA_VFE_STATE;
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_BLOCK_COPY_BLT;
|
||||
using XY_COLOR_BLT = typename GfxFamily::XY_FAST_COLOR_BLT;
|
||||
|
||||
@@ -52,16 +52,16 @@ void EncodeStateBaseAddress<Family>::setSbaAddressesForDebugger(NEO::Debugger::S
|
||||
}
|
||||
|
||||
template struct EncodeDispatchKernel<Family>;
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::WALKER_TYPE>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
|
||||
template void EncodeDispatchKernel<Family>::programBarrierEnable<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, uint32_t value, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::WALKER_TYPE, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::WALKER_TYPE &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::WALKER_TYPE>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
template struct EncodeStates<Family>;
|
||||
template struct EncodeMath<Family>;
|
||||
|
||||
@@ -93,7 +93,7 @@ struct Gen8 {
|
||||
struct Gen8Family : public Gen8 {
|
||||
using PARSE = CmdParse<Gen8Family>;
|
||||
using GfxFamily = Gen8Family;
|
||||
using WALKER_TYPE = GPGPU_WALKER;
|
||||
using DefaultWalkerType = GPGPU_WALKER;
|
||||
using VFE_STATE_TYPE = MEDIA_VFE_STATE;
|
||||
using XY_BLOCK_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
@@ -137,12 +137,12 @@ struct Gen8Family : public Gen8 {
|
||||
return cmdSetBaseFamily == IGFX_GEN8_CORE;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static constexpr size_t getInterfaceDescriptorSize() {
|
||||
return sizeof(INTERFACE_DESCRIPTOR_DATA);
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static WalkerType getInitGpuWalker() {
|
||||
return cmdInitGpgpuWalker;
|
||||
}
|
||||
|
||||
@@ -57,16 +57,16 @@ void EncodeComputeMode<Family>::programComputeModeCommand(LinearStream &csr, Sta
|
||||
}
|
||||
|
||||
template struct EncodeDispatchKernel<Family>;
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::WALKER_TYPE>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
|
||||
template void EncodeDispatchKernel<Family>::programBarrierEnable<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, uint32_t value, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::WALKER_TYPE, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::WALKER_TYPE &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::WALKER_TYPE>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
template struct EncodeStates<Family>;
|
||||
template struct EncodeMath<Family>;
|
||||
|
||||
@@ -93,7 +93,7 @@ struct Gen9 {
|
||||
struct Gen9Family : public Gen9 {
|
||||
using PARSE = CmdParse<Gen9Family>;
|
||||
using GfxFamily = Gen9Family;
|
||||
using WALKER_TYPE = GPGPU_WALKER;
|
||||
using DefaultWalkerType = GPGPU_WALKER;
|
||||
using VFE_STATE_TYPE = MEDIA_VFE_STATE;
|
||||
using XY_BLOCK_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_SRC_COPY_BLT;
|
||||
@@ -137,12 +137,12 @@ struct Gen9Family : public Gen9 {
|
||||
return cmdSetBaseFamily == IGFX_GEN8_CORE;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static constexpr size_t getInterfaceDescriptorSize() {
|
||||
return sizeof(INTERFACE_DESCRIPTOR_DATA);
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static WalkerType getInitGpuWalker() {
|
||||
return cmdInitGpgpuWalker;
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
constexpr bool isSimd1(uint32_t simdSize) {
|
||||
return simdSize == 1u;
|
||||
}
|
||||
template <typename WALKER_TYPE>
|
||||
constexpr typename WALKER_TYPE::SIMD_SIZE getSimdConfig(uint32_t simdSize) {
|
||||
return static_cast<typename WALKER_TYPE::SIMD_SIZE>(isSimd1(simdSize) ? (32 >> 4) : (simdSize >> 4));
|
||||
template <typename DefaultWalkerType>
|
||||
constexpr typename DefaultWalkerType::SIMD_SIZE getSimdConfig(uint32_t simdSize) {
|
||||
return static_cast<typename DefaultWalkerType::SIMD_SIZE>(isSimd1(simdSize) ? (32 >> 4) : (simdSize >> 4));
|
||||
}
|
||||
|
||||
@@ -373,15 +373,15 @@ void EncodeDispatchKernel<Family>::adjustBindingTablePrefetch(INTERFACE_DESCRIPT
|
||||
}
|
||||
|
||||
template struct EncodeDispatchKernel<Family>;
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::WALKER_TYPE>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::WALKER_TYPE, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::WALKER_TYPE &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::WALKER_TYPE>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
template struct EncodeStates<Family>;
|
||||
template struct EncodeMath<Family>;
|
||||
|
||||
@@ -81,7 +81,7 @@ struct XeHpcCore {
|
||||
struct XeHpcCoreFamily : public XeHpcCore {
|
||||
using PARSE = CmdParse<XeHpcCoreFamily>;
|
||||
using GfxFamily = XeHpcCoreFamily;
|
||||
using WALKER_TYPE = COMPUTE_WALKER;
|
||||
using DefaultWalkerType = COMPUTE_WALKER;
|
||||
using VFE_STATE_TYPE = CFE_STATE;
|
||||
using XY_BLOCK_COPY_BLT = typename GfxFamily::XY_BLOCK_COPY_BLT;
|
||||
using XY_COPY_BLT = typename GfxFamily::MEM_COPY;
|
||||
@@ -134,12 +134,12 @@ struct XeHpcCoreFamily : public XeHpcCore {
|
||||
return cmdSetBaseFamily == IGFX_XE_HP_CORE;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static WalkerType getInitGpuWalker() {
|
||||
return cmdInitGpgpuWalker;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static constexpr size_t getInterfaceDescriptorSize() {
|
||||
return sizeof(INTERFACE_DESCRIPTOR_DATA);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ bool ImplicitScalingDispatch<Family>::platformSupportsImplicitScaling(const Root
|
||||
}
|
||||
|
||||
template struct ImplicitScalingDispatch<Family>;
|
||||
template void ImplicitScalingDispatch<Family>::dispatchCommands<Family::WALKER_TYPE>(LinearStream &commandStream, Family::WALKER_TYPE &walkerCmd, void **outWalkerPtr, const DeviceBitfield &devices, uint32_t &partitionCount, bool useSecondaryBatchBuffer, bool apiSelfCleanup, bool usesImages, bool dcFlush, bool forceExecutionOnSingleTile, uint64_t workPartitionAllocationGpuVa, const HardwareInfo &hwInfo);
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<Family::WALKER_TYPE>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
template void ImplicitScalingDispatch<Family>::dispatchCommands<Family::DefaultWalkerType>(LinearStream &commandStream, Family::DefaultWalkerType &walkerCmd, void **outWalkerPtr, const DeviceBitfield &devices, uint32_t &partitionCount, bool useSecondaryBatchBuffer, bool apiSelfCleanup, bool usesImages, bool dcFlush, bool forceExecutionOnSingleTile, uint64_t workPartitionAllocationGpuVa, const HardwareInfo &hwInfo);
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<Family::DefaultWalkerType>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -223,15 +223,15 @@ size_t EncodeMiFlushDW<Family>::getWaSize(const EncodeDummyBlitWaArgs &waArgs) {
|
||||
template void flushGpuCache<Family>(LinearStream *commandStream, const Range<L3Range> &ranges, uint64_t postSyncAddress, const HardwareInfo &hwInfo);
|
||||
|
||||
template struct EncodeDispatchKernel<Family>;
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::WALKER_TYPE>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::WALKER_TYPE &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::encodeAdditionalWalkerFields<Family::DefaultWalkerType>(const RootDeviceEnvironment &rootDeviceEnvironment, Family::DefaultWalkerType &walkerCmd, const EncodeWalkerArgs &walkerArgs);
|
||||
template void EncodeDispatchKernel<Family>::adjustTimestampPacket<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const HardwareInfo &hwInfo);
|
||||
template void EncodeDispatchKernel<Family>::setGrfInfo<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, uint32_t numGrf, const size_t &sizeCrossThreadData, const size_t &sizePerThreadData, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::appendAdditionalIDDFields<Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA *pInterfaceDescriptor, const RootDeviceEnvironment &rootDeviceEnvironment, const uint32_t threadsPerThreadGroup, uint32_t slmTotalSize, SlmPolicy slmPolicy);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::WALKER_TYPE, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::WALKER_TYPE &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::WALKER_TYPE>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::WALKER_TYPE>(Family::WALKER_TYPE &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustInterfaceDescriptorData<Family::DefaultWalkerType, Family::INTERFACE_DESCRIPTOR_DATA>(Family::INTERFACE_DESCRIPTOR_DATA &interfaceDescriptor, const Device &device, const HardwareInfo &hwInfo, const uint32_t threadGroupCount, const uint32_t numGrf, Family::DefaultWalkerType &walkerCmd);
|
||||
template void EncodeDispatchKernel<Family>::setupPostSyncMocs<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const RootDeviceEnvironment &rootDeviceEnvironment, bool dcFlush);
|
||||
template void EncodeDispatchKernel<Family>::encode<Family::DefaultWalkerType>(CommandContainer &container, EncodeDispatchKernelArgs &args);
|
||||
template void EncodeDispatchKernel<Family>::encodeThreadData<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, const uint32_t *startWorkGroup, const uint32_t *numWorkGroups, const uint32_t *workGroupSizes, uint32_t simd, uint32_t localIdDimensions, uint32_t threadsPerThreadGroup, uint32_t threadExecutionMask, bool localIdsGenerationByRuntime, bool inlineDataProgrammingRequired, bool isIndirect, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
template void EncodeDispatchKernel<Family>::adjustWalkOrder<Family::DefaultWalkerType>(Family::DefaultWalkerType &walkerCmd, uint32_t requiredWorkGroupOrder, const RootDeviceEnvironment &rootDeviceEnvironment);
|
||||
|
||||
template struct EncodeStates<Family>;
|
||||
template struct EncodeMath<Family>;
|
||||
|
||||
@@ -99,7 +99,7 @@ struct XeHpgCore {
|
||||
struct XeHpgCoreFamily : public XeHpgCore {
|
||||
using PARSE = CmdParse<XeHpgCoreFamily>;
|
||||
using GfxFamily = XeHpgCoreFamily;
|
||||
using WALKER_TYPE = COMPUTE_WALKER;
|
||||
using DefaultWalkerType = COMPUTE_WALKER;
|
||||
using VFE_STATE_TYPE = CFE_STATE;
|
||||
using XY_BLOCK_COPY_BLT = typename GfxFamily::XY_BLOCK_COPY_BLT;
|
||||
using XY_COPY_BLT = typename GfxFamily::XY_BLOCK_COPY_BLT;
|
||||
@@ -150,12 +150,12 @@ struct XeHpgCoreFamily : public XeHpgCore {
|
||||
return cmdSetBaseFamily == IGFX_XE_HP_CORE;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static WalkerType getInitGpuWalker() {
|
||||
return cmdInitGpgpuWalker;
|
||||
}
|
||||
|
||||
template <typename WalkerType = WALKER_TYPE>
|
||||
template <typename WalkerType = DefaultWalkerType>
|
||||
static constexpr size_t getInterfaceDescriptorSize() {
|
||||
return sizeof(INTERFACE_DESCRIPTOR_DATA);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ template <>
|
||||
bool ImplicitScalingDispatch<Family>::pipeControlStallRequired = true;
|
||||
|
||||
template struct ImplicitScalingDispatch<Family>;
|
||||
template void ImplicitScalingDispatch<Family>::dispatchCommands<Family::WALKER_TYPE>(LinearStream &commandStream, Family::WALKER_TYPE &walkerCmd, void **outWalkerPtr, const DeviceBitfield &devices, uint32_t &partitionCount, bool useSecondaryBatchBuffer, bool apiSelfCleanup, bool usesImages, bool dcFlush, bool forceExecutionOnSingleTile, uint64_t workPartitionAllocationGpuVa, const HardwareInfo &hwInfo);
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<Family::WALKER_TYPE>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
template void ImplicitScalingDispatch<Family>::dispatchCommands<Family::DefaultWalkerType>(LinearStream &commandStream, Family::DefaultWalkerType &walkerCmd, void **outWalkerPtr, const DeviceBitfield &devices, uint32_t &partitionCount, bool useSecondaryBatchBuffer, bool apiSelfCleanup, bool usesImages, bool dcFlush, bool forceExecutionOnSingleTile, uint64_t workPartitionAllocationGpuVa, const HardwareInfo &hwInfo);
|
||||
template size_t ImplicitScalingDispatch<Family>::getSize<Family::DefaultWalkerType>(bool apiSelfCleanup, bool preferStaticPartitioning, const DeviceBitfield &devices, const Vec3<size_t> &groupStart, const Vec3<size_t> &groupCount);
|
||||
|
||||
} // namespace NEO
|
||||
|
||||
@@ -194,15 +194,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncoderTests, givenDebugFlagSetWhenProgrammi
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncoderTests, givenPreXeHpPlatformWhenSetupPostSyncMocsThenNothingHappen) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
EXPECT_NO_THROW(EncodeDispatchKernel<FamilyType>::setupPostSyncMocs(walkerCmd, *executionEnvironment.rootDeviceEnvironments[0], false));
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncoderTests, givenAtLeastXeHpPlatformWhenSetupPostSyncMocsThenCorrect) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
@@ -210,7 +210,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncoderTests, givenAtLeastXeHpPlatformWhenSe
|
||||
bool dcFlush = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, rootDeviceEnvironment);
|
||||
|
||||
{
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
EncodeDispatchKernel<FamilyType>::setupPostSyncMocs(walkerCmd, rootDeviceEnvironment, dcFlush);
|
||||
|
||||
auto gmmHelper = rootDeviceEnvironment.getGmmHelper();
|
||||
@@ -222,30 +222,30 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncoderTests, givenAtLeastXeHpPlatformWhenSe
|
||||
DebugManagerStateRestore restorer{};
|
||||
auto expectedMocs = 9u;
|
||||
debugManager.flags.OverridePostSyncMocs.set(expectedMocs);
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
EncodeDispatchKernel<FamilyType>::setupPostSyncMocs(walkerCmd, rootDeviceEnvironment, dcFlush);
|
||||
EXPECT_EQ(expectedMocs, walkerCmd.getPostSync().getMocs());
|
||||
}
|
||||
}
|
||||
|
||||
HWTEST2_F(CommandEncoderTests, givenRequiredWorkGroupOrderWhenCallAdjustWalkOrderThenWalkerIsNotChanged, IsAtMostXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
WALKER_TYPE walkerCmd{};
|
||||
WALKER_TYPE walkerOnStart{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
DefaultWalkerType walkerOnStart{};
|
||||
|
||||
uint32_t yOrder = 2u;
|
||||
EncodeDispatchKernel<FamilyType>::template adjustWalkOrder<WALKER_TYPE>(walkerCmd, yOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(WALKER_TYPE))); // no change
|
||||
EncodeDispatchKernel<FamilyType>::template adjustWalkOrder<DefaultWalkerType>(walkerCmd, yOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(DefaultWalkerType))); // no change
|
||||
|
||||
uint32_t linearOrder = 0u;
|
||||
EncodeDispatchKernel<FamilyType>::template adjustWalkOrder<WALKER_TYPE>(walkerCmd, linearOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(WALKER_TYPE))); // no change
|
||||
EncodeDispatchKernel<FamilyType>::template adjustWalkOrder<DefaultWalkerType>(walkerCmd, linearOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(DefaultWalkerType))); // no change
|
||||
|
||||
uint32_t fakeOrder = 5u;
|
||||
EncodeDispatchKernel<FamilyType>::template adjustWalkOrder<WALKER_TYPE>(walkerCmd, fakeOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(WALKER_TYPE))); // no change
|
||||
EncodeDispatchKernel<FamilyType>::template adjustWalkOrder<DefaultWalkerType>(walkerCmd, fakeOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(DefaultWalkerType))); // no change
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncoderTests, givenDcFlushNotRequiredWhenGettingDcFlushValueThenReturnValueIsFalse) {
|
||||
|
||||
@@ -67,9 +67,9 @@ HWTEST2_F(DG2CommandEncoderTest, givenDG2AndCommandContainerWithDirtyHeapWhenGet
|
||||
|
||||
HWTEST2_F(DG2CommandEncoderTest, givenInterfaceDescriptorDataWhenForceThreadGroupDispatchSizeVariableIsDefaultThenThreadGroupDispatchSizeIsNotChanged, IsDG2) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
INTERFACE_DESCRIPTOR_DATA iddArg;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
iddArg = FamilyType::cmdInitInterfaceDescriptorData;
|
||||
const uint32_t forceThreadGroupDispatchSize = -1;
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
|
||||
@@ -46,7 +46,7 @@ TEST_F(CommandEncodeStatesTest, givenCommandConatinerCreatedWithMaxNumAggregateI
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenDispatchInterfaceWhenDispatchKernelThenWalkerCommandProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
bool requiresUncachedMocs = false;
|
||||
@@ -57,17 +57,17 @@ HWTEST_F(CommandEncodeStatesTest, givenDispatchInterfaceWhenDispatchKernelThenWa
|
||||
dispatchArgs.dynamicStateHeap = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
}
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itorPC = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itorPC = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itorPC, commands.end());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenDebugFlagSetWhenProgrammingWalkerThenSetFlushingBits) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceComputeWalkerPostSyncFlush.set(1);
|
||||
|
||||
@@ -76,22 +76,22 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenDebugFlagSetWhenProgr
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_TRUE(walkerCmd->getPostSync().getDataportPipelineFlush());
|
||||
}
|
||||
|
||||
using CommandEncodeStatesUncachedMocsTests = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUncachedMocsAndDirtyHeapsThenCorrectMocsIsSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceL1Caching.set(0u);
|
||||
|
||||
@@ -101,7 +101,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUnc
|
||||
bool requiresUncachedMocs = true;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands,
|
||||
@@ -119,7 +119,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUnc
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUncachedMocsAndNonDirtyHeapsThenCorrectMocsIsSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceL1Caching.set(0u);
|
||||
|
||||
@@ -129,7 +129,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUnc
|
||||
bool requiresUncachedMocs = true;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands,
|
||||
@@ -147,7 +147,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithUnc
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNonUncachedMocsAndDirtyHeapsThenSbaIsNotProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceL1Caching.set(0u);
|
||||
|
||||
@@ -157,7 +157,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
EXPECT_FALSE(dispatchArgs.requiresUncachedMocs);
|
||||
|
||||
GenCmdList commands;
|
||||
@@ -176,7 +176,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNonUncachedMocsAndNonDirtyHeapsThenSbaIsNotProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceL1Caching.set(0u);
|
||||
|
||||
@@ -186,7 +186,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
EXPECT_FALSE(dispatchArgs.requiresUncachedMocs);
|
||||
|
||||
GenCmdList commands;
|
||||
@@ -200,7 +200,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNonUncachedMocsAndNonDirtyHeapsAndSlmSizeThenSbaIsNotProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceL1Caching.set(0u);
|
||||
|
||||
@@ -214,7 +214,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
EXPECT_FALSE(dispatchArgs.requiresUncachedMocs);
|
||||
|
||||
GenCmdList commands;
|
||||
@@ -228,7 +228,7 @@ HWTEST_F(CommandEncodeStatesUncachedMocsTests, whenEncodingDispatchKernelWithNon
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithUsedAvailableSizeWhenDispatchKernelThenNextCommandBufferIsAdded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
@@ -239,7 +239,7 @@ HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithUsedAvailableSizeWhen
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto cmdBuffersCountAfter = cmdContainer->getCmdBufferAllocations().size();
|
||||
|
||||
@@ -247,7 +247,7 @@ HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWithUsedAvailableSizeWhen
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterThanZeroWhenDispatchingKernelThenSharedMemorySizeSetCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -258,7 +258,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterThan
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
auto &gfxcoreHelper = this->getHelper<GfxCoreHelper>();
|
||||
@@ -269,14 +269,14 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterThan
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, whenDispatchingKernelThenSetDenormMode) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, false);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
|
||||
@@ -284,7 +284,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, whenDispatchingKernelThenSe
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDebuggingEnabledAndAssertInKernelWhenDispatchingKernelThenSwExceptionsAreEnabled) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -295,14 +295,14 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDebuggingEnabledAndAss
|
||||
dispatchInterface->kernelDescriptor.kernelAttributes.flags.usesAssert = true;
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, false);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
EXPECT_TRUE(interfaceDescriptorData->getSoftwareExceptionEnable());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZeroWhenDispatchingKernelThenSharedMemorySizeSetCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -313,7 +313,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZeroW
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
|
||||
@@ -323,7 +323,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZeroW
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenOneBindingTableEntryWhenDispatchingKernelThenBindingTableOffsetIsCorrect) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t numBindingTable = 1;
|
||||
@@ -348,7 +348,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenOneBindingTableEntryWh
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
|
||||
@@ -356,7 +356,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenOneBindingTableEntryWh
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumBindingTableZeroWhenDispatchingKernelThenBindingTableOffsetIsZero) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t numBindingTable = 0;
|
||||
@@ -379,7 +379,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumBindingTableZeroWhen
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
|
||||
@@ -387,7 +387,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumBindingTableZeroWhen
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenDispatchingKernelThensamplerStateWasCopied) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t numSamplers = 1;
|
||||
@@ -411,7 +411,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenDispa
|
||||
dispatchArgs.surfaceStateHeap = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE);
|
||||
dispatchArgs.dynamicStateHeap = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
|
||||
@@ -425,7 +425,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenDispa
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersZeroWhenDispatchingKernelThensamplerStateWasNotCopied) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
uint32_t numSamplers = 0;
|
||||
@@ -447,7 +447,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersZeroWhenDisp
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto interfaceDescriptorData = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
|
||||
@@ -461,7 +461,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersZeroWhenDisp
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsCountsWhenDispatchingKernelThenCorrestMIStoreOffsetsSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_STORE_REGISTER_MEM = typename FamilyType::MI_STORE_REGISTER_MEM;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
uint32_t offsets[] = {0x10, 0x20, 0x30};
|
||||
@@ -474,7 +474,7 @@ HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsCountsWhenDispatchingKerne
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.isIndirect = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -488,7 +488,7 @@ HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsCountsWhenDispatchingKerne
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsSizeWhenDispatchingKernelThenMiMathEncoded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_MATH = typename FamilyType::MI_MATH;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
uint32_t offsets[] = {0x10, 0x20, 0x30};
|
||||
@@ -504,7 +504,7 @@ HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsSizeWhenDispatchingKernelT
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.isIndirect = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -514,7 +514,7 @@ HWTEST_F(CommandEncodeStatesTest, givenIndirectOffsetsSizeWhenDispatchingKernelT
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDebugFlagWhenDispatchingKernelThenValuesAreSetUpCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename FamilyType::MEDIA_INTERFACE_DESCRIPTOR_LOAD;
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
@@ -547,7 +547,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto dsh = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
|
||||
@@ -580,7 +580,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto dsh = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
|
||||
@@ -608,7 +608,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto dsh = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
|
||||
@@ -629,7 +629,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDe
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotChangedWhenDispatchKernelThenFlushNotAdded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -640,7 +640,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -650,7 +650,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotChangedAndUncachedMocsRequestedThenSBAIsProgrammedAndMocsAreSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
@@ -660,7 +660,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha
|
||||
bool requiresUncachedMocs = true;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -676,7 +676,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmNotCha
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsAndSlmNotChangedWhenDispatchKernelThenHeapsAreCleanAndFlushAdded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
@@ -688,7 +688,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsAndSlmNotCha
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -699,7 +699,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsAndSlmNotCha
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsWhenDispatchKernelThenPCIsAddedBeforeSBA) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
|
||||
@@ -713,7 +713,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsWhenDispatch
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.dcFlushEnable = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, pDevice->getRootDeviceEnvironment());
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList cmdList;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(cmdList, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -741,7 +741,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenDirtyHeapsWhenDispatch
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmChangedWhenDispatchKernelThenFlushAdded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -754,7 +754,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmChange
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -765,7 +765,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, givenCleanHeapsAndSlmChange
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenDispatchKernelThenMediaInterfaceDescriptorEncoded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
@@ -780,7 +780,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenD
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -792,7 +792,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenD
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenDispatchKernelAndDynamicStateHeapDirtyThenStateBaseAddressEncodedAndMediaInterfaceDescriptorEncoded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
@@ -811,7 +811,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenD
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -823,7 +823,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeroWhenD
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenHeapIsDirtyThenSamplerStateWasCopiedAndStateBaseAddressEncoded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
@@ -849,7 +849,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenHeapI
|
||||
dshBeforeFlush->getSpace(dshBeforeFlush->getAvailableSpace() - NEO::EncodeDispatchKernel<FamilyType>::getSizeRequiredDsh(kernelDescriptor, cmdContainer->getNumIddPerBlock()));
|
||||
auto cpuBaseBeforeFlush = dshBeforeFlush->getCpuBase();
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -873,7 +873,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneWhenHeapI
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneAndNextIDDInBlockWhenHeapIsDirtyThenSamplerStateWasCopiedAndStateBaseAddressEncoded) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using STATE_BASE_ADDRESS = typename FamilyType::STATE_BASE_ADDRESS;
|
||||
@@ -905,7 +905,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneAndNextID
|
||||
auto cpuBaseBeforeFlush = dshBeforeFlush->getCpuBase();
|
||||
auto usedBefore = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed();
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -929,7 +929,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNumSamplersOneAndNextID
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenPauseOnEnqueueSetToNeverWhenEncodingWalkerThenCommandsToPatchAreNotPresent) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.PauseOnEnqueue.set(-1);
|
||||
|
||||
@@ -940,13 +940,13 @@ HWTEST_F(CommandEncodeStatesTest, givenPauseOnEnqueueSetToNeverWhenEncodingWalke
|
||||
std::list<void *> cmdsToPatch;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.additionalCommands = &cmdsToPatch;
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_EQ(cmdsToPatch.size(), 0u);
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenPauseOnEnqueueSetToAlwaysWhenEncodingWalkerThenCommandsToPatchAreFilled) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.PauseOnEnqueue.set(-2);
|
||||
|
||||
@@ -957,7 +957,7 @@ HWTEST_F(CommandEncodeStatesTest, givenPauseOnEnqueueSetToAlwaysWhenEncodingWalk
|
||||
std::list<void *> cmdsToPatch;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.additionalCommands = &cmdsToPatch;
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_EQ(cmdsToPatch.size(), 4u);
|
||||
}
|
||||
@@ -967,7 +967,7 @@ using EncodeDispatchKernelTest = Test<CommandEncodeStatesFixture>;
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenBindfulKernelWhenDispatchingKernelThenSshFromContainerIsUsed, IsAtLeastSkl) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t numBindingTable = 1;
|
||||
BINDING_TABLE_STATE bindingTableState = FamilyType::cmdInitBindingTableState;
|
||||
|
||||
@@ -989,7 +989,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindfulKernelWhenDispatchingKernelThenS
|
||||
if (EncodeDispatchKernel<FamilyType>::isDshNeeded(pDevice->getDeviceInfo())) {
|
||||
dispatchArgs.dynamicStateHeap = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
}
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto usedAfter = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed();
|
||||
|
||||
@@ -999,7 +999,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindfulKernelWhenDispatchingKernelThenS
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithBindingTableWhenDispatchingKernelThenSshFromContainerIsUsed, IsAtLeastSkl) {
|
||||
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t numBindingTable = 1;
|
||||
alignas(64) uint8_t data[2 * sizeof(RENDER_SURFACE_STATE)];
|
||||
RENDER_SURFACE_STATE state = FamilyType::cmdInitRenderSurfaceState;
|
||||
@@ -1022,7 +1022,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithBindingTableWhenDispa
|
||||
auto usedBefore = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed();
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto usedAfter = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed();
|
||||
|
||||
@@ -1036,7 +1036,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithBindingTableWhenDispa
|
||||
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithRequiringSshForMisalignedBufferAddressWhenDispatchingKernelThenSshFromContainerIsUsed, IsAtLeastSkl) {
|
||||
using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t numBindingTable = 0;
|
||||
alignas(64) uint8_t data[2 * sizeof(RENDER_SURFACE_STATE)];
|
||||
RENDER_SURFACE_STATE state = FamilyType::cmdInitRenderSurfaceState;
|
||||
@@ -1059,7 +1059,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithRequiringSshForMisali
|
||||
auto usedBefore = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed();
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto usedAfter = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE)->getUsed();
|
||||
|
||||
@@ -1071,14 +1071,14 @@ HWTEST2_F(EncodeDispatchKernelTest, givenBindlessKernelWithRequiringSshForMisali
|
||||
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenKernelsSharingISAParentAllocationsWhenProgrammingWalkerThenKernelStartPointerHasProperOffset, IsBeforeXeHpCore) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
auto dispatchInterface = std::make_unique<MockDispatchKernelEncoder>();
|
||||
dispatchInterface->getIsaOffsetInParentAllocationResult = 8 << INTERFACE_DESCRIPTOR_DATA::KERNELSTARTPOINTER_BIT_SHIFT;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
auto idd = static_cast<INTERFACE_DESCRIPTOR_DATA *>(cmdContainer->getIddBlock());
|
||||
EXPECT_EQ(idd->getKernelStartPointer(), dispatchInterface->getIsaAllocation()->getGpuAddressToPatch() + dispatchInterface->getIsaOffsetInParentAllocation());
|
||||
@@ -1090,7 +1090,7 @@ HWTEST_F(EncodeDispatchKernelTest, givenKernelStartPointerAlignmentInInterfaceDe
|
||||
}
|
||||
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenKernelsSharingISAParentAllocationsWhenProgrammingWalkerThenKernelStartPointerHasProperOffset, IsAtLeastXeHpCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
auto dispatchInterface = std::make_unique<MockDispatchKernelEncoder>();
|
||||
@@ -1098,19 +1098,19 @@ HWTEST2_F(EncodeDispatchKernelTest, givenKernelsSharingISAParentAllocationsWhenP
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(walkerCmd->getInterfaceDescriptor().getKernelStartPointer(), dispatchInterface->getIsaAllocation()->getGpuAddressToPatch() + dispatchInterface->getIsaOffsetInParentAllocation());
|
||||
}
|
||||
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenPrintKernelDispatchParametersWhenEncodingKernelThenPrintKernelDispatchParams, IsAtLeastXeHpCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto dispatchInterface = std::make_unique<MockDispatchKernelEncoder>();
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
@@ -1120,7 +1120,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenPrintKernelDispatchParametersWhenEncodi
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.PrintKernelDispatchParameters.set(true);
|
||||
testing::internal::CaptureStdout(); // start capturing
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
std::string outputString = testing::internal::GetCapturedStdout(); // stop capturing
|
||||
|
||||
EXPECT_NE(std::string::npos, outputString.find("kernel"));
|
||||
@@ -1136,7 +1136,7 @@ HWTEST2_F(EncodeDispatchKernelTest, givenPrintKernelDispatchParametersWhenEncodi
|
||||
|
||||
HWTEST_F(EncodeDispatchKernelTest, givenNonBindlessOrStatelessArgWhenDispatchingKernelThenSurfaceStateOffsetInCrossThreadDataIsNotPatched) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using DataPortBindlessSurfaceExtendedMessageDescriptor = typename FamilyType::DataPortBindlessSurfaceExtendedMessageDescriptor;
|
||||
uint32_t numBindingTable = 1;
|
||||
BINDING_TABLE_STATE bindingTableState = FamilyType::cmdInitBindingTableState;
|
||||
@@ -1188,7 +1188,7 @@ HWTEST_F(EncodeDispatchKernelTest, givenNonBindlessOrStatelessArgWhenDispatching
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_EQ(pattern, *patchLocation);
|
||||
|
||||
@@ -1216,16 +1216,16 @@ HWTEST_F(EncodeDispatchKernelTest, givenNonBindlessOrStatelessArgWhenDispatching
|
||||
memset(ioh->getCpuBase(), 0, ioh->getMaxAvailableSpace());
|
||||
|
||||
dispatchArgs.dispatchInterface = dispatchInterface.get();
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_TRUE(memoryZeroed(ptrOffset(ioh->getCpuBase(), iohOffset), ioh->getMaxAvailableSpace() - iohOffset));
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenStartWorkGroupWhenIndirectIsFalseThenExpectStartGroupAndThreadDimensionsProgramming) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
|
||||
@@ -1240,7 +1240,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenStartWorkGroupWhenIndirectIsF
|
||||
EXPECT_EQ(2u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(3u, walkerCmd.getThreadGroupIdStartingResumeZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(1u, walkerCmd.getThreadWidthCounterMaximum());
|
||||
|
||||
@@ -1249,9 +1249,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenStartWorkGroupWhenIndirectIsF
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenNoStartWorkGroupWhenIndirectIsTrueThenExpectNoStartGroupAndThreadDimensionsProgramming) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
@@ -1267,7 +1267,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenNoStartWorkGroupWhenIndirectI
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingResumeZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(1u, walkerCmd.getThreadWidthCounterMaximum());
|
||||
|
||||
@@ -1276,9 +1276,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenNoStartWorkGroupWhenIndirectI
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenStartWorkGroupWhenWorkGroupSmallerThanSimdThenExpectStartGroupAndRightExecutionMaskNotFull) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
workGroupSizes[0] = 30u;
|
||||
@@ -1295,7 +1295,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenStartWorkGroupWhenWorkGroupSm
|
||||
EXPECT_EQ(2u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(3u, walkerCmd.getThreadGroupIdStartingResumeZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(1u, walkerCmd.getThreadWidthCounterMaximum());
|
||||
|
||||
@@ -1304,9 +1304,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, givenStartWorkGroupWhenWorkGroupSm
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, WhenThreadPerThreadGroupNotZeroThenExpectOverrideThreadGroupCalculation) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
uint32_t expectedThreadPerThreadGroup = 5u;
|
||||
@@ -1321,7 +1321,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, WhenThreadPerThreadGroupNotZeroThe
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingResumeZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedThreadPerThreadGroup, walkerCmd.getThreadWidthCounterMaximum());
|
||||
|
||||
@@ -1330,9 +1330,9 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, WhenThreadPerThreadGroupNotZeroThe
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, WhenExecutionMaskNotZeroThenExpectOverrideExecutionMaskCalculation) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
uint32_t expectedExecutionMask = 0xFFFFu;
|
||||
@@ -1347,7 +1347,7 @@ HWCMDTEST_F(IGFX_GEN8_CORE, WalkerThreadTest, WhenExecutionMaskNotZeroThenExpect
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingResumeZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(1u, walkerCmd.getThreadWidthCounterMaximum());
|
||||
|
||||
@@ -1425,7 +1425,7 @@ using BindlessCommandEncodeStatesContainerTest = Test<CommandEncodeStatesFixture
|
||||
HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindlessKernelAndBindlessModeEnabledWhenEncodingKernelThenCmdContainerHasNullptrSSH) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
debugManager.flags.UseBindlessMode.set(1);
|
||||
debugManager.flags.UseExternalAllocatorForSshAndDsh.set(1);
|
||||
@@ -1452,7 +1452,7 @@ HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindlessKernelAndBindles
|
||||
EXPECT_EQ(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr);
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*commandContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*commandContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_EQ(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr);
|
||||
}
|
||||
@@ -1460,7 +1460,7 @@ HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindlessKernelAndBindles
|
||||
HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindfulKernelWhenBindlessModeEnabledThenCmdContainerHasSsh) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore dbgRestorer;
|
||||
debugManager.flags.UseBindlessMode.set(1);
|
||||
auto commandContainer = std::make_unique<CommandContainer>();
|
||||
@@ -1489,7 +1489,7 @@ HWTEST_F(BindlessCommandEncodeStatesContainerTest, givenBindfulKernelWhenBindles
|
||||
EXPECT_NE(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr);
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*commandContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*commandContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_NE(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr);
|
||||
}
|
||||
@@ -1498,7 +1498,7 @@ using NgenGeneratorDispatchKernelEncodeTest = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST2_F(NgenGeneratorDispatchKernelEncodeTest, givenBindfulKernelAndIsNotGeneratedByIgcWhenEncodeDispatchKernelThenCmdContainerDoesNotHaveSsh, IsPVC) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
for (auto isGeneratedByIgc : {false, true}) {
|
||||
auto commandContainer = std::make_unique<MyMockCommandContainer>();
|
||||
commandContainer->initialize(pDevice, nullptr, HeapSize::defaultHeapSize, true, false);
|
||||
@@ -1528,7 +1528,7 @@ HWTEST2_F(NgenGeneratorDispatchKernelEncodeTest, givenBindfulKernelAndIsNotGener
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*commandContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*commandContainer.get(), dispatchArgs);
|
||||
|
||||
if (isGeneratedByIgc) {
|
||||
EXPECT_NE(commandContainer->getIndirectHeap(HeapType::SURFACE_STATE), nullptr);
|
||||
@@ -1623,13 +1623,13 @@ HWTEST_F(CommandEncodeStatesTest, givenKernelInfoOfBindlessKernelWhenGettingRequ
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenCommandContainerWhenIsKernelDispatchedFromImmediateCmdListTrueThenGetHeapWithRequiredSizeAndAlignmentCalled) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.isKernelDispatchedFromImmediateCmdList = true;
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
EXPECT_NE(0u, cmdContainer->getHeapWithRequiredSizeAndAlignmentCalled);
|
||||
}
|
||||
@@ -27,7 +27,7 @@ using CommandEncodeStatesTestDg2AndLater = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTestDg2AndLater, givenEventAddressWhenEncodeAndPVCAndDG2ThenSetDataportSubsliceCacheFlushIstSet, IsAtLeastXeHpgCore) {
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint64_t eventAddress = MemoryConstants::cacheLineSize * 123;
|
||||
@@ -37,21 +37,21 @@ HWTEST2_F(CommandEncodeStatesTestDg2AndLater, givenEventAddressWhenEncodeAndPVCA
|
||||
dispatchArgs.eventAddress = eventAddress;
|
||||
dispatchArgs.isTimestampEvent = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(true, cmd->getPostSync().getDataportSubsliceCacheFlush());
|
||||
}
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTestDg2AndLater, givenEventAddressWhenEncodeThenMocsIndex2IsSet, IsXeHpgCore) {
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint64_t eventAddress = MemoryConstants::cacheLineSize * 123;
|
||||
@@ -62,15 +62,15 @@ HWTEST2_F(CommandEncodeStatesTestDg2AndLater, givenEventAddressWhenEncodeThenMoc
|
||||
dispatchArgs.isTimestampEvent = true;
|
||||
dispatchArgs.dcFlushEnable = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, pDevice->getRootDeviceEnvironment());
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
|
||||
auto gmmHelper = pDevice->getGmmHelper();
|
||||
|
||||
@@ -118,7 +118,7 @@ HWTEST2_F(CommandEncodeStatesTestDg2AndLater, GivenDebugOverrideWhenSetAdditiona
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTestDg2AndLater, givenOverridePreferredSlmAllocationSizePerDssWhenDispatchingKernelThenCorrectValueIsSet, IsAtLeastXeHpgCore) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PREFERRED_SLM_ALLOCATION_SIZE = typename INTERFACE_DESCRIPTOR_DATA::PREFERRED_SLM_ALLOCATION_SIZE;
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.OverridePreferredSlmAllocationSizePerDss.set(5);
|
||||
@@ -131,15 +131,15 @@ HWTEST2_F(CommandEncodeStatesTestDg2AndLater, givenOverridePreferredSlmAllocatio
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(5u, static_cast<uint32_t>(idd.getPreferredSlmAllocationSize()));
|
||||
|
||||
@@ -23,7 +23,7 @@ using CommandEncodeStatesTestPvcAndLater = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTestPvcAndLater, givenOverrideSlmTotalSizeDebugVariableWhenDispatchingKernelThenSharedMemorySizeIsSetCorrectly, IsAtLeastXeHpcCore) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restorer;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -40,13 +40,13 @@ HWTEST2_F(CommandEncodeStatesTestPvcAndLater, givenOverrideSlmTotalSizeDebugVari
|
||||
cmdContainer->reset();
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(valueToProgram, idd.getSharedLocalMemorySize());
|
||||
|
||||
@@ -38,7 +38,7 @@ using CommandEncodeStatesTest = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterThanZeroWhenDispatchingKernelThenSharedMemorySizeIsSetCorrectly) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint32_t slmTotalSize = 1;
|
||||
@@ -48,15 +48,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterTha
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
auto &gfxcoreHelper = this->getHelper<GfxCoreHelper>();
|
||||
|
||||
@@ -67,7 +67,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSlmTotalSizeGraterTha
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenXeHpAndLaterWhenDispatchingKernelThenSetDenormMode) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
@@ -75,22 +75,22 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenXeHpAndLaterWhenDispa
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, false);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(INTERFACE_DESCRIPTOR_DATA::DENORM_MODE_FTZ, idd.getDenormMode());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenXeHpDebuggingEnabledAndAssertInKernelWhenDispatchingKernelThenSwExceptionsAreEnabled) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
|
||||
auto debugger = new MockDebuggerL0(pDevice);
|
||||
@@ -102,15 +102,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenXeHpDebuggingEnabledA
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, false);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_TRUE(idd.getSoftwareExceptionEnable());
|
||||
@@ -118,7 +118,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenXeHpDebuggingEnabledA
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSimdSizeWhenDispatchingKernelThenSimdMessageIsSet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint32_t simdSize = 32;
|
||||
@@ -126,21 +126,21 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSimdSizeWhenDispatchi
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(getSimdConfig<WALKER_TYPE>(simdSize), cmd->getMessageSimd());
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(getSimdConfig<DefaultWalkerType>(simdSize), cmd->getMessageSimd());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZeroWhenDispatchingKernelThenSharedMemorySizeIsSetCorrectly) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint32_t slmTotalSize = 0;
|
||||
@@ -149,15 +149,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZero
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
uint32_t expectedValue = INTERFACE_DESCRIPTOR_DATA::SHARED_LOCAL_MEMORY_SIZE_ENCODES_0K;
|
||||
@@ -167,7 +167,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenSlmTotalSizeEqualZero
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenOverrideSlmTotalSizeDebugVariableWhenDispatchingKernelThenSharedMemorySizeIsSetCorrectly) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restorer;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -183,13 +183,13 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenOverrideSlmTotalSizeD
|
||||
cmdContainer->reset();
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(valueToProgram, idd.getSharedLocalMemorySize());
|
||||
@@ -199,7 +199,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenOverrideSlmTotalSizeD
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenStatelessBufferAndImageWhenDispatchingKernelThenBindingTableOffsetIsCorrect) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t numBindingTable = 1;
|
||||
BINDING_TABLE_STATE bindingTableState = FamilyType::cmdInitBindingTableState;
|
||||
|
||||
@@ -221,15 +221,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenStatelessBufferAndIma
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(idd.getBindingTablePointer(), expectedOffset);
|
||||
@@ -238,7 +238,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenStatelessBufferAndIma
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givennumBindingTableOneWhenDispatchingKernelThenBTOffsetIsCorrect) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t numBindingTable = 1;
|
||||
BINDING_TABLE_STATE bindingTableState = FamilyType::cmdInitBindingTableState;
|
||||
|
||||
@@ -258,15 +258,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givennumBindingTableOneWhe
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(idd.getBindingTablePointer(), expectedOffset);
|
||||
@@ -275,7 +275,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givennumBindingTableOneWhe
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, giveNumBindingTableZeroWhenDispatchingKernelThenBTOffsetIsZero) {
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t numBindingTable = 0;
|
||||
BINDING_TABLE_STATE bindingTableState = FamilyType::cmdInitBindingTableState;
|
||||
|
||||
@@ -295,15 +295,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, giveNumBindingTableZeroWhe
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(idd.getBindingTablePointer(), 0u);
|
||||
@@ -322,7 +322,7 @@ struct SamplerSupportedMatcher {
|
||||
HWTEST2_F(CommandEncodeStatesTest, giveNumSamplersOneWhenDispatchKernelThensamplerStateWasCopied, SamplerSupportedMatcher) {
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
if (!pDevice->getDeviceInfo().imageSupport) {
|
||||
GTEST_SKIP();
|
||||
@@ -350,15 +350,15 @@ HWTEST2_F(CommandEncodeStatesTest, giveNumSamplersOneWhenDispatchKernelThensampl
|
||||
dispatchArgs.surfaceStateHeap = cmdContainer->getIndirectHeap(HeapType::SURFACE_STATE);
|
||||
dispatchArgs.dynamicStateHeap = cmdContainer->getIndirectHeap(HeapType::DYNAMIC_STATE);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
auto borderColorOffsetInDsh = usedBefore;
|
||||
@@ -372,7 +372,7 @@ HWTEST2_F(CommandEncodeStatesTest, giveNumSamplersOneWhenDispatchKernelThensampl
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenEventAllocationWhenDispatchingKernelThenPostSyncIsAdded) {
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint64_t eventAddress = MemoryConstants::cacheLineSize * 123;
|
||||
@@ -382,21 +382,21 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenEventAllocationWhenDi
|
||||
dispatchArgs.eventAddress = eventAddress;
|
||||
dispatchArgs.isTimestampEvent = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_TIMESTAMP, cmd->getPostSync().getOperation());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenEventAddressWhenEncodeThenMocsFromGmmHelperIsSet) {
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint64_t eventAddress = MemoryConstants::cacheLineSize * 123;
|
||||
@@ -407,15 +407,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenEventAddressWhenEncod
|
||||
dispatchArgs.isTimestampEvent = true;
|
||||
dispatchArgs.dcFlushEnable = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, pDevice->getRootDeviceEnvironment());
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
if (MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, pDevice->getRootDeviceEnvironment())) {
|
||||
EXPECT_EQ(pDevice->getGmmHelper()->getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED), cmd->getPostSync().getMocs());
|
||||
} else {
|
||||
@@ -425,7 +425,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenEventAddressWhenEncod
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenCleanHeapsWhenDispatchKernelThenFlushNotAdded) {
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
@@ -434,7 +434,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenCleanHeapsWhenDispatc
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -445,7 +445,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenCleanHeapsWhenDispatc
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeDebugFlagWhenDispatchingKernelThenCorrectValuesAreSetUp) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using SAMPLER_STATE = typename FamilyType::SAMPLER_STATE;
|
||||
using BINDING_TABLE_STATE = typename FamilyType::BINDING_TABLE_STATE;
|
||||
|
||||
@@ -475,13 +475,13 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeD
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
if (EncodeSurfaceState<FamilyType>::doBindingTablePrefetch()) {
|
||||
@@ -509,13 +509,13 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeD
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_EQ(0u, idd.getBindingTableEntryCount());
|
||||
@@ -534,13 +534,13 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenForceBtpPrefetchModeD
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &idd = cmd->getInterfaceDescriptor();
|
||||
|
||||
EXPECT_NE(0u, idd.getBindingTableEntryCount());
|
||||
@@ -572,7 +572,7 @@ HWTEST2_F(CommandEncodeStatesTest, givenDispatchInterfaceWhenNumRequiredGrfIsNot
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredWhenEncodingWalkerThenEmitInlineParameterIsSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using InlineData = typename FamilyType::INLINE_DATA;
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -581,14 +581,14 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredWhe
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(1u, cmd->getEmitInlineParameter());
|
||||
|
||||
const uint32_t inlineDataSize = sizeof(InlineData);
|
||||
@@ -600,7 +600,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredWhe
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredIsFalseWhenEncodingWalkerThenEmitInlineParameterIsNotSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
@@ -608,15 +608,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredIsF
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(0u, cmd->getEmitInlineParameter());
|
||||
|
||||
size_t expectedSizeIOH = dispatchInterface->getCrossThreadDataSize() +
|
||||
@@ -626,7 +626,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredIsF
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredAndZeroCrossThreadDataSizeWhenEncodingWalkerThenEmitInlineParameterIsNotSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
@@ -635,15 +635,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredAnd
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(0u, cmd->getEmitInlineParameter());
|
||||
|
||||
auto heap = cmdContainer->getIndirectHeap(HeapType::INDIRECT_OBJECT);
|
||||
@@ -651,7 +651,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredAnd
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredAndLocalIdsGenerateByHwWhenEncodingWalkerThenEmitInlineParameterAndGenerateLocalIdsIsSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
dispatchInterface->requiredWalkGroupOrder = 2u;
|
||||
@@ -664,15 +664,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredAnd
|
||||
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(1u, cmd->getEmitInlineParameter());
|
||||
EXPECT_EQ(1u, cmd->getGenerateLocalId());
|
||||
uint32_t expectedEmitLocalIds = (1 << 0) | (1 << 1) | (1 << 2);
|
||||
@@ -685,9 +685,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInlineDataRequiredAnd
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInterfaceDescriptorDataWhenForceThreadGroupDispatchSizeVariableIsDefaultThenThreadGroupDispatchSizeIsNotChanged) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
INTERFACE_DESCRIPTOR_DATA iddArg;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
iddArg = FamilyType::cmdInitInterfaceDescriptorData;
|
||||
const uint32_t forceThreadGroupDispatchSize = -1;
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
@@ -711,9 +711,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInterfaceDescriptorDa
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInterfaceDescriptorDataWhenForceThreadGroupDispatchSizeVariableIsSetThenThreadGroupDispatchSizeIsChanged) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
INTERFACE_DESCRIPTOR_DATA iddArg;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
iddArg = FamilyType::cmdInitInterfaceDescriptorData;
|
||||
iddArg.setNumberOfThreadsInGpgpuThreadGroup(1u);
|
||||
|
||||
@@ -733,9 +733,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenInterfaceDescriptorDa
|
||||
using WalkerThreadTestXeHPAndLater = WalkerThreadTest;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenStartWorkGroupWhenIndirectIsFalseThenExpectStartGroupAndThreadDimensionsProgramming) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
@@ -752,7 +752,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenStartWorkGroupWh
|
||||
EXPECT_EQ(2u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(3u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -769,9 +769,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenStartWorkGroupWh
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenNoStartWorkGroupWhenIndirectIsTrueThenExpectNoStartGroupAndThreadDimensionsProgramming) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
@@ -787,7 +787,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenNoStartWorkGroup
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -804,9 +804,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenNoStartWorkGroup
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenSimdSizeOneWhenWorkGroupSmallerThanSimdThenExpectSimdSizeAsMaxAndExecutionMaskFull) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
workGroupSizes[0] = 30u;
|
||||
@@ -824,7 +824,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenSimdSizeOneWhenW
|
||||
EXPECT_EQ(2u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(3u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -841,9 +841,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenSimdSizeOneWhenW
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenStartWorkGroupWhenWorkGroupSmallerThanSimdThenExpectStartGroupAndExecutionMaskNotFull) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
workGroupSizes[0] = 30u;
|
||||
@@ -860,7 +860,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenStartWorkGroupWh
|
||||
EXPECT_EQ(2u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(3u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -877,9 +877,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenStartWorkGroupWh
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenLocalIdGenerationByHwWhenNoLocalIdsPresentThenExpectNoEmitAndGenerateLocalIds) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
localIdDimensions = 0u;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
@@ -894,7 +894,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenLocalIdGeneratio
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -911,9 +911,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenLocalIdGeneratio
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenLocalIdGenerationByHwWhenLocalIdsPresentThenExpectEmitAndGenerateLocalIds) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
requiredWorkGroupOrder = 2u;
|
||||
workGroupSizes[1] = workGroupSizes[2] = 2u;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
@@ -929,7 +929,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenLocalIdGeneratio
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -950,10 +950,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenDebugVariableToO
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.ForceSimdMessageSizeInWalker.set(1);
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
requiredWorkGroupOrder = 2u;
|
||||
workGroupSizes[1] = workGroupSizes[2] = 2u;
|
||||
|
||||
@@ -963,9 +963,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, givenDebugVariableToO
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, WhenInlineDataIsTrueThenExpectInlineDataProgramming) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
startWorkGroup[1] = 2u;
|
||||
startWorkGroup[2] = 3u;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
@@ -981,7 +981,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, WhenInlineDataIsTrueT
|
||||
EXPECT_EQ(2u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(3u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -998,9 +998,9 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, WhenInlineDataIsTrueT
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, WhenExecutionMaskNotZeroThenExpectOverrideExecutionMaskCalculation) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
uint32_t expectedExecutionMask = 0xFFFFu;
|
||||
@@ -1015,7 +1015,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, WalkerThreadTestXeHPAndLater, WhenExecutionMaskNotZ
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingY());
|
||||
EXPECT_EQ(0u, walkerCmd.getThreadGroupIdStartingZ());
|
||||
|
||||
auto expectedSimd = getSimdConfig<WALKER_TYPE>(simd);
|
||||
auto expectedSimd = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getSimdSize());
|
||||
EXPECT_EQ(expectedSimd, walkerCmd.getMessageSimd());
|
||||
|
||||
@@ -1060,7 +1060,7 @@ using CommandEncodeStatesImplicitScaling = Test<CommandEncodeStatesImplicitScali
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesImplicitScaling,
|
||||
givenStaticPartitioningWhenNonTimestampEventProvidedThenExpectTimestampComputeWalkerPostSync) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
|
||||
uint32_t dims[] = {16, 1, 1};
|
||||
@@ -1072,7 +1072,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesImplicitScaling,
|
||||
dispatchArgs.eventAddress = eventAddress;
|
||||
dispatchArgs.partitionCount = 2;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
size_t usedBuffer = cmdContainer->getCommandStream()->getUsed();
|
||||
EXPECT_EQ(2u, dispatchArgs.partitionCount);
|
||||
|
||||
@@ -1082,16 +1082,16 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesImplicitScaling,
|
||||
cmdContainer->getCommandStream()->getCpuBase(),
|
||||
usedBuffer);
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
auto itor = find<DefaultWalkerType *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
ASSERT_NE(itor, partitionedWalkerList.end());
|
||||
auto partitionWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto partitionWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSync = partitionWalkerCmd->getPostSync();
|
||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_TIMESTAMP, postSync.getOperation());
|
||||
EXPECT_EQ(eventAddress, postSync.getDestinationAddress());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesImplicitScaling, givenCooperativeKernelWhenEncodingDispatchKernelThenExpectPartitionSizeEqualWorkgroupSize) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
|
||||
uint32_t dims[] = {16, 1, 1};
|
||||
@@ -1105,17 +1105,17 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesImplicitScaling, givenCooperativ
|
||||
dispatchArgs.isInternal = isInternal;
|
||||
dispatchArgs.isCooperative = isCooperative;
|
||||
dispatchArgs.partitionCount = 2;
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
size_t containerUsedAfterBase = cmdContainer->getCommandStream()->getUsed();
|
||||
|
||||
GenCmdList partitionedWalkerList;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(partitionedWalkerList, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), containerUsedAfterBase);
|
||||
auto itor = find<WALKER_TYPE *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
auto itor = find<DefaultWalkerType *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
ASSERT_NE(itor, partitionedWalkerList.end());
|
||||
|
||||
auto partitionWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
auto partitionWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
uint32_t expectedPartitionSize = dims[0];
|
||||
EXPECT_EQ(expectedPartitionSize, partitionWalkerCmd->getPartitionSize());
|
||||
}
|
||||
@@ -1136,7 +1136,7 @@ struct CommandEncodeStatesDynamicImplicitScalingFixture : CommandEncodeStatesImp
|
||||
using CommandEncodeStatesDynamicImplicitScaling = Test<CommandEncodeStatesDynamicImplicitScalingFixture>;
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImplicitScalingWhenEncodingDispatchKernelThenExpectPartitionCommandBuffer) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
|
||||
uint32_t dims[] = {16, 1, 1};
|
||||
@@ -1147,25 +1147,25 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.isInternal = isInternal;
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
size_t containerUsedAfterBase = cmdContainer->getCommandStream()->getUsed();
|
||||
|
||||
GenCmdList baseWalkerList;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(baseWalkerList, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), containerUsedAfterBase);
|
||||
auto itor = find<WALKER_TYPE *>(baseWalkerList.begin(), baseWalkerList.end());
|
||||
auto itor = find<DefaultWalkerType *>(baseWalkerList.begin(), baseWalkerList.end());
|
||||
ASSERT_NE(itor, baseWalkerList.end());
|
||||
auto baseWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_DISABLED, baseWalkerCmd->getPartitionType());
|
||||
auto baseWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, baseWalkerCmd->getPartitionType());
|
||||
EXPECT_EQ(16u, baseWalkerCmd->getThreadGroupIdXDimension());
|
||||
|
||||
dispatchArgs.partitionCount = 2;
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
size_t total = cmdContainer->getCommandStream()->getUsed();
|
||||
size_t partitionedWalkerSize = total - containerUsedAfterBase;
|
||||
|
||||
size_t expectedPartitionedWalkerSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, false, pDevice->getDeviceBitfield(), Vec3<size_t>(0, 0, 0), Vec3<size_t>(16, 1, 1));
|
||||
size_t expectedPartitionedWalkerSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, false, pDevice->getDeviceBitfield(), Vec3<size_t>(0, 0, 0), Vec3<size_t>(16, 1, 1));
|
||||
EXPECT_EQ(expectedPartitionedWalkerSize, partitionedWalkerSize);
|
||||
|
||||
GenCmdList partitionedWalkerList;
|
||||
@@ -1182,16 +1182,16 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
itor = find<WALKER_TYPE *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
itor = find<DefaultWalkerType *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
ASSERT_NE(itor, partitionedWalkerList.end());
|
||||
auto partitionWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
auto partitionWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
uint32_t expectedPartitionSize = (dims[0] + dispatchArgs.partitionCount - 1u) / dispatchArgs.partitionCount;
|
||||
EXPECT_EQ(expectedPartitionSize, partitionWalkerCmd->getPartitionSize());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImplicitScalingRequiresPipeControlStallWhenEncodingDispatchKernelThenExpectCrossTileSyncAndSelfCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
@@ -1211,12 +1211,12 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
dispatchArgs.partitionCount = 2;
|
||||
dispatchArgs.dcFlushEnable = MemorySynchronizationCommands<FamilyType>::getDcFlushEnable(true, pDevice->getRootDeviceEnvironment());
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_EQ(2u, dispatchArgs.partitionCount);
|
||||
size_t partitionedWalkerSize = cmdContainer->getCommandStream()->getUsed();
|
||||
|
||||
size_t expectedPartitionedWalkerSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, false, pDevice->getDeviceBitfield(), Vec3<size_t>(0, 0, 0), Vec3<size_t>(16, 1, 1));
|
||||
size_t expectedPartitionedWalkerSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, false, pDevice->getDeviceBitfield(), Vec3<size_t>(0, 0, 0), Vec3<size_t>(16, 1, 1));
|
||||
EXPECT_EQ(expectedPartitionedWalkerSize, partitionedWalkerSize);
|
||||
|
||||
GenCmdList partitionedWalkerList;
|
||||
@@ -1233,10 +1233,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
auto itor = find<DefaultWalkerType *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
ASSERT_NE(itor, partitionedWalkerList.end());
|
||||
auto partitionWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
auto partitionWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
uint32_t expectedPartitionSize = (dims[0] + dispatchArgs.partitionCount - 1u) / dispatchArgs.partitionCount;
|
||||
EXPECT_EQ(expectedPartitionSize, partitionWalkerCmd->getPartitionSize());
|
||||
|
||||
@@ -1292,7 +1292,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling,
|
||||
givenImplicitScalingRequiresNoPipeControlStallWhenEncodingDispatchKernelThenExpectCrossTileSyncAndSelfCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
@@ -1310,12 +1310,12 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling,
|
||||
dispatchArgs.isInternal = isInternal;
|
||||
dispatchArgs.partitionCount = 2;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
EXPECT_EQ(2u, dispatchArgs.partitionCount);
|
||||
size_t partitionedWalkerSize = cmdContainer->getCommandStream()->getUsed();
|
||||
|
||||
size_t expectedPartitionedWalkerSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, false, pDevice->getDeviceBitfield(), Vec3<size_t>(0, 0, 0), Vec3<size_t>(16, 1, 1));
|
||||
size_t expectedPartitionedWalkerSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, false, pDevice->getDeviceBitfield(), Vec3<size_t>(0, 0, 0), Vec3<size_t>(16, 1, 1));
|
||||
EXPECT_EQ(expectedPartitionedWalkerSize, partitionedWalkerSize);
|
||||
|
||||
GenCmdList partitionedWalkerList;
|
||||
@@ -1332,10 +1332,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling,
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
auto itor = find<DefaultWalkerType *>(partitionedWalkerList.begin(), partitionedWalkerList.end());
|
||||
ASSERT_NE(itor, partitionedWalkerList.end());
|
||||
auto partitionWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
auto partitionWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, partitionWalkerCmd->getPartitionType());
|
||||
uint32_t expectedPartitionSize = (dims[0] + dispatchArgs.partitionCount - 1u) / dispatchArgs.partitionCount;
|
||||
EXPECT_EQ(expectedPartitionSize, partitionWalkerCmd->getPartitionSize());
|
||||
|
||||
@@ -1355,7 +1355,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling,
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImplicitScalingWhenEncodingDispatchKernelOnInternalEngineThenExpectNoWalkerPartitioning) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
|
||||
@@ -1368,7 +1368,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
dispatchArgs.isInternal = isInternal;
|
||||
dispatchArgs.partitionCount = 2;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
size_t internalWalkerSize = cmdContainer->getCommandStream()->getUsed();
|
||||
|
||||
@@ -1376,16 +1376,16 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesDynamicImplicitScaling, givenImp
|
||||
CmdParse<FamilyType>::parseCommandBuffer(internalWalkerList,
|
||||
cmdContainer->getCommandStream()->getCpuBase(),
|
||||
internalWalkerSize);
|
||||
auto itor = find<WALKER_TYPE *>(internalWalkerList.begin(), internalWalkerList.end());
|
||||
auto itor = find<DefaultWalkerType *>(internalWalkerList.begin(), internalWalkerList.end());
|
||||
ASSERT_NE(itor, internalWalkerList.end());
|
||||
auto internalWalkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_DISABLED, internalWalkerCmd->getPartitionType());
|
||||
auto internalWalkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, internalWalkerCmd->getPartitionType());
|
||||
EXPECT_EQ(16u, internalWalkerCmd->getThreadGroupIdXDimension());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenNonTimestampEventWhenTimestampPostSyncRequiredThenTimestampPostSyncIsAdded) {
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
uint64_t eventAddress = MemoryConstants::cacheLineSize * 123;
|
||||
@@ -1395,21 +1395,21 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest, givenNonTimestampEventWhen
|
||||
dispatchArgs.eventAddress = eventAddress;
|
||||
dispatchArgs.isTimestampEvent = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
auto cmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto cmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(POSTSYNC_DATA::OPERATION_WRITE_TIMESTAMP, cmd->getPostSync().getOperation());
|
||||
}
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTest,
|
||||
givenDispatchInterfaceWhenDpasRequiredIsNotDefaultThenPipelineSelectCommandAdded, IsWithinXeGfxFamily) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -1422,7 +1422,7 @@ HWTEST2_F(CommandEncodeStatesTest,
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands,
|
||||
@@ -1444,7 +1444,7 @@ HWTEST2_F(CommandEncodeStatesTest,
|
||||
HWTEST2_F(CommandEncodeStatesTest,
|
||||
givenDebugVariableWhenEncodeStateIsCalledThenSystolicValueIsOverwritten, IsWithinXeGfxFamily) {
|
||||
DebugManagerStateRestore restorer;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
@@ -1457,7 +1457,7 @@ HWTEST2_F(CommandEncodeStatesTest,
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands,
|
||||
@@ -1479,7 +1479,7 @@ HWTEST2_F(CommandEncodeStatesTest,
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest,
|
||||
givenDispatchInterfaceWhenDpasRequiredIsSameAsDefaultThenPipelineSelectCommandNotAdded) {
|
||||
using PIPELINE_SELECT = typename FamilyType::PIPELINE_SELECT;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
@@ -1490,7 +1490,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, CommandEncodeStatesTest,
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands,
|
||||
@@ -1516,7 +1516,7 @@ struct CommandEncodeStatesImplicitScalingPrimaryBufferFixture : public CommandEn
|
||||
template <typename FamilyType>
|
||||
void testBodyFindPrimaryBatchBuffer() {
|
||||
using MI_BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
constexpr bool expectPrimary = flushTaskUsedForImmediate || usePrimaryBuffer;
|
||||
|
||||
uint32_t dims[] = {16, 1, 1};
|
||||
@@ -1528,7 +1528,7 @@ struct CommandEncodeStatesImplicitScalingPrimaryBufferFixture : public CommandEn
|
||||
dispatchArgs.eventAddress = eventAddress;
|
||||
dispatchArgs.partitionCount = 2;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*BaseClass::cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*BaseClass::cmdContainer.get(), dispatchArgs);
|
||||
size_t usedBuffer = BaseClass::cmdContainer->getCommandStream()->getUsed();
|
||||
EXPECT_EQ(2u, dispatchArgs.partitionCount);
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@ HWTEST2_F(EncodeConditionalBatchBufferStartTest, whenProgrammingConditionalRegRe
|
||||
using CommandEncodeStatesXeHpcAndLaterTests = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesXeHpcAndLaterTests, givenDebugFlagSetWhenProgrammingWalkerThenSetFlushingBits, IsAtLeastXeHpcCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ForceComputeWalkerPostSyncFlush.set(1);
|
||||
|
||||
@@ -305,15 +305,15 @@ HWTEST2_F(CommandEncodeStatesXeHpcAndLaterTests, givenDebugFlagSetWhenProgrammin
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_TRUE(walkerCmd->getPostSync().getDataportPipelineFlush());
|
||||
EXPECT_TRUE(walkerCmd->getPostSync().getDataportSubsliceCacheFlush());
|
||||
}
|
||||
@@ -18,13 +18,13 @@
|
||||
#include "shared/test/unit_test/fixtures/implicit_scaling_fixture.h"
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenGetSizeWhenDispatchingCmdBufferThenConsumedSizeMatchEstimatedAndCmdBufferHasCorrectCmds) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -33,7 +33,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenGetSizeWhenDispatchingCm
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -53,21 +53,21 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenGetSizeWhenDispatchingCm
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto itor = find<WALKER_TYPE *>(walkerList.begin(), walkerList.end());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
auto itor = find<DefaultWalkerType *>(walkerList.begin(), walkerList.end());
|
||||
ASSERT_NE(itor, walkerList.end());
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndNoPartitionHintWhenDispatchingCmdBufferThenPartitionCountOneAndPartitionTypeDisabled) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(1);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -76,7 +76,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndNoPartiti
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, false, false, false, dcFlushFlag,
|
||||
@@ -96,23 +96,23 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndNoPartiti
|
||||
}
|
||||
EXPECT_FALSE(secondary);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto itor = find<WALKER_TYPE *>(walkerList.begin(), walkerList.end());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
auto itor = find<DefaultWalkerType *>(walkerList.begin(), walkerList.end());
|
||||
ASSERT_NE(itor, walkerList.end());
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_DISABLED, walkerCmd->getPartitionType());
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_DISABLED, walkerCmd->getPartitionType());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndPartitionHintWhenDispatchingCmdBufferThenPartitionCountOneAndPartitionTypeFromHint) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(1);
|
||||
debugManager.flags.ExperimentalSetWalkerPartitionType.set(static_cast<int32_t>(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X));
|
||||
debugManager.flags.ExperimentalSetWalkerPartitionType.set(static_cast<int32_t>(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X));
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
postSync.setDestinationAddress(postSyncAddress);
|
||||
@@ -120,7 +120,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndPartition
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -140,15 +140,15 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenWorkgroupOneAndPartition
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto itor = find<WALKER_TYPE *>(walkerList.begin(), walkerList.end());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
auto itor = find<DefaultWalkerType *>(walkerList.begin(), walkerList.end());
|
||||
ASSERT_NE(itor, walkerList.end());
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDispatchingCmdBufferThenCorrectStaticPartitioningCommandsAreProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
|
||||
@@ -158,7 +158,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDi
|
||||
uint64_t workPartitionAllocationAddress = 0x987654;
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -167,7 +167,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDi
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -187,11 +187,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDi
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto itor = find<WALKER_TYPE *>(walkerList.begin(), walkerList.end());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
auto itor = find<DefaultWalkerType *>(walkerList.begin(), walkerList.end());
|
||||
ASSERT_NE(itor, walkerList.end());
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
|
||||
GenCmdList loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
auto itorLrm = find<MI_LOAD_REGISTER_MEM *>(loadRegisterMemList.begin(), loadRegisterMemList.end());
|
||||
@@ -199,7 +199,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenDi
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPartitionRegisterIsRequiredThenCorrectStaticPartitioningCommandsAreProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
|
||||
@@ -210,7 +210,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPa
|
||||
uint64_t workPartitionAllocationAddress = 0x987654;
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -219,7 +219,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPa
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -239,11 +239,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPa
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto itor = find<WALKER_TYPE *>(walkerList.begin(), walkerList.end());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
auto itor = find<DefaultWalkerType *>(walkerList.begin(), walkerList.end());
|
||||
ASSERT_NE(itor, walkerList.end());
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
|
||||
GenCmdList loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
auto itorLrm = find<MI_LOAD_REGISTER_MEM *>(loadRegisterMemList.begin(), loadRegisterMemList.end());
|
||||
@@ -254,7 +254,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningWhenPa
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPreferredAndPartitionCountIsOneWhenDispatchingCmdBufferThenCorrectStaticPartitioningCommandsAreProgrammed) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
|
||||
@@ -264,7 +264,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
uint64_t workPartitionAllocationAddress = 0x987654;
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(1);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -273,7 +273,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -293,11 +293,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
}
|
||||
EXPECT_TRUE(secondary);
|
||||
|
||||
GenCmdList walkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto itor = find<WALKER_TYPE *>(walkerList.begin(), walkerList.end());
|
||||
GenCmdList walkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
auto itor = find<DefaultWalkerType *>(walkerList.begin(), walkerList.end());
|
||||
ASSERT_NE(itor, walkerList.end());
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
EXPECT_EQ(WALKER_TYPE::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
EXPECT_EQ(DefaultWalkerType::PARTITION_TYPE::PARTITION_TYPE_X, walkerCmd->getPartitionType());
|
||||
|
||||
GenCmdList loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
auto itorLrm = find<MI_LOAD_REGISTER_MEM *>(loadRegisterMemList.begin(), loadRegisterMemList.end());
|
||||
@@ -305,7 +305,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPreferredWhenForceDisabledWparidRegisterThenExpectNoCommandFound) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using MI_LOAD_REGISTER_MEM = typename FamilyType::MI_LOAD_REGISTER_MEM;
|
||||
@@ -315,7 +315,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
uint64_t workPartitionAllocationAddress = 0x987654;
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(1);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -324,7 +324,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -342,7 +342,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPreferredWhenForceDisabledPipeControlThenExpectNoCommandFound) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
@@ -352,7 +352,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
uint64_t workPartitionAllocationAddress = 0x987654;
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(1);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -361,7 +361,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -379,7 +379,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenStaticPartitioningPrefer
|
||||
}
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenDynamicPartitioningPreferredWhenForceDisabledPipeControlThenExpectNoCommandFound) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using POSTSYNC_DATA = typename FamilyType::POSTSYNC_DATA;
|
||||
using BATCH_BUFFER_START = typename FamilyType::MI_BATCH_BUFFER_START;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
@@ -389,7 +389,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenDynamicPartitioningPrefe
|
||||
uint64_t workPartitionAllocationAddress = 0x0;
|
||||
uint64_t postSyncAddress = (1ull << 48) | (1ull << 24);
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
auto &postSync = walker.getPostSync();
|
||||
postSync.setOperation(POSTSYNC_DATA::OPERATION::OPERATION_WRITE_TIMESTAMP);
|
||||
@@ -398,7 +398,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenDynamicPartitioningPrefe
|
||||
size_t expectedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
expectedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, false, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(1, 1, 1));
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
ImplicitScalingDispatch<FamilyType>::dispatchCommands(commandStream, walker, nullptr, twoTile, partitionCount, true, false, false, dcFlushFlag,
|
||||
@@ -417,7 +417,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests, GivenDynamicPartitioningPrefe
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsRequiredWhenApiRequiresCleanupSectionThenDoAddPipeControlCrossTileSyncAndCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -429,10 +429,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(WALKER_TYPE) +
|
||||
size_t expectedSize = sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_STORE_DATA_IMM) +
|
||||
sizeof(PIPE_CONTROL) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
@@ -445,7 +445,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -463,7 +463,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(0u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -483,7 +483,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsRequiredAndPartitionRegisterProgrammingForcedWhenApiRequiresCleanupSectionThenDoAddPipeControlCrossTileSyncAndCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -496,11 +496,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(MI_LOAD_REGISTER_MEM) +
|
||||
sizeof(WALKER_TYPE) +
|
||||
sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_STORE_DATA_IMM) +
|
||||
sizeof(PIPE_CONTROL) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
@@ -513,7 +513,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -531,7 +531,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(1u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -551,7 +551,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndPartitionRegisterProgrammingForcedWhenApiRequiresCleanupSectionThenDoNotAddPipeControlCrossTileSyncAndCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -564,16 +564,16 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(MI_LOAD_REGISTER_MEM) +
|
||||
sizeof(WALKER_TYPE);
|
||||
sizeof(DefaultWalkerType);
|
||||
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -591,7 +591,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(1u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -611,7 +611,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndForcePartitionRegisterProgrammingWhenApiRequiresCleanupSectionThenDoNotAddPipeControlCrossTileSyncAndCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -624,16 +624,16 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(MI_LOAD_REGISTER_MEM) +
|
||||
sizeof(WALKER_TYPE);
|
||||
sizeof(DefaultWalkerType);
|
||||
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -651,7 +651,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(1u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -671,7 +671,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndForcedCrossTileSyncWhenApiRequiresCleanupSectionThenDoNotAddPipeControlAndAddCrossTileSyncAndCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -685,10 +685,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(WALKER_TYPE) +
|
||||
size_t expectedSize = sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_STORE_DATA_IMM) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(MI_BATCH_BUFFER_START) +
|
||||
@@ -700,7 +700,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -718,7 +718,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(0u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -738,7 +738,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndForcedCrossTileSyncWhenApiRequiresNoCleanupSectionThenDoNotAddPipeControlAndCleanupSectionAndAddCrossTileSync) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -752,10 +752,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(WALKER_TYPE) +
|
||||
size_t expectedSize = sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(MI_BATCH_BUFFER_START) +
|
||||
sizeof(WalkerPartition::StaticPartitioningControlSection);
|
||||
@@ -763,7 +763,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -781,7 +781,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(0u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -801,7 +801,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndForcedCrossTileSyncAndPartitionRegisterWhenApiRequiresNoCleanupSectionThenDoNotAddPipeControlAndCleanupSectionAndAddCrossTileSync) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -816,11 +816,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(MI_LOAD_REGISTER_MEM) +
|
||||
sizeof(WALKER_TYPE) +
|
||||
sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(MI_BATCH_BUFFER_START) +
|
||||
sizeof(WalkerPartition::StaticPartitioningControlSection);
|
||||
@@ -828,7 +828,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -846,7 +846,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(1u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -866,7 +866,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndForcedCrossTileSyncBeforeExecWhenApiRequiresCleanupSectionThenDoNotAddPipeControlAndAddCrossTileSyncAndCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -880,11 +880,11 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(WALKER_TYPE) +
|
||||
sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_STORE_DATA_IMM) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(MI_BATCH_BUFFER_START) +
|
||||
@@ -896,7 +896,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(true, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -914,7 +914,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(0u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
@@ -934,7 +934,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
givenPipeControlIsNotRequiredAndForcedCleanupSectionWhenApiNotRequiresCleanupSectionThenDoNotAddPipeControlAndCrossTileSyncAndAddCleanupSection) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using PIPE_CONTROL = typename FamilyType::PIPE_CONTROL;
|
||||
using MI_STORE_DATA_IMM = typename FamilyType::MI_STORE_DATA_IMM;
|
||||
using MI_ATOMIC = typename FamilyType::MI_ATOMIC;
|
||||
@@ -948,10 +948,10 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
|
||||
uint64_t workPartitionAllocationAddress = 0x1000;
|
||||
|
||||
WALKER_TYPE walker = FamilyType::cmdInitGpgpuWalker;
|
||||
DefaultWalkerType walker = FamilyType::cmdInitGpgpuWalker;
|
||||
walker.setThreadGroupIdXDimension(32);
|
||||
|
||||
size_t expectedSize = sizeof(WALKER_TYPE) +
|
||||
size_t expectedSize = sizeof(DefaultWalkerType) +
|
||||
sizeof(MI_STORE_DATA_IMM) +
|
||||
sizeof(MI_ATOMIC) + NEO::EncodeSemaphore<FamilyType>::getSizeMiSemaphoreWait() +
|
||||
sizeof(MI_BATCH_BUFFER_START) +
|
||||
@@ -963,7 +963,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
size_t estimatedSize = 0;
|
||||
size_t totalBytesProgrammed = 0;
|
||||
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<WALKER_TYPE>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
estimatedSize = ImplicitScalingDispatch<FamilyType>::template getSize<DefaultWalkerType>(false, true, twoTile, Vec3<size_t>(0, 0, 0), Vec3<size_t>(32, 1, 1));
|
||||
EXPECT_EQ(expectedSize, estimatedSize);
|
||||
|
||||
uint32_t partitionCount = 0;
|
||||
@@ -981,7 +981,7 @@ HWCMDTEST_F(IGFX_XE_HP_CORE, ImplicitScalingTests,
|
||||
auto loadRegisterMemList = hwParser.getCommandsList<MI_LOAD_REGISTER_MEM>();
|
||||
EXPECT_EQ(0u, loadRegisterMemList.size());
|
||||
|
||||
auto computeWalkerList = hwParser.getCommandsList<WALKER_TYPE>();
|
||||
auto computeWalkerList = hwParser.getCommandsList<DefaultWalkerType>();
|
||||
EXPECT_EQ(1u, computeWalkerList.size());
|
||||
|
||||
auto bbStartList = hwParser.getCommandsList<MI_BATCH_BUFFER_START>();
|
||||
|
||||
@@ -9,25 +9,25 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename WALKER_TYPE>
|
||||
template <typename DefaultWalkerType>
|
||||
class GivenSimdSizeWhenGetSimdConfigCalledThenCorrectEnumReturned {
|
||||
public:
|
||||
static void testBodyImpl() {
|
||||
uint32_t simd = 32;
|
||||
auto result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMD32);
|
||||
auto result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMD32);
|
||||
|
||||
simd = 16;
|
||||
result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMD16);
|
||||
result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMD16);
|
||||
|
||||
simd = 8;
|
||||
result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMD8);
|
||||
result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMD8);
|
||||
|
||||
simd = 1;
|
||||
result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMD32);
|
||||
result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMD32);
|
||||
}
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -11,21 +11,21 @@
|
||||
|
||||
namespace NEO {
|
||||
|
||||
template <typename WALKER_TYPE>
|
||||
template <typename DefaultWalkerType>
|
||||
class GivenSimdSizeWhenGetSimdConfigCalledThenCorrectEnumReturnedPVCAndLater {
|
||||
public:
|
||||
static void testBodyImpl() {
|
||||
uint32_t simd = 32;
|
||||
auto result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMT32);
|
||||
auto result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMT32);
|
||||
|
||||
simd = 16;
|
||||
result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMT16);
|
||||
result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMT16);
|
||||
|
||||
simd = 1;
|
||||
result = getSimdConfig<WALKER_TYPE>(simd);
|
||||
EXPECT_EQ(result, WALKER_TYPE::SIMD_SIZE::SIMD_SIZE_SIMT32);
|
||||
result = getSimdConfig<DefaultWalkerType>(simd);
|
||||
EXPECT_EQ(result, DefaultWalkerType::SIMD_SIZE::SIMD_SIZE_SIMT32);
|
||||
}
|
||||
};
|
||||
} // namespace NEO
|
||||
|
||||
@@ -63,7 +63,7 @@ PVCTEST_F(CommandEncodeStatesPvcTest, GivenSmallSlmTotalSizesWhenSetAdditionalIn
|
||||
using EncodeKernelPvcTest = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
PVCTEST_F(EncodeKernelPvcTest, givenRevisionBAndAboveWhenSpecialModeRequiredThenDontReprogramPipelineSelect) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
bool requiresUncachedMocs = false;
|
||||
auto hwInfo = pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
|
||||
@@ -93,7 +93,7 @@ PVCTEST_F(EncodeKernelPvcTest, givenRevisionBAndAboveWhenSpecialModeRequiredThen
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.preemptionMode = NEO::PreemptionMode::Initial;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
EXPECT_EQ(testInput.expectedValue, cmdContainer->lastPipelineSelectModeRequiredRef());
|
||||
}
|
||||
}
|
||||
@@ -174,7 +174,7 @@ PVCTEST_F(CommandEncodeStatesTestPvc, GivenVariousSlmTotalSizesAndSettingRevIDTo
|
||||
}
|
||||
|
||||
PVCTEST_F(EncodeKernelPvcTest, givenDefaultSettingForFenceAsPostSyncOperationInComputeWalkerWhenEnqueueKernelIsCalledThenDoNotGenerateFenceCommands) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
@@ -196,15 +196,15 @@ PVCTEST_F(EncodeKernelPvcTest, givenDefaultSettingForFenceAsPostSyncOperationInC
|
||||
dispatchArgs.isKernelUsingSystemAllocation = true;
|
||||
dispatchArgs.isHostScopeSignalEvent = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@ XE_HPC_CORETEST_F(CommandEncodeXeHpcCoreTest, whenAdjustComputeModeIsCalledThenC
|
||||
using EncodeKernelXeHpcCoreTest = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNoFenceAsPostSyncOperationInComputeWalkerWhenEnqueueKernelIsCalledThenDoNotGenerateFenceCommands) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(0);
|
||||
@@ -319,21 +319,21 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNoFenceAsPostSyncOperationInCo
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenFenceAsPostSyncOperationInComputeWalkerWhenEnqueueKernelIsCalledThenGenerateFenceCommands) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
using MI_MEM_FENCE = typename FamilyType::MI_MEM_FENCE;
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(1);
|
||||
@@ -345,21 +345,21 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenFenceAsPostSyncOperationInComp
|
||||
bool requiresUncachedMocs = false;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_TRUE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKernelUsesSystemMemoryFlagTrueAndNoHostSignalEventThenNotUseSystemFence) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
@@ -378,7 +378,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKern
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.isKernelUsingSystemAllocation = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(
|
||||
@@ -386,16 +386,16 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKern
|
||||
cmdContainer->getCommandStream()->getCpuBase(),
|
||||
cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenEventHostSignalScopeFlagTrueAndNoSystemMemoryThenNotUseSystemFence) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
@@ -414,7 +414,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenEven
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.isHostScopeSignalEvent = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(
|
||||
@@ -422,16 +422,16 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenEven
|
||||
cmdContainer->getCommandStream()->getCpuBase(),
|
||||
cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_FALSE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKernelUsesSystemMemoryAndHostSignalEventFlagTrueThenUseSystemFence) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
DebugManagerStateRestore restore;
|
||||
debugManager.flags.ProgramGlobalFenceAsPostSyncOperationInComputeWalker.set(-1);
|
||||
@@ -450,21 +450,21 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDefaultSettingForFenceWhenKern
|
||||
dispatchArgs.isKernelUsingSystemAllocation = true;
|
||||
dispatchArgs.isHostScopeSignalEvent = true;
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
|
||||
auto itor = find<WALKER_TYPE *>(commands.begin(), commands.end());
|
||||
auto itor = find<DefaultWalkerType *>(commands.begin(), commands.end());
|
||||
ASSERT_NE(itor, commands.end());
|
||||
|
||||
auto walkerCmd = genCmdCast<WALKER_TYPE *>(*itor);
|
||||
auto walkerCmd = genCmdCast<DefaultWalkerType *>(*itor);
|
||||
auto &postSyncData = walkerCmd->getPostSync();
|
||||
EXPECT_TRUE(postSyncData.getSystemMemoryFenceRequest());
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenCleanHeapsAndSlmNotChangedAndUncachedMocsRequestedThenSBAIsProgrammedAndMocsAreSet) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
uint32_t dims[] = {2, 1, 1};
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
cmdContainer->slmSizeRef() = 1;
|
||||
@@ -474,7 +474,7 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenCleanHeapsAndSlmNotChangedAndU
|
||||
bool requiresUncachedMocs = true;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::template encode<WALKER_TYPE>(*cmdContainer.get(), dispatchArgs);
|
||||
EncodeDispatchKernel<FamilyType>::template encode<DefaultWalkerType>(*cmdContainer.get(), dispatchArgs);
|
||||
|
||||
GenCmdList commands;
|
||||
CmdParse<FamilyType>::parseCommandBuffer(commands, ptrOffset(cmdContainer->getCommandStream()->getCpuBase(), 0), cmdContainer->getCommandStream()->getUsed());
|
||||
@@ -491,8 +491,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenCleanHeapsAndSlmNotChangedAndU
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDispatchSizeSmallerOrEqualToAvailableThreadCountWhenAdjustInterfaceDescriptorDataIsCalledThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
@@ -511,8 +511,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDispatchSizeSmallerOrEqualToAv
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenMultipleTilesAndImplicitScalingWhenAdjustInterfaceDescriptorDataIsCalledThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.EnableWalkerPartition.set(0);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
@@ -539,8 +539,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupWh
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.ForceThreadGroupDispatchSizeAlgorithm.set(1u);
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
@@ -565,8 +565,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupAn
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.ForceThreadGroupDispatchSizeAlgorithm.set(1u);
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
@@ -653,8 +653,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupAn
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDifferentNumGrfWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsCorrectlySet) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
@@ -684,8 +684,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenVariousDispatchParamtersWhenAl
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.ForceThreadGroupDispatchSizeAlgorithm.set(2u);
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto mutableHwInfo = pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
mutableHwInfo->gtSystemInfo.MaxSubSlicesSupported = 64u;
|
||||
@@ -822,8 +822,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenVariousDispatchParamtersWhenAl
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDualSubSliceCountNotEqualToMaxSubsliceCounteWhenTgDispatchSizeIsSelectedThenAlgorithmV1IsUsed) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto mutableHwInfo = pDevice->getRootDeviceEnvironment().getMutableHardwareInfo();
|
||||
mutableHwInfo->gtSystemInfo.MaxSubSlicesSupported = 64u;
|
||||
@@ -847,8 +847,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenDualSubSliceCountNotEqualToMax
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupAndDebugFlagDisabledWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsDefault) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
DebugManagerStateRestore restorer;
|
||||
debugManager.flags.AdjustThreadGroupDispatchSize.set(0);
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
@@ -873,8 +873,8 @@ XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenNumberOfThreadsInThreadGroupAn
|
||||
|
||||
XE_HPC_CORETEST_F(EncodeKernelXeHpcCoreTest, givenThreadGroupCountZeroWhenCallingAdjustInterfaceDescriptorDataThenThreadGroupDispatchSizeIsSetToDefault) {
|
||||
using INTERFACE_DESCRIPTOR_DATA = typename FamilyType::INTERFACE_DESCRIPTOR_DATA;
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd{};
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd{};
|
||||
const auto &productHelper = pDevice->getProductHelper();
|
||||
auto hwInfo = pDevice->getHardwareInfo();
|
||||
hwInfo.platform.usRevId = productHelper.getHwRevIdFromStepping(REVISION_B, hwInfo);
|
||||
|
||||
@@ -40,35 +40,35 @@ struct MockProductHelper : NEO::ProductHelperHw<productFamily> {
|
||||
};
|
||||
|
||||
HWTEST2_F(CommandEncodeStatesTestXeHpgCore, givenRequiredWorkGroupOrderAndIsAdjustWalkOrderAvailableReturnTrueWhenCallAdjustWalkOrderThenWalkerIsProgrammedCorrectly, IsXeHpgCore) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
MockExecutionEnvironment executionEnvironment{};
|
||||
auto &rootDeviceEnvironment = *executionEnvironment.rootDeviceEnvironments[0];
|
||||
|
||||
RAIIProductHelperFactory<MockProductHelper<productFamily>> raii(rootDeviceEnvironment);
|
||||
|
||||
WALKER_TYPE walkerCmd{};
|
||||
WALKER_TYPE walkerOnStart{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
DefaultWalkerType walkerOnStart{};
|
||||
|
||||
uint32_t fakeOrder = 5u;
|
||||
EncodeDispatchKernel<FamilyType>::adjustWalkOrder(walkerCmd, fakeOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(WALKER_TYPE))); // no change
|
||||
EXPECT_EQ(0, memcmp(&walkerOnStart, &walkerCmd, sizeof(DefaultWalkerType))); // no change
|
||||
|
||||
uint32_t yOrder = 2u;
|
||||
EncodeDispatchKernel<FamilyType>::adjustWalkOrder(walkerCmd, yOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(WALKER_TYPE::DISPATCH_WALK_ORDER::Y_ORDER_WALKER, walkerCmd.getDispatchWalkOrder());
|
||||
EXPECT_EQ(DefaultWalkerType::DISPATCH_WALK_ORDER::Y_ORDER_WALKER, walkerCmd.getDispatchWalkOrder());
|
||||
|
||||
uint32_t linearOrder = 0u;
|
||||
EncodeDispatchKernel<FamilyType>::adjustWalkOrder(walkerCmd, linearOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(WALKER_TYPE::DISPATCH_WALK_ORDER::LINERAR_WALKER, walkerCmd.getDispatchWalkOrder());
|
||||
EXPECT_EQ(DefaultWalkerType::DISPATCH_WALK_ORDER::LINERAR_WALKER, walkerCmd.getDispatchWalkOrder());
|
||||
}
|
||||
|
||||
using EncodeKernelXeHpgCoreTest = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
XE_HPG_CORETEST_F(EncodeKernelXeHpgCoreTest, givenRequiredWorkGroupOrderWhenCallAdjustWalkOrderThenDispatchWalkOrderIsProgrammedCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
|
||||
WALKER_TYPE walkerCmd{};
|
||||
DefaultWalkerType walkerCmd{};
|
||||
uint32_t yOrder = 2u;
|
||||
|
||||
auto &productHelper = getHelper<ProductHelper>();
|
||||
@@ -85,20 +85,20 @@ XE_HPG_CORETEST_F(EncodeKernelXeHpgCoreTest, givenRequiredWorkGroupOrderWhenCall
|
||||
EXPECT_EQ(dispatchWalkOrderBeforeAdjust, walkerCmd.getDispatchWalkOrder()); // no change
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::adjustWalkOrder(walkerCmd, yOrder, rootDeviceEnvironment);
|
||||
auto expectedWalkOrder = isExpectedNewWalkOrderApplied ? WALKER_TYPE::DISPATCH_WALK_ORDER::Y_ORDER_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
auto expectedWalkOrder = isExpectedNewWalkOrderApplied ? DefaultWalkerType::DISPATCH_WALK_ORDER::Y_ORDER_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
EXPECT_EQ(expectedWalkOrder, walkerCmd.getDispatchWalkOrder());
|
||||
|
||||
uint32_t linearOrder = 0u;
|
||||
EXPECT_EQ(HwWalkOrderHelper::compatibleDimensionOrders[linearOrder], HwWalkOrderHelper::linearWalk);
|
||||
|
||||
EncodeDispatchKernel<FamilyType>::adjustWalkOrder(walkerCmd, linearOrder, rootDeviceEnvironment);
|
||||
expectedWalkOrder = isExpectedNewWalkOrderApplied ? WALKER_TYPE::DISPATCH_WALK_ORDER::LINERAR_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
expectedWalkOrder = isExpectedNewWalkOrderApplied ? DefaultWalkerType::DISPATCH_WALK_ORDER::LINERAR_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
EXPECT_EQ(expectedWalkOrder, walkerCmd.getDispatchWalkOrder());
|
||||
}
|
||||
|
||||
XE_HPG_CORETEST_F(EncodeKernelXeHpgCoreTest, givenRequiredWorkGroupOrderWhenCallEncodeThreadDataThenDispatchWalkOrderIsProgrammedCorrectly) {
|
||||
using WALKER_TYPE = typename FamilyType::WALKER_TYPE;
|
||||
WALKER_TYPE walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
using DefaultWalkerType = typename FamilyType::DefaultWalkerType;
|
||||
DefaultWalkerType walkerCmd = FamilyType::cmdInitGpgpuWalker;
|
||||
|
||||
uint32_t startWorkGroup[3] = {1, 1, 1};
|
||||
uint32_t numWorkGroups[3] = {1, 1, 1};
|
||||
@@ -114,7 +114,7 @@ XE_HPG_CORETEST_F(EncodeKernelXeHpgCoreTest, givenRequiredWorkGroupOrderWhenCall
|
||||
uint32_t yOrder = 2u;
|
||||
EXPECT_EQ(HwWalkOrderHelper::compatibleDimensionOrders[yOrder], HwWalkOrderHelper::yOrderWalk);
|
||||
|
||||
auto expectedWalkOrder = isExpectedNewWalkOrderApplied ? WALKER_TYPE::DISPATCH_WALK_ORDER::Y_ORDER_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
auto expectedWalkOrder = isExpectedNewWalkOrderApplied ? DefaultWalkerType::DISPATCH_WALK_ORDER::Y_ORDER_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
EncodeDispatchKernel<FamilyType>::encodeThreadData(walkerCmd, startWorkGroup, numWorkGroups, workGroupSizes, 0, 3,
|
||||
0, 1, false, false, true, yOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(expectedWalkOrder, walkerCmd.getDispatchWalkOrder());
|
||||
@@ -126,7 +126,7 @@ XE_HPG_CORETEST_F(EncodeKernelXeHpgCoreTest, givenRequiredWorkGroupOrderWhenCall
|
||||
uint32_t linearOrder = 0u;
|
||||
EXPECT_EQ(HwWalkOrderHelper::compatibleDimensionOrders[linearOrder], HwWalkOrderHelper::linearWalk);
|
||||
|
||||
expectedWalkOrder = isExpectedNewWalkOrderApplied ? WALKER_TYPE::DISPATCH_WALK_ORDER::LINERAR_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
expectedWalkOrder = isExpectedNewWalkOrderApplied ? DefaultWalkerType::DISPATCH_WALK_ORDER::LINERAR_WALKER : dispatchWalkOrderBeforeAdjust;
|
||||
EncodeDispatchKernel<FamilyType>::encodeThreadData(walkerCmd, startWorkGroup, numWorkGroups, workGroupSizes, 0, 3,
|
||||
0, 1, false, false, true, linearOrder, rootDeviceEnvironment);
|
||||
EXPECT_EQ(expectedWalkOrder, walkerCmd.getDispatchWalkOrder());
|
||||
|
||||
Reference in New Issue
Block a user