mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +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
6dd948a4b3
commit
b10c6b4703
@@ -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