mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-30 01:35:20 +08:00
- Enabled support for zeInitDrivers which combines init and driver get support. - Moved driverHandleGet to be part of Driver class to allow for unit testing of the functionality. - Updated GTPIN init conditions such that init only occurs when pCount > 0 and the driver handle pointer is not null. This ensures that the gtPin init does not trigger during the loader init calling zeInitDrivers and only is called before the first handle is retrieved. - Removed ze_init_flags_t flag from all driverInit functions since this flag is unused in all functions. Related-To: NEO-12905 Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
34 lines
873 B
C++
34 lines
873 B
C++
/*
|
|
* Copyright (C) 2020-2024 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <level_zero/ze_api.h>
|
|
|
|
namespace L0 {
|
|
struct Driver {
|
|
virtual ze_result_t driverInit() = 0;
|
|
virtual void initialize(ze_result_t *result) = 0;
|
|
static Driver *get() { return driver; }
|
|
virtual ~Driver() = default;
|
|
virtual void tryInitGtpin() = 0;
|
|
virtual ze_result_t driverHandleGet(uint32_t *pCount, ze_driver_handle_t *phDrivers) = 0;
|
|
virtual unsigned int getPid() const = 0;
|
|
|
|
protected:
|
|
static Driver *driver;
|
|
};
|
|
|
|
ze_result_t init(ze_init_flags_t);
|
|
ze_result_t initDrivers(uint32_t *pCount, ze_driver_handle_t *phDrivers, ze_init_driver_type_desc_t *desc);
|
|
|
|
extern bool sysmanInitFromCore;
|
|
extern uint32_t driverCount;
|
|
extern _ze_driver_handle_t *globalDriverHandle;
|
|
extern bool levelZeroDriverInitialized;
|
|
} // namespace L0
|