mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 21:42:53 +08:00
Change-Id: I477435714a20f7a9c8fd4bb1ef6b852eeaabd5e2 Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
80 lines
2.1 KiB
C++
80 lines
2.1 KiB
C++
/*
|
|
* Copyright (C) 2020 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#include "level_zero/tools/source/sysman/engine/engine_imp.h"
|
|
|
|
#include "level_zero/core/source/device/device.h"
|
|
|
|
namespace L0 {
|
|
|
|
ze_result_t EngineImp::engineGetActivity(zet_engine_stats_t *pStats) {
|
|
ze_result_t result = pOsEngine->getActiveTime(pStats->activeTime);
|
|
if (result != ZE_RESULT_SUCCESS) {
|
|
return result;
|
|
}
|
|
return pOsEngine->getTimeStamp(pStats->timestamp);
|
|
}
|
|
|
|
ze_result_t EngineImp::engineGetActivity(zes_engine_stats_t *pStats) {
|
|
ze_result_t result = pOsEngine->getActiveTime(pStats->activeTime);
|
|
if (result != ZE_RESULT_SUCCESS) {
|
|
return result;
|
|
}
|
|
return pOsEngine->getTimeStamp(pStats->timestamp);
|
|
}
|
|
|
|
ze_result_t EngineImp::engineGetProperties(zet_engine_properties_t *pProperties) {
|
|
*pProperties = zetEngineProperties;
|
|
return ZE_RESULT_SUCCESS;
|
|
}
|
|
|
|
ze_result_t EngineImp::engineGetProperties(zes_engine_properties_t *pProperties) {
|
|
*pProperties = engineProperties;
|
|
return ZE_RESULT_SUCCESS;
|
|
}
|
|
|
|
void EngineImp::init(zet_engine_group_t type) {
|
|
if (pOsEngine->getEngineGroup(type) == ZE_RESULT_SUCCESS) {
|
|
this->initSuccess = true;
|
|
} else {
|
|
this->initSuccess = false;
|
|
}
|
|
zetEngineProperties.type = type;
|
|
zetEngineProperties.onSubdevice = false;
|
|
zetEngineProperties.subdeviceId = 0;
|
|
}
|
|
|
|
void EngineImp::init(zes_engine_group_t type) {
|
|
if (pOsEngine->getEngineGroup(type) == ZE_RESULT_SUCCESS) {
|
|
this->initSuccess = true;
|
|
} else {
|
|
this->initSuccess = false;
|
|
}
|
|
engineProperties.type = type;
|
|
engineProperties.onSubdevice = false;
|
|
engineProperties.subdeviceId = 0;
|
|
}
|
|
|
|
EngineImp::EngineImp(OsSysman *pOsSysman, zet_engine_group_t type) {
|
|
pOsEngine = OsEngine::create(pOsSysman);
|
|
init(type);
|
|
}
|
|
|
|
EngineImp::EngineImp(OsSysman *pOsSysman, zes_engine_group_t type) {
|
|
pOsEngine = OsEngine::create(pOsSysman);
|
|
init(type);
|
|
}
|
|
|
|
EngineImp::~EngineImp() {
|
|
if (nullptr != pOsEngine) {
|
|
delete pOsEngine;
|
|
pOsEngine = nullptr;
|
|
}
|
|
}
|
|
|
|
} // namespace L0
|