mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-22 10:17:01 +08:00
fix: create VMs with correct flags when perContextVms used
Related-To: NEO-7813 Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
322c89cd1e
commit
d8f99161dd
@@ -49,21 +49,26 @@ bool OsContextLinux::initializeContext() {
|
||||
for (auto deviceIndex = 0u; deviceIndex < deviceBitfield.size(); deviceIndex++) {
|
||||
if (deviceBitfield.test(deviceIndex)) {
|
||||
auto drmVmId = drm.getVirtualMemoryAddressSpace(deviceIndex);
|
||||
|
||||
if (drm.isPerContextVMRequired()) {
|
||||
drmVmId = deviceIndex;
|
||||
[[maybe_unused]] auto ret = drm.createDrmVirtualMemory(drmVmId);
|
||||
DEBUG_BREAK_IF(drmVmId == 0);
|
||||
DEBUG_BREAK_IF(ret != 0);
|
||||
if (ret != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
UNRECOVERABLE_IF(this->drmVmIds.size() <= deviceIndex);
|
||||
this->drmVmIds[deviceIndex] = drmVmId;
|
||||
}
|
||||
|
||||
auto drmContextId = drm.getIoctlHelper()->createDrmContext(drm, *this, drmVmId, deviceIndex);
|
||||
if (drmContextId < 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
this->drmContextIds.push_back(drmContextId);
|
||||
|
||||
if (drm.isPerContextVMRequired()) {
|
||||
[[maybe_unused]] auto ret = drm.queryVmId(drmContextId, drmVmId);
|
||||
DEBUG_BREAK_IF(drmVmId == 0);
|
||||
DEBUG_BREAK_IF(ret != 0);
|
||||
|
||||
UNRECOVERABLE_IF(this->drmVmIds.size() <= deviceIndex);
|
||||
this->drmVmIds[deviceIndex] = drmVmId;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user