/* * Copyright (C) 2019-2020 Intel Corporation * * SPDX-License-Identifier: MIT * */ #include "command_stream/preemption.h" #include "execution_environment/root_device_environment.h" #include "os_interface/windows/gdi_interface.h" #include "opencl/test/unit_test/mocks/mock_execution_environment.h" #include "opencl/test/unit_test/mocks/mock_wddm.h" #include "opencl/test/unit_test/os_interface/windows/gdi_dll_fixture.h" #include "test.h" #include "mock_gmm_memory.h" using namespace NEO; struct Gen12LpWddmTest : public GdiDllFixture, ::testing::Test { void SetUp() override { GdiDllFixture::SetUp(); executionEnvironment = std::make_unique(); executionEnvironment->initGmm(); rootDeviceEnvironment = std::make_unique(*executionEnvironment); wddm.reset(static_cast(Wddm::createWddm(nullptr, *rootDeviceEnvironment))); gmmMemory = new ::testing::NiceMock(executionEnvironment->getGmmClientContext()); wddm->gmmMemory.reset(gmmMemory); } void TearDown() override { GdiDllFixture::TearDown(); } std::unique_ptr executionEnvironment; std::unique_ptr rootDeviceEnvironment; std::unique_ptr wddm; GmockGmmMemory *gmmMemory = nullptr; }; GEN12LPTEST_F(Gen12LpWddmTest, whenConfigureDeviceAddressSpaceThenObtainMinAddress) { ON_CALL(*gmmMemory, configureDeviceAddressSpace(::testing::_, ::testing::_, ::testing::_, ::testing::_, ::testing::_)) .WillByDefault(::testing::Return(true)); uintptr_t minAddress = 0x12345u; EXPECT_NE(NEO::windowsMinAddress, minAddress); EXPECT_CALL(*gmmMemory, getInternalGpuVaRangeLimit()) .Times(1) .WillRepeatedly(::testing::Return(minAddress)); wddm->init(); EXPECT_EQ(minAddress, wddm->getWddmMinAddress()); }