Disable fused EUs when debugging enabled

Related-To: NEO-6398

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2021-11-02 11:35:47 +00:00
committed by Compute-Runtime-Automation
parent ad1c99378a
commit 9ee8ee836d
2 changed files with 7 additions and 0 deletions

View File

@@ -155,6 +155,8 @@ void DriverHandleImp::enableRootDeviceDebugger(std::unique_ptr<NEO::Device> &neo
"%s", "Source Level Debugger cannot be used with Environment Variable enabling program debugging.\n");
UNRECOVERABLE_IF(neoDevice->getDebugger() != nullptr && enableProgramDebugging);
}
rootDeviceEnvironment->getMutableHardwareInfo()->capabilityTable.fusedEuEnabled = false;
rootDeviceEnvironment->debugger = DebuggerL0::create(neoDevice.get());
}
}

View File

@@ -71,6 +71,11 @@ TEST_F(L0DebuggerTest, givenL0DebuggerWhenGettingStateSaveAreaHeaderThenValidSip
EXPECT_EQ(expectedStateSaveAreaHeader, stateSaveAreaHeader);
}
TEST_F(L0DebuggerTest, givenProgramDebuggingEnabledWhenDebuggerIsCreatedThenFusedEusAreDisabled) {
EXPECT_TRUE(driverHandle->enableProgramDebugging);
EXPECT_FALSE(neoDevice->getHardwareInfo().capabilityTable.fusedEuEnabled);
}
TEST(Debugger, givenL0DebuggerOFFWhenGettingStateSaveAreaHeaderThenValidSipTypeIsReturned) {
auto executionEnvironment = new NEO::ExecutionEnvironment();
executionEnvironment->prepareRootDeviceEnvironments(1);