mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 16:24:18 +08:00
fix: Use debug SIP when debugging is enabled
Disable wMTP when debug is enabled Related-to: NEO-10085 Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
7fbf724c72
commit
f56eeb0eb7
@@ -237,12 +237,18 @@ void SipKernel::freeSipKernels(RootDeviceEnvironment *rootDeviceEnvironment, Mem
|
||||
}
|
||||
}
|
||||
|
||||
void SipKernel::selectSipClassType(std::string &fileName, const GfxCoreHelper &gfxCoreHelper) {
|
||||
void SipKernel::selectSipClassType(std::string &fileName, Device &device) {
|
||||
const GfxCoreHelper &gfxCoreHelper = device.getGfxCoreHelper();
|
||||
const std::string unknown("unk");
|
||||
if (fileName.compare(unknown) == 0) {
|
||||
bool debuggingEnabled = device.getDebugger() != nullptr;
|
||||
if (debuggingEnabled) {
|
||||
SipKernel::classType = SipClassType::builtins;
|
||||
} else {
|
||||
SipKernel::classType = gfxCoreHelper.isSipKernelAsHexadecimalArrayPreferred()
|
||||
? SipClassType::hexadecimalHeaderFile
|
||||
: SipClassType::builtins;
|
||||
}
|
||||
} else {
|
||||
SipKernel::classType = SipClassType::rawBinaryFromFile;
|
||||
}
|
||||
@@ -250,7 +256,7 @@ void SipKernel::selectSipClassType(std::string &fileName, const GfxCoreHelper &g
|
||||
|
||||
bool SipKernel::initSipKernelImpl(SipKernelType type, Device &device, OsContext *context) {
|
||||
std::string fileName = debugManager.flags.LoadBinarySipFromFile.get();
|
||||
SipKernel::selectSipClassType(fileName, device.getGfxCoreHelper());
|
||||
SipKernel::selectSipClassType(fileName, device);
|
||||
|
||||
switch (SipKernel::classType) {
|
||||
case SipClassType::rawBinaryFromFile:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2023 Intel Corporation
|
||||
* Copyright (C) 2018-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -78,7 +78,7 @@ class SipKernel {
|
||||
static std::string createHeaderFilename(const std::string &filename);
|
||||
|
||||
static bool initHexadecimalArraySipKernel(SipKernelType type, Device &device);
|
||||
static void selectSipClassType(std::string &fileName, const GfxCoreHelper &gfxCoreHelper);
|
||||
static void selectSipClassType(std::string &fileName, Device &device);
|
||||
|
||||
const std::vector<char> stateSaveAreaHeader;
|
||||
const std::vector<char> binary;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2021-2023 Intel Corporation
|
||||
* Copyright (C) 2021-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -730,3 +730,20 @@ TEST(DebugBindlessSip, givenOfflineDebuggingModeWhenDebugSipForContextIsCreatedT
|
||||
|
||||
gEnvironment->igcPopDebugVars();
|
||||
}
|
||||
class SipKernelMock : public SipKernel {
|
||||
public:
|
||||
using SipKernel::selectSipClassType;
|
||||
};
|
||||
|
||||
using DebugBuiltinSipTest = Test<DeviceFixture>;
|
||||
|
||||
TEST_F(DebugBuiltinSipTest, givenDebuggerWhenInitSipKernelThenDbgSipIsLoadedFromBuiltin) {
|
||||
pDevice->executionEnvironment->rootDeviceEnvironments[0]->initDebuggerL0(pDevice);
|
||||
auto sipKernelType = SipKernel::getSipKernelType(*pDevice);
|
||||
EXPECT_TRUE(SipKernel::initSipKernel(sipKernelType, *pDevice));
|
||||
EXPECT_LE(SipKernelType::dbgCsr, sipKernelType);
|
||||
|
||||
auto sipAllocation = SipKernel::getSipKernel(*pDevice, nullptr).getSipAllocation();
|
||||
EXPECT_NE(nullptr, sipAllocation);
|
||||
EXPECT_EQ(SipKernelMock::classType, SipClassType::builtins);
|
||||
}
|
||||
Reference in New Issue
Block a user