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:
Mateusz Jablonski
2020-01-20 00:17:52 +01:00
committed by sys_ocldev
parent cccb95bc4e
commit 9562daa2d0
11 changed files with 73 additions and 15 deletions

View 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

View File

@@ -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

View File

@@ -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