Skip to content

Commit 9562daa

Browse files
Create wrapper for Gmm exported functions
Related-To: NEO-2551 Change-Id: I6d2912b2cb020e9544e52af7c46f54d5174a1a52 Signed-off-by: Mateusz Jablonski <[email protected]>
1 parent cccb95b commit 9562daa

File tree

11 files changed

+73
-15
lines changed

11 files changed

+73
-15
lines changed

core/gmm_helper/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ set(NEO_CORE_GMM_HELPER
1414
${CMAKE_CURRENT_SOURCE_DIR}/gmm.h
1515
${CMAKE_CURRENT_SOURCE_DIR}/gmm_helper.cpp
1616
${CMAKE_CURRENT_SOURCE_DIR}/gmm_helper.h
17+
${CMAKE_CURRENT_SOURCE_DIR}/gmm_interface.h
1718
${CMAKE_CURRENT_SOURCE_DIR}/gmm_lib.h
1819
${CMAKE_CURRENT_SOURCE_DIR}/page_table_mngr.h
1920
${CMAKE_CURRENT_SOURCE_DIR}/page_table_mngr_impl.cpp

core/gmm_helper/client_context/gmm_client_context_base.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "core/gmm_helper/client_context/gmm_client_context_base.h"
99

1010
#include "core/gmm_helper/gmm_helper.h"
11+
#include "core/gmm_helper/gmm_interface.h"
1112
#include "core/helpers/debug_helpers.h"
1213
#include "core/helpers/hw_info.h"
1314
#include "core/sku_info/operations/sku_info_transfer.h"
@@ -33,7 +34,7 @@ GmmClientContextBase::GmmClientContextBase(OSInterface *osInterface, HardwareInf
3334
osInterface->setGmmInputArgs(&inArgs);
3435
}
3536

36-
auto ret = InitializeGmm(&inArgs, &outArgs);
37+
auto ret = GmmInterface::initialize(&inArgs, &outArgs);
3738

3839
UNRECOVERABLE_IF(ret != GMM_SUCCESS);
3940

@@ -43,7 +44,7 @@ GmmClientContextBase::~GmmClientContextBase() {
4344
GMM_INIT_OUT_ARGS outArgs;
4445
outArgs.pGmmClientContext = clientContext;
4546

46-
GmmAdapterDestroy(&outArgs);
47+
GmmInterface::destroy(&outArgs);
4748
};
4849

4950
MEMORY_OBJECT_CONTROL_STATE GmmClientContextBase::cachePolicyGetMemoryObject(GMM_RESOURCE_INFO *pResInfo, GMM_RESOURCE_USAGE_TYPE usage) {

core/gmm_helper/gmm_interface.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (C) 2020 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*
6+
*/
7+
8+
#pragma once
9+
#include "core/gmm_helper/gmm_lib.h"
10+
11+
namespace NEO {
12+
13+
namespace GmmInterface {
14+
15+
GMM_STATUS initialize(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs);
16+
17+
void destroy(GMM_INIT_OUT_ARGS *pInArgs);
18+
} // namespace GmmInterface
19+
} // namespace NEO
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (C) 2020 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*
6+
*/
7+
8+
#include "core/gmm_helper/gmm_interface.h"
9+
namespace NEO {
10+
namespace GmmInterface {
11+
GMM_STATUS initialize(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs) {
12+
return InitializeGmm(pInArgs, pOutArgs);
13+
}
14+
15+
void destroy(GMM_INIT_OUT_ARGS *pInArgs) {
16+
GmmAdapterDestroy(pInArgs);
17+
}
18+
} // namespace GmmInterface
19+
} // namespace NEO

core/os_interface/windows/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ set(NEO_CORE_OS_INTERFACE_WINDOWS
1616
${CMAKE_CURRENT_SOURCE_DIR}/debug_registry_reader.h
1717
${CMAKE_CURRENT_SOURCE_DIR}/gdi_interface.cpp
1818
${CMAKE_CURRENT_SOURCE_DIR}/gdi_interface.h
19-
${CMAKE_CURRENT_SOURCE_DIR}/gmm_interface.cpp
2019
${CMAKE_CURRENT_SOURCE_DIR}/kmdaf_listener${KMDAF_FILE_SUFFIX}.cpp
2120
${CMAKE_CURRENT_SOURCE_DIR}/kmdaf_listener.h
2221
${CMAKE_CURRENT_SOURCE_DIR}/os_inc.h

core/os_interface/windows/gmm_interface.cpp renamed to core/os_interface/windows/gmm_interface_win.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,19 @@
55
*
66
*/
77

8-
#include "core/gmm_helper/gmm_lib.h"
8+
#include "core/gmm_helper/gmm_interface.h"
99
#include "core/helpers/debug_helpers.h"
1010
#include "core/os_interface/os_library.h"
1111

1212
#include <memory>
1313

14-
using namespace NEO;
14+
namespace NEO {
1515

1616
static std::unique_ptr<OsLibrary> gmmLib;
1717

18-
GMM_STATUS GMM_STDCALL InitializeGmm(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs) {
18+
namespace GmmInterface {
19+
20+
GMM_STATUS initialize(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARGS *pOutArgs) {
1921
if (!gmmLib) {
2022
gmmLib.reset(OsLibrary::load(GMM_UMD_DLL));
2123
UNRECOVERABLE_IF(!gmmLib);
@@ -25,8 +27,10 @@ GMM_STATUS GMM_STDCALL InitializeGmm(GMM_INIT_IN_ARGS *pInArgs, GMM_INIT_OUT_ARG
2527
return initGmmFunc(pInArgs, pOutArgs);
2628
}
2729

28-
void GMM_STDCALL GmmAdapterDestroy(GMM_INIT_OUT_ARGS *pInArgs) {
30+
void destroy(GMM_INIT_OUT_ARGS *pInArgs) {
2931
auto destroyGmmFunc = reinterpret_cast<decltype(&GmmAdapterDestroy)>(gmmLib->getProcAddress(GMM_ADAPTER_DESTROY_NAME));
3032
UNRECOVERABLE_IF(!destroyGmmFunc);
3133
destroyGmmFunc(pInArgs);
3234
}
35+
} // namespace GmmInterface
36+
} // namespace NEO

runtime/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,8 @@ if(${GENERATE_EXECUTABLE})
159159
if(WIN32)
160160
target_link_libraries(${NEO_DYNAMIC_LIB_NAME} dxgi)
161161
add_dependencies(${NEO_DYNAMIC_LIB_NAME} ${GMM_TARGET_NAME})
162-
target_sources(${NEO_DYNAMIC_LIB_NAME} PRIVATE
163-
${NEO_SOURCE_DIR}/core/os_interface/windows/gmm_interface.cpp
162+
target_sources(${NEO_DYNAMIC_LIB_NAME} PRIVATE
163+
${NEO_SOURCE_DIR}/core/os_interface/windows/gmm_interface_win.cpp
164164
)
165165
else()
166166
target_link_libraries(${NEO_DYNAMIC_LIB_NAME} ${GMM_LINK_NAME})
@@ -174,6 +174,9 @@ if(${GENERATE_EXECUTABLE})
174174
APPEND_STRING PROPERTY LINK_FLAGS " -Wl,-Bsymbolic"
175175
)
176176
set_property(TARGET ${NEO_DYNAMIC_LIB_NAME} APPEND_STRING PROPERTY COMPILE_FLAGS ${ASAN_FLAGS})
177+
target_sources(${NEO_DYNAMIC_LIB_NAME} PRIVATE
178+
${NEO_SOURCE_DIR}/core/os_interface/linux/gmm_interface_linux.cpp
179+
)
177180
endif()
178181

179182
set_target_properties(${NEO_DYNAMIC_LIB_NAME} PROPERTIES

unit_tests/aub_tests/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,14 @@ target_sources(igdrcl_aub_tests PRIVATE
5454

5555
if(WIN32)
5656
target_sources(igdrcl_aub_tests PRIVATE
57+
${NEO_SOURCE_DIR}/core/os_interface/windows/gmm_interface_win.cpp
5758
${NEO_SOURCE_DIR}/runtime/gmm_helper/gmm_memory.cpp
5859
${NEO_SOURCE_DIR}/unit_tests/os_interface/windows/wddm_create.cpp
5960
)
61+
else()
62+
target_sources(igdrcl_aub_tests PRIVATE
63+
${NEO_SOURCE_DIR}/core/os_interface/linux/gmm_interface_linux.cpp
64+
)
6065
endif()
6166

6267
copy_gmm_dll_for(igdrcl_aub_tests)
@@ -71,7 +76,7 @@ if(UNIX)
7176
else()
7277
add_dependencies(igdrcl_aub_tests ${GMM_TARGET_NAME})
7378
target_sources(igdrcl_aub_tests PRIVATE
74-
${NEO_SOURCE_DIR}/core/os_interface/windows/gmm_interface.cpp
79+
${NEO_SOURCE_DIR}/core/os_interface/windows/gmm_interface_win.cpp
7580
)
7681
endif()
7782
target_include_directories(igdrcl_aub_tests BEFORE PRIVATE ${NEO_SOURCE_DIR}/core/unit_tests/test_macros${BRANCH_DIR_SUFFIX})

unit_tests/gmm_helper/gmm_helper_tests.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@
3030

3131
using namespace ::testing;
3232

33+
namespace NEO {
34+
3335
extern GMM_INIT_IN_ARGS passedInputArgs;
3436
extern SKU_FEATURE_TABLE passedFtrTable;
3537
extern WA_TABLE passedWaTable;
3638
extern bool copyInputArgs;
37-
namespace NEO {
39+
3840
struct GmmTests : public ::testing::Test {
3941
void SetUp() override {
4042
executionEnvironment = platformImpl->peekExecutionEnvironment();

unit_tests/main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
#include "core/debug_settings/debug_settings_manager.h"
99
#include "core/gmm_helper/gmm_helper.h"
10+
#include "core/gmm_helper/gmm_interface.h"
1011
#include "core/gmm_helper/resource_info.h"
1112
#include "core/helpers/options.h"
1213
#include "core/unit_tests/helpers/memory_leak_listener.h"
@@ -457,7 +458,7 @@ int main(int argc, char **argv) {
457458
if (useMockGmm) {
458459
GmmHelper::createGmmContextWrapperFunc = GmmClientContextBase::create<MockGmmClientContext>;
459460
} else {
460-
InitializeGmm(nullptr, nullptr);
461+
GmmInterface::initialize(nullptr, nullptr);
461462
}
462463
initializeTestHelpers();
463464

0 commit comments

Comments
 (0)