Move mock_gmm_memory to shared

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2021-10-21 18:22:38 +00:00
committed by Compute-Runtime-Automation
parent 6e90770279
commit 802a272c5f
19 changed files with 40 additions and 102 deletions

View File

@@ -110,6 +110,9 @@ add_library(igdrcl_libult_common OBJECT EXCLUDE_FROM_ALL
)
set(igdrcl_libult_common_SRCS_LIB_ULT_WIN
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/windows/gmm_memory${BRANCH_DIR_SUFFIX}mock_gmm_memory.h
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/windows/mock_gmm_memory_base.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/windows/mock_gmm_memory_base.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxcore_factory.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxcore_factory.h
${NEO_SHARED_TEST_DIRECTORY}/common/os_interface/windows/ult_dxgi_factory.cpp
@@ -122,8 +125,17 @@ set(igdrcl_libult_common_SRCS_LIB_ULT_LINUX
)
set_property(GLOBAL PROPERTY igdrcl_libult_common_SRCS_LIB_ULT_LINUX ${igdrcl_libult_common_SRCS_LIB_ULT_LINUX})
if(UNIX AND NOT DISABLE_WDDM_LINUX)
target_sources(igdrcl_libult_common PRIVATE
${NEO_SHARED_DIRECTORY}/gmm_helper/windows/gmm_memory.cpp
${NEO_SHARED_DIRECTORY}/os_interface/windows/wddm/wddm_create.cpp
)
endif()
if(WIN32)
target_sources(igdrcl_libult_common PRIVATE ${igdrcl_libult_common_SRCS_LIB_ULT_WIN})
target_include_directories(igdrcl_libult_common PRIVATE
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/windows/gmm_memory${BRANCH_DIR_SUFFIX}
)
elseif(UNIX)
target_sources(igdrcl_libult_common PRIVATE ${igdrcl_libult_common_SRCS_LIB_ULT_LINUX})
endif()

View File

@@ -0,0 +1,16 @@
/*
* Copyright (C) 2018-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/test/common/mocks/windows/mock_gmm_memory_base.h"
namespace NEO {
class MockGmmMemory : public MockGmmMemoryBase {
using MockGmmMemoryBase::MockGmmMemoryBase;
};
} // namespace NEO

View File

@@ -0,0 +1,14 @@
/*
* Copyright (C) 2018-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "mock_gmm_memory.h"
namespace NEO {
GmmMemory *GmmMemory::create(GmmClientContext *gmmClientContext) {
return new MockGmmMemory(gmmClientContext);
}
} // namespace NEO

View File

@@ -0,0 +1,73 @@
/*
* Copyright (C) 2018-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "shared/source/os_interface/windows/windows_defs.h"
#include "gmm_memory.h"
#include "gmock/gmock.h"
namespace NEO {
class MockGmmMemoryBase : public GmmMemory {
public:
~MockGmmMemoryBase() = default;
MockGmmMemoryBase(GmmClientContext *gmmClientContext) : GmmMemory(gmmClientContext){};
bool configureDeviceAddressSpace(GMM_ESCAPE_HANDLE hAdapter,
GMM_ESCAPE_HANDLE hDevice,
GMM_ESCAPE_FUNC_TYPE pfnEscape,
GMM_GFX_SIZE_T svmSize,
BOOLEAN bdwL3Coherency) override {
return true;
}
void overrideInternalGpuVaRangeLimit(uintptr_t value) {
this->internalGpuVaRangeLimit = value;
}
uintptr_t getInternalGpuVaRangeLimit() override {
return internalGpuVaRangeLimit;
}
bool setDeviceInfo(GMM_DEVICE_INFO *deviceInfo) override {
partition = deviceInfo->pGfxPartition;
deviceCallbacks = *deviceInfo->pDeviceCb;
return setDeviceInfoValue;
}
GMM_GFX_PARTITIONING *partition = nullptr;
bool setDeviceInfoValue = true;
uintptr_t internalGpuVaRangeLimit = NEO::windowsMinAddress;
GMM_DEVICE_CALLBACKS_INT deviceCallbacks{};
};
class GmockGmmMemory : public GmmMemory {
public:
~GmockGmmMemory() = default;
GmockGmmMemory(GmmClientContext *gmmClientContext) : GmmMemory(gmmClientContext) {
ON_CALL(*this, getInternalGpuVaRangeLimit())
.WillByDefault(::testing::Return(NEO::windowsMinAddress));
ON_CALL(*this, setDeviceInfo(::testing::_))
.WillByDefault(::testing::Return(true));
}
MOCK_METHOD0(getInternalGpuVaRangeLimit, uintptr_t());
MOCK_METHOD1(setDeviceInfo, bool(GMM_DEVICE_INFO *));
MOCK_METHOD5(configureDeviceAddressSpace,
bool(GMM_ESCAPE_HANDLE hAdapter,
GMM_ESCAPE_HANDLE hDevice,
GMM_ESCAPE_FUNC_TYPE pfnEscape,
GMM_GFX_SIZE_T svmSize,
BOOLEAN bdwL3Coherency));
};
} // namespace NEO

View File

@@ -24,13 +24,12 @@
#include "shared/test/common/mocks/mock_wddm.h"
#include "shared/test/common/mocks/mock_wddm_interface20.h"
#include "shared/test/common/mocks/mock_wddm_residency_allocations_container.h"
#include "shared/test/common/mocks/windows/mock_gmm_memory_base.h"
#include "shared/test/common/os_interface/windows/gdi_dll_fixture.h"
#include "shared/test/unit_test/os_interface/windows/mock_gdi_interface.h"
#include "test.h"
#include "mock_gmm_memory.h"
namespace NEO {
struct WddmFixture : public Test<MockExecutionEnvironmentGmmFixture> {
void SetUp() override {

View File

@@ -48,12 +48,6 @@ if(NOT SKIP_UNIT_TESTS)
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/linux/mock_drm_memory_manager.cpp
${NEO_SHARED_TEST_DIRECTORY}/common/mocks/linux/mock_drm_memory_manager.h
)
if(NOT DISABLE_WDDM_LINUX)
target_sources(${TARGET_NAME} PRIVATE
${NEO_SHARED_DIRECTORY}/gmm_helper/windows/gmm_memory.cpp
${NEO_SHARED_DIRECTORY}/os_interface/windows/wddm/wddm_create.cpp
)
endif()
else()
target_sources(${TARGET_NAME} PRIVATE
${NEO_SOURCE_DIR}/opencl/test/unit_test/os_interface/windows/create_wddm_memory_manager.cpp