fix: Restore ULLS sfence on integrated devices

Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk
2023-07-20 16:28:30 +00:00
committed by Compute-Runtime-Automation
parent 87579e9bcf
commit bbe7d051e3
3 changed files with 5 additions and 18 deletions

View File

@@ -64,7 +64,6 @@ DirectSubmissionHw<GfxFamily, Dispatcher>::DirectSubmissionHw(const DirectSubmis
if (hwInfo->capabilityTable.isIntegratedDevice) {
miMemFenceRequired = false;
sfenceMode = DirectSubmissionSfenceMode::Disabled;
} else {
miMemFenceRequired = productHelper.isGlobalFenceInDirectSubmissionRequired(*hwInfo);
}

View File

@@ -1009,7 +1009,7 @@ HWTEST_F(DirectSubmissionDispatchBufferTest, givenDebugFlagSetWhenDispatchingWor
EXPECT_TRUE(directSubmission.dispatchCommandBuffer(batchBuffer, flushStamp));
uint32_t expectedCount = (debugFlag == -1) ? (pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice ? 0 : 2) : static_cast<uint32_t>(debugFlag);
uint32_t expectedCount = (debugFlag == -1) ? 2 : static_cast<uint32_t>(debugFlag);
EXPECT_EQ(initialCounterValue + expectedCount, CpuIntrinsicsTests::sfenceCounter);
}
@@ -1032,7 +1032,7 @@ HWTEST_F(DirectSubmissionDispatchBufferTest, givenDebugFlagSetWhenStoppingRingbu
EXPECT_TRUE(directSubmission.stopRingBuffer(false));
uint32_t expectedCount = (debugFlag == -1) ? (pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice ? 0 : 2) : static_cast<uint32_t>(debugFlag);
uint32_t expectedCount = (debugFlag == -1) ? 2 : static_cast<uint32_t>(debugFlag);
EXPECT_EQ(initialCounterValue + expectedCount, CpuIntrinsicsTests::sfenceCounter);
}

View File

@@ -226,11 +226,7 @@ HWTEST_F(DrmDirectSubmissionTest, givenPciBarrierWhenCreateDirectSubmissionThenP
MockDrmDirectSubmission<FamilyType, RenderDispatcher<FamilyType>> directSubmission(commandStreamReceiver);
EXPECT_NE(nullptr, directSubmission.pciBarrierPtr);
if (device->getHardwareInfo().capabilityTable.isIntegratedDevice) {
EXPECT_EQ(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
} else {
EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
}
EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
EXPECT_FALSE(directSubmission.miMemFenceRequired);
SysCalls::munmap(ptr, MemoryConstants::pageSize);
@@ -251,11 +247,7 @@ HWTEST_F(DrmDirectSubmissionTest, givenPciBarrierWhenCreateDirectSubmissionAndMm
MockDrmDirectSubmission<FamilyType, RenderDispatcher<FamilyType>> directSubmission(commandStreamReceiver);
EXPECT_EQ(nullptr, directSubmission.pciBarrierPtr);
if (device->getHardwareInfo().capabilityTable.isIntegratedDevice) {
EXPECT_EQ(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
} else {
EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
}
EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
auto expectMiMemFence = device->getHardwareInfo().capabilityTable.isIntegratedDevice ? false : device->getRootDeviceEnvironment().getHelper<ProductHelper>().isGlobalFenceInDirectSubmissionRequired(device->getHardwareInfo());
EXPECT_EQ(directSubmission.miMemFenceRequired, expectMiMemFence);
@@ -276,11 +268,7 @@ HWTEST_F(DrmDirectSubmissionTest, givenPciBarrierDisabledWhenCreateDirectSubmiss
MockDrmDirectSubmission<FamilyType, RenderDispatcher<FamilyType>> directSubmission(commandStreamReceiver);
EXPECT_EQ(nullptr, directSubmission.pciBarrierPtr);
if (device->getHardwareInfo().capabilityTable.isIntegratedDevice) {
EXPECT_EQ(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
} else {
EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
}
EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode);
auto expectMiMemFence = device->getHardwareInfo().capabilityTable.isIntegratedDevice ? false : device->getRootDeviceEnvironment().getHelper<ProductHelper>().isGlobalFenceInDirectSubmissionRequired(device->getHardwareInfo());
EXPECT_EQ(directSubmission.miMemFenceRequired, expectMiMemFence);