mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Enable Windows Os Layer for Sysman
Adding KmdSysman with ULT Change-Id: If080e6327171d3634a0c461c4169ea8c84461e13
This commit is contained in:
committed by
sys_ocldev
parent
acc4a44b15
commit
278505ca4d
@@ -10,9 +10,41 @@
|
||||
namespace L0 {
|
||||
|
||||
ze_result_t WddmSysmanImp::init() {
|
||||
Device *pDevice = nullptr;
|
||||
if (pParentSysmanImp != nullptr) {
|
||||
pDevice = Device::fromHandle(pParentSysmanImp->hCoreDevice);
|
||||
} else if (pParentSysmanDeviceImp != nullptr) {
|
||||
pDevice = Device::fromHandle(pParentSysmanDeviceImp->hCoreDevice);
|
||||
} else {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
UNRECOVERABLE_IF(nullptr == pDevice);
|
||||
|
||||
NEO::OSInterface &OsInterface = pDevice->getOsInterface();
|
||||
pWddm = OsInterface.get()->getWddm();
|
||||
pKmdSysManager = KmdSysManager::create(pWddm);
|
||||
UNRECOVERABLE_IF(nullptr == pKmdSysManager);
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
NEO::Wddm &WddmSysmanImp::getWddm() {
|
||||
UNRECOVERABLE_IF(nullptr == pWddm);
|
||||
return *pWddm;
|
||||
}
|
||||
|
||||
KmdSysManager &WddmSysmanImp::getKmdSysManager() {
|
||||
UNRECOVERABLE_IF(nullptr == pKmdSysManager);
|
||||
return *pKmdSysManager;
|
||||
}
|
||||
|
||||
WddmSysmanImp::~WddmSysmanImp() {
|
||||
if (nullptr != pKmdSysManager) {
|
||||
delete pKmdSysManager;
|
||||
pKmdSysManager = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
OsSysman *OsSysman::create(SysmanImp *pParentSysmanImp) {
|
||||
WddmSysmanImp *pWddmSysmanImp = new WddmSysmanImp(pParentSysmanImp);
|
||||
return static_cast<OsSysman *>(pWddmSysmanImp);
|
||||
|
||||
Reference in New Issue
Block a user