mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-29 17:13:29 +08:00
Create wrapper for Gmm exported functions
Related-To: NEO-2551 Change-Id: I6d2912b2cb020e9544e52af7c46f54d5174a1a52 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
cccb95bc4e
commit
9562daa2d0
19
core/os_interface/linux/gmm_interface_linux.cpp
Normal file
19
core/os_interface/linux/gmm_interface_linux.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2020 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "core/gmm_helper/gmm_interface.h"
|
||||
namespace NEO {
|
||||
namespace GmmInterface {
|
||||
GMM_STATUS initialize(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs) {
|
||||
return InitializeGmm(pInArgs, pOutArgs);
|
||||
}
|
||||
|
||||
void destroy(GMM_INIT_OUT_ARGS *pInArgs) {
|
||||
GmmAdapterDestroy(pInArgs);
|
||||
}
|
||||
} // namespace GmmInterface
|
||||
} // namespace NEO
|
||||
@@ -16,7 +16,6 @@ set(NEO_CORE_OS_INTERFACE_WINDOWS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/debug_registry_reader.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gdi_interface.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gdi_interface.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gmm_interface.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kmdaf_listener${KMDAF_FILE_SUFFIX}.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kmdaf_listener.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/os_inc.h
|
||||
|
||||
@@ -5,17 +5,19 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "core/gmm_helper/gmm_lib.h"
|
||||
#include "core/gmm_helper/gmm_interface.h"
|
||||
#include "core/helpers/debug_helpers.h"
|
||||
#include "core/os_interface/os_library.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
using namespace NEO;
|
||||
namespace NEO {
|
||||
|
||||
static std::unique_ptr<OsLibrary> gmmLib;
|
||||
|
||||
GMM_STATUS GMM_STDCALL InitializeGmm(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs) {
|
||||
namespace GmmInterface {
|
||||
|
||||
GMM_STATUS initialize(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs) {
|
||||
if (!gmmLib) {
|
||||
gmmLib.reset(OsLibrary::load(GMM_UMD_DLL));
|
||||
UNRECOVERABLE_IF(!gmmLib);
|
||||
@@ -25,8 +27,10 @@ GMM_STATUS GMM_STDCALL InitializeGmm(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARG
|
||||
return initGmmFunc(pInArgs, pOutArgs);
|
||||
}
|
||||
|
||||
void GMM_STDCALL GmmAdapterDestroy(GMM_INIT_OUT_ARGS *pInArgs) {
|
||||
void destroy(GMM_INIT_OUT_ARGS *pInArgs) {
|
||||
auto destroyGmmFunc = reinterpret_cast<decltype(&GmmAdapterDestroy)>(gmmLib->getProcAddress(GMM_ADAPTER_DESTROY_NAME));
|
||||
UNRECOVERABLE_IF(!destroyGmmFunc);
|
||||
destroyGmmFunc(pInArgs);
|
||||
}
|
||||
} // namespace GmmInterface
|
||||
} // namespace NEO
|
||||
Reference in New Issue
Block a user