/* * Copyright (C) 2020-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "level_zero/sysman/source/engine/engine_imp.h" namespace L0 { namespace Sysman { ze_result_t EngineImp::engineGetActivity(zes_engine_stats_t *pStats) { return pOsEngine->getActivity(pStats); } ze_result_t EngineImp::engineGetProperties(zes_engine_properties_t *pProperties) { *pProperties = engineProperties; return ZE_RESULT_SUCCESS; } void EngineImp::init() { if (pOsEngine->isEngineModuleSupported()) { pOsEngine->getProperties(engineProperties); this->initSuccess = true; } } EngineImp::EngineImp(OsSysman *pOsSysman, zes_engine_group_t engineType, uint32_t engineInstance, uint32_t subDeviceId, ze_bool_t onSubdevice) { pOsEngine = OsEngine::create(pOsSysman, engineType, engineInstance, subDeviceId, onSubdevice); init(); } EngineImp::~EngineImp() { if (nullptr != pOsEngine) { delete pOsEngine; pOsEngine = nullptr; } } } // namespace Sysman } // namespace L0