mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Implement PauseOnEnqueue for L0
Allow pausing execution before and after enqueuing kernel using the PauseOnEnqueue and PauseOnGpuMode debug flags. Related-To: NEO-6570 Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
a820e73dd7
commit
54042a191e
@ -698,6 +698,38 @@ HWCMDTEST_F(IGFX_GEN8_CORE, CommandEncodeStatesTest, giveNextIddInBlockZeorWhenD
|
||||
ASSERT_NE(itorPC, commands.end());
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenPauseOnEnqueueSetToNeverWhenEncodingWalkerThenCommandsToPatchAreNotPresent) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.PauseOnEnqueue.set(-1);
|
||||
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
bool requiresUncachedMocs = false;
|
||||
std::list<void *> cmdsToPatch;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.additionalCommands = &cmdsToPatch;
|
||||
EncodeDispatchKernel<FamilyType>::encode(*cmdContainer.get(), dispatchArgs, nullptr);
|
||||
|
||||
EXPECT_EQ(cmdsToPatch.size(), 0u);
|
||||
}
|
||||
|
||||
HWTEST_F(CommandEncodeStatesTest, givenPauseOnEnqueueSetToAlwaysWhenEncodingWalkerThenCommandsToPatchAreFilled) {
|
||||
DebugManagerStateRestore restorer;
|
||||
DebugManager.flags.PauseOnEnqueue.set(-2);
|
||||
|
||||
std::unique_ptr<MockDispatchKernelEncoder> dispatchInterface(new MockDispatchKernelEncoder());
|
||||
|
||||
uint32_t dims[] = {1, 1, 1};
|
||||
bool requiresUncachedMocs = false;
|
||||
std::list<void *> cmdsToPatch;
|
||||
EncodeDispatchKernelArgs dispatchArgs = createDefaultDispatchKernelArgs(pDevice, dispatchInterface.get(), dims, requiresUncachedMocs);
|
||||
dispatchArgs.additionalCommands = &cmdsToPatch;
|
||||
EncodeDispatchKernel<FamilyType>::encode(*cmdContainer.get(), dispatchArgs, nullptr);
|
||||
|
||||
EXPECT_EQ(cmdsToPatch.size(), 4u);
|
||||
}
|
||||
|
||||
using EncodeDispatchKernelTest = Test<CommandEncodeStatesFixture>;
|
||||
|
||||
HWTEST2_F(EncodeDispatchKernelTest, givenBindfulKernelWhenDispatchingKernelThenSshFromContainerIsUsed, IsAtLeastSkl) {
|
||||
|
Reference in New Issue
Block a user