fix(debugger): pass correct sipAllocation to makeResident

- sipAllocation for context must be resident in Offline mode

Related-To: NEO-7630

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
Mateusz Hoppe
2023-07-28 13:22:38 +00:00
committed by Compute-Runtime-Automation
parent 8516f7f6ef
commit 997b599168
25 changed files with 141 additions and 70 deletions

View File

@@ -965,8 +965,9 @@ template <GFXCORE_FAMILY gfxCoreFamily>
void CommandQueueHw<gfxCoreFamily>::makeSipIsaResidentIfSipKernelUsed(CommandListExecutionContext &ctx) {
NEO::Device *neoDevice = this->device->getNEODevice();
if (ctx.isDevicePreemptionModeMidThread || ctx.isNEODebuggerActive(this->device)) {
auto sipIsa = NEO::SipKernel::getSipKernel(*neoDevice).getSipAllocation();
this->csr->makeResident(*sipIsa);
NEO::GraphicsAllocation *sipAllocation = NEO::SipKernel::getSipKernel(*neoDevice, &this->csr->getOsContext()).getSipAllocation();
this->csr->makeResident(*sipAllocation);
}
}

View File

@@ -1195,8 +1195,8 @@ Device *Device::create(DriverHandle *driverHandle, NEO::Device *neoDevice, bool
bool ret = NEO::SipKernel::initSipKernel(NEO::SipKernel::getSipKernelType(*neoDevice), *neoDevice);
UNRECOVERABLE_IF(!ret);
stateSaveAreaHeader = NEO::SipKernel::getSipKernel(*neoDevice).getStateSaveAreaHeader();
debugSurfaceSize = NEO::SipKernel::getSipKernel(*neoDevice).getStateSaveAreaSize(neoDevice);
stateSaveAreaHeader = NEO::SipKernel::getSipKernel(*neoDevice, nullptr).getStateSaveAreaHeader();
debugSurfaceSize = NEO::SipKernel::getSipKernel(*neoDevice, nullptr).getStateSaveAreaSize(neoDevice);
} else {
*returnValue = ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE;
}