Skip to content

Commit 58eaece

Browse files
fix: Make DirectSubmissionInsertExtraMiMemFenceCommands able to force fence
Signed-off-by: Lukasz Jobczyk <[email protected]>
1 parent c51b656 commit 58eaece

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

shared/source/direct_submission/direct_submission_hw.inl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
7373
miMemFenceRequired = productHelper.isGlobalFenceInDirectSubmissionRequired(*hwInfo);
7474
}
7575

76-
if (debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.get() == 0) {
77-
miMemFenceRequired = false;
76+
if (debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.get() != -1) {
77+
miMemFenceRequired = debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.get();
7878
}
7979
if (debugManager.flags.DirectSubmissionInsertSfenceInstructionPriorToSubmission.get() != -1) {
8080
sfenceMode = static_cast<DirectSubmissionSfenceMode>(debugManager.flags.DirectSubmissionInsertSfenceInstructionPriorToSubmission.get());

shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ HWTEST_F(DirectSubmissionDispatchMiMemFenceTest, givenPciBarrierPtrSetWhenUnbloc
171171
EXPECT_EQ(*directSubmission.pciBarrierPtr, 0u);
172172
}
173173

174-
HWTEST_F(DirectSubmissionDispatchMiMemFenceTest, givenDebugFlagSetWhenCreatingDirectSubmissionThenDontEnableMiMemFenceProgramming) {
174+
HWTEST_F(DirectSubmissionDispatchMiMemFenceTest, givenDebugFlagSetToFalseWhenCreatingDirectSubmissionThenDontEnableMiMemFenceProgramming) {
175175
DebugManagerStateRestore restorer;
176176
debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(0);
177177

@@ -182,7 +182,23 @@ HWTEST_F(DirectSubmissionDispatchMiMemFenceTest, givenDebugFlagSetWhenCreatingDi
182182

183183
EXPECT_TRUE(directSubmission.initialize(true, false));
184184

185+
EXPECT_FALSE(directSubmission.miMemFenceRequired);
186+
EXPECT_FALSE(directSubmission.systemMemoryFenceAddressSet);
187+
}
188+
189+
HWTEST_F(DirectSubmissionDispatchMiMemFenceTest, givenDebugFlagSetToTrueWhenCreatingDirectSubmissionThenEnableMiMemFenceProgramming) {
190+
DebugManagerStateRestore restorer;
191+
debugManager.flags.DirectSubmissionInsertExtraMiMemFenceCommands.set(1);
192+
193+
MockDirectSubmissionHw<FamilyType, RenderDispatcher<FamilyType>> directSubmission(*pDevice->getDefaultEngine().commandStreamReceiver);
194+
195+
EXPECT_TRUE(directSubmission.miMemFenceRequired);
185196
EXPECT_FALSE(directSubmission.systemMemoryFenceAddressSet);
197+
198+
EXPECT_TRUE(directSubmission.initialize(true, false));
199+
200+
EXPECT_TRUE(directSubmission.systemMemoryFenceAddressSet);
201+
EXPECT_TRUE(directSubmission.miMemFenceRequired);
186202
}
187203

188204
HWCMDTEST_F(IGFX_XE_HP_CORE, DirectSubmissionDispatchBufferTest,

0 commit comments

Comments
 (0)