mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-07 12:42:54 +08:00
feature: add global driver dispatch as prework for DDI handles extension support
As per DDI handles extension, global ddi table pointers will be included in every L0 handle. This change is focused on initialization of the global objects and reuse of them within zeGet...ProcAddrTable functions to avoid duplication of per component ddi table definitions Related-To: NEO-13121, NEO-13917 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
66f14a8dd4
commit
dce4ca8ce7
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "level_zero/core/source/driver/driver.h"
|
||||
#include "level_zero/core/source/driver/driver_handle_imp.h"
|
||||
#include "level_zero/ddi/ze_ddi_tables.h"
|
||||
#include "level_zero/sysman/source/driver/sysman_driver_handle_imp.h"
|
||||
|
||||
namespace L0 {
|
||||
@@ -19,6 +20,9 @@ decltype(&zelLoaderTranslateHandle) loaderTranslateHandleFunc = nullptr;
|
||||
decltype(&zelSetDriverTeardown) setDriverTeardownFunc = nullptr;
|
||||
|
||||
void globalDriverSetup() {
|
||||
globalDriverDispatch.core.isValidFlag = true;
|
||||
globalDriverDispatch.tools.isValidFlag = true;
|
||||
globalDriverDispatch.sysman.isValidFlag = true;
|
||||
if (!globalDriverHandles) {
|
||||
globalDriverHandles = new std::vector<_ze_driver_handle_t *>;
|
||||
}
|
||||
@@ -64,5 +68,8 @@ void globalDriverTeardown() {
|
||||
delete Sysman::globalSysmanDriver;
|
||||
Sysman::globalSysmanDriver = nullptr;
|
||||
}
|
||||
globalDriverDispatch.core.isValidFlag = false;
|
||||
globalDriverDispatch.tools.isValidFlag = false;
|
||||
globalDriverDispatch.sysman.isValidFlag = false;
|
||||
}
|
||||
} // namespace L0
|
||||
|
||||
Reference in New Issue
Block a user