diff --git a/runtime/dll/linux/drm_neo_create.cpp b/runtime/dll/linux/drm_neo_create.cpp index 29c7efe155..01382b5513 100644 --- a/runtime/dll/linux/drm_neo_create.cpp +++ b/runtime/dll/linux/drm_neo_create.cpp @@ -211,7 +211,7 @@ Drm *Drm::create(int32_t deviceOrdinal) { //turbo patch not present, we are not on custom Kernel, switch to simplified Mocs selection //do this only for GEN9+ if (device->pHwInfo->pPlatform->eRenderCoreFamily >= IGFX_GEN9_CORE) { - GmmHelper::useSimplifiedMocsTable = true; + drmObject->setSimplifiedMocsTableUsage(true); } printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "WARNING: Failed to request OCL Turbo Boost\n"); } diff --git a/runtime/gmm_helper/gmm.cpp b/runtime/gmm_helper/gmm.cpp index d8567b24f2..96c7a7b4d3 100644 --- a/runtime/gmm_helper/gmm.cpp +++ b/runtime/gmm_helper/gmm.cpp @@ -180,7 +180,7 @@ void Gmm::queryImageParams(ImageInfo &imgInfo) { } uint32_t Gmm::queryQPitch(GMM_RESOURCE_TYPE resType) { - if (GmmHelper::hwInfo->pPlatform->eRenderCoreFamily == IGFX_GEN8_CORE && resType == GMM_RESOURCE_TYPE::RESOURCE_3D) { + if (GmmHelper::getInstance()->getHardwareInfo()->pPlatform->eRenderCoreFamily == IGFX_GEN8_CORE && resType == GMM_RESOURCE_TYPE::RESOURCE_3D) { return 0; } return gmmResourceInfo->getQPitch(); diff --git a/runtime/gmm_helper/gmm_helper.cpp b/runtime/gmm_helper/gmm_helper.cpp index 033bcbe359..5402d03d95 100644 --- a/runtime/gmm_helper/gmm_helper.cpp +++ b/runtime/gmm_helper/gmm_helper.cpp @@ -41,10 +41,18 @@ GmmClientContext *GmmHelper::getClientContext() { return getInstance()->gmmClientContext.get(); } +const HardwareInfo *GmmHelper::getHardwareInfo() { + return hwInfo; +} + GmmHelper *GmmHelper::getInstance() { return platform()->peekExecutionEnvironment()->getGmmHelper(); } +void GmmHelper::setSimplifiedMocsTableUsage(bool value) { + useSimplifiedMocsTable = value; +} + void GmmHelper::initContext(const PLATFORM *pPlatform, const FeatureTable *pSkuTable, const WorkaroundTable *pWaTable, @@ -159,15 +167,11 @@ GMM_YUV_PLANE GmmHelper::convertPlane(OCLPlane oclPlane) { return GMM_NO_PLANE; } -GmmHelper::GmmHelper(const HardwareInfo *pHwInfo) { - GmmHelper::hwInfo = pHwInfo; +GmmHelper::GmmHelper(const HardwareInfo *pHwInfo) : hwInfo(pHwInfo) { initContext(pHwInfo->pPlatform, pHwInfo->pSkuTable, pHwInfo->pWaTable, pHwInfo->pSysInfo); } GmmHelper::~GmmHelper() { gmmEntries.pfnDestroySingletonContext(); }; -bool GmmHelper::useSimplifiedMocsTable = false; decltype(GmmHelper::createGmmContextWrapperFunc) GmmHelper::createGmmContextWrapperFunc = GmmClientContextBase::create; - -const HardwareInfo *GmmHelper::hwInfo = nullptr; } // namespace OCLRT diff --git a/runtime/gmm_helper/gmm_helper.h b/runtime/gmm_helper/gmm_helper.h index ecea812395..80eb017fd8 100644 --- a/runtime/gmm_helper/gmm_helper.h +++ b/runtime/gmm_helper/gmm_helper.h @@ -44,7 +44,9 @@ class GmmHelper { GmmHelper(const HardwareInfo *hwInfo); MOCKABLE_VIRTUAL ~GmmHelper(); + const HardwareInfo *getHardwareInfo(); uint32_t getMOCS(uint32_t type); + void setSimplifiedMocsTableUsage(bool value); static constexpr uint32_t cacheDisabledIndex = 0; static constexpr uint32_t cacheEnabledIndex = 4; @@ -55,6 +57,7 @@ class GmmHelper { static GmmClientContext *getClientContext(); static GmmHelper *getInstance(); + static void queryImgFromBufferParams(ImageInfo &imgInfo, GraphicsAllocation *gfxAlloc); static GMM_CUBE_FACE_ENUM getCubeFaceIndex(uint32_t target); static bool allowTiling(const cl_image_desc &imageDesc); @@ -65,13 +68,12 @@ class GmmHelper { static std::unique_ptr (*createGmmContextWrapperFunc)(GMM_CLIENT, GmmExportEntries &); - static bool useSimplifiedMocsTable; - static const HardwareInfo *hwInfo; - protected: void loadLib(); void initContext(const PLATFORM *pPlatform, const FeatureTable *pSkuTable, const WorkaroundTable *pWaTable, const GT_SYSTEM_INFO *pGtSysInfo); + bool useSimplifiedMocsTable = false; + const HardwareInfo *hwInfo = nullptr; std::unique_ptr gmmLib; std::unique_ptr gmmClientContext; GmmExportEntries gmmEntries = {}; diff --git a/runtime/mem_obj/buffer.cpp b/runtime/mem_obj/buffer.cpp index 3fded6bada..b58b73f31b 100644 --- a/runtime/mem_obj/buffer.cpp +++ b/runtime/mem_obj/buffer.cpp @@ -96,8 +96,10 @@ Buffer *Buffer::create(Context *context, bool alignementSatisfied = true; bool allocateMemory = true; bool copyMemoryFromHostPtr = false; - - GraphicsAllocation::AllocationType allocationType = getGraphicsAllocationType(flags, context->isSharedContext, GmmHelper::hwInfo->capabilityTable.ftrRenderCompressedBuffers); + GraphicsAllocation::AllocationType allocationType = getGraphicsAllocationType( + flags, + context->isSharedContext, + context->getDevice(0)->getHardwareInfo().capabilityTable.ftrRenderCompressedBuffers); MemoryManager *memoryManager = context->getMemoryManager(); UNRECOVERABLE_IF(!memoryManager); diff --git a/runtime/os_interface/linux/drm_command_stream.inl b/runtime/os_interface/linux/drm_command_stream.inl index 4a1717e7f7..ca21fb09ea 100644 --- a/runtime/os_interface/linux/drm_command_stream.inl +++ b/runtime/os_interface/linux/drm_command_stream.inl @@ -22,6 +22,8 @@ #include "runtime/command_stream/linear_stream.h" #include "hw_cmds.h" +#include "runtime/execution_environment/execution_environment.h" +#include "runtime/gmm_helper/gmm_helper.h" #include "runtime/helpers/aligned_memory.h" #include "runtime/helpers/preamble.h" #include "runtime/mem_obj/buffer.h" @@ -31,6 +33,7 @@ #include "runtime/os_interface/linux/drm_memory_manager.h" #include "runtime/os_interface/linux/drm_neo.h" #include "runtime/os_interface/linux/os_interface.h" +#include "runtime/platform/platform.h" #include #include @@ -45,6 +48,8 @@ DrmCommandStreamReceiver::DrmCommandStreamReceiver(const HardwareInfo execObjectsStorage.reserve(512); CommandStreamReceiver::osInterface = std::unique_ptr(new OSInterface()); CommandStreamReceiver::osInterface.get()->get()->setDrm(this->drm); + auto gmmHelper = platform()->peekExecutionEnvironment()->getGmmHelper(); + gmmHelper->setSimplifiedMocsTableUsage(this->drm->getSimplifiedMocsTableUsage()); } template diff --git a/runtime/os_interface/linux/drm_neo.cpp b/runtime/os_interface/linux/drm_neo.cpp index a692a6418a..d570d6c697 100644 --- a/runtime/os_interface/linux/drm_neo.cpp +++ b/runtime/os_interface/linux/drm_neo.cpp @@ -223,4 +223,12 @@ int Drm::getErrno() { return errno; } +bool Drm::getSimplifiedMocsTableUsage() const { + return useSimplifiedMocsTable; +} + +void Drm::setSimplifiedMocsTableUsage(bool value) { + useSimplifiedMocsTable = value; +} + } // namespace OCLRT diff --git a/runtime/os_interface/linux/drm_neo.h b/runtime/os_interface/linux/drm_neo.h index 00579f80ad..6a9d7e0a59 100644 --- a/runtime/os_interface/linux/drm_neo.h +++ b/runtime/os_interface/linux/drm_neo.h @@ -77,8 +77,11 @@ class Drm { void setGtType(GTTYPE eGtType) { this->eGtType = eGtType; } GTTYPE getGtType() const { return this->eGtType; } MOCKABLE_VIRTUAL int getErrno(); + void setSimplifiedMocsTableUsage(bool value); + bool getSimplifiedMocsTableUsage() const; protected: + bool useSimplifiedMocsTable = false; int fd; int deviceId; int revisionId; diff --git a/unit_tests/fixtures/image_fixture.h b/unit_tests/fixtures/image_fixture.h index 12f982695f..9951ae9074 100644 --- a/unit_tests/fixtures/image_fixture.h +++ b/unit_tests/fixtures/image_fixture.h @@ -21,8 +21,11 @@ */ #pragma once +#include "runtime/execution_environment/execution_environment.h" #include "runtime/gmm_helper/gmm_helper.h" +#include "runtime/helpers/options.h" #include "runtime/mem_obj/image.h" +#include "runtime/platform/platform.h" #include "unit_tests/mocks/mock_context.h" #include "CL/cl.h" #include @@ -125,11 +128,13 @@ class ImageClearColorFixture { using RENDER_SURFACE_STATE = typename FamilyType::RENDER_SURFACE_STATE; using AUXILIARY_SURFACE_MODE = typename FamilyType::RENDER_SURFACE_STATE::AUXILIARY_SURFACE_MODE; - ImageClearColorFixture() : image(nullptr), imageHw(nullptr) { - localHwInfo.capabilityTable.ftrRenderCompressedImages = true; - } void SetUp() { - GmmHelper::hwInfo = &localHwInfo; + localHwInfo = *OCLRT::platformDevices[0]; + localHwInfo.capabilityTable.ftrRenderCompressedImages = true; + + OCLRT::platformImpl.reset(); + OCLRT::constructPlatform()->peekExecutionEnvironment()->initGmm(&localHwInfo); + surfaceState = RENDER_SURFACE_STATE::sInit(); surfaceState.setAuxiliarySurfaceMode(AUXILIARY_SURFACE_MODE::AUXILIARY_SURFACE_MODE_AUX_CCS_E); } @@ -142,11 +147,11 @@ class ImageClearColorFixture { } RENDER_SURFACE_STATE surfaceState; - HardwareInfo localHwInfo = *GmmHelper::hwInfo; + HardwareInfo localHwInfo = {}; protected: MockContext context; std::unique_ptr image; - ImageHw *imageHw; + ImageHw *imageHw = nullptr; }; diff --git a/unit_tests/gmm_helper/gmm_helper_tests.cpp b/unit_tests/gmm_helper/gmm_helper_tests.cpp index fc39cd83f9..31c6c134c7 100644 --- a/unit_tests/gmm_helper/gmm_helper_tests.cpp +++ b/unit_tests/gmm_helper/gmm_helper_tests.cpp @@ -607,9 +607,8 @@ TEST(GmmTest, givenInvalidFlagsSetWhenAskedForUnifiedAuxTranslationCapabilityThe TEST(GmmTest, givenHwInfoWhenDeviceIsCreatedTheSetThisHwInfoToGmmHelper) { HardwareInfo localHwInfo = **platformDevices; - std::unique_ptr device(MockDevice::createWithNewExecutionEnvironment(&localHwInfo)); - EXPECT_EQ(&localHwInfo, GmmHelper::hwInfo); + EXPECT_EQ(&localHwInfo, device->getGmmHelper()->getHardwareInfo()); } TEST(GmmTest, whenResourceIsCreatedThenHandleItsOwnership) { @@ -641,21 +640,19 @@ TEST(GmmTest, whenResourceIsCreatedThenHandleItsOwnership) { } TEST(GmmSimplifiedCacheSelectionPolicy, givenGmmInSimplifiedCacheSelectionPolicyWhenItIsAskedForUncachedIndexThen0IsReturned) { - GmmHelper::useSimplifiedMocsTable = true; GmmHelper gmmHelper(*platformDevices); + gmmHelper.setSimplifiedMocsTableUsage(true); auto index = gmmHelper.getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED); auto expectedIndex = GmmHelper::cacheDisabledIndex; EXPECT_EQ(expectedIndex, index); - GmmHelper::useSimplifiedMocsTable = false; } TEST(GmmSimplifiedCacheSelectionPolicy, givenGmmInSimplifiedCacheSelectionPolicyWhenItIsAskedForCachedIndexThen4IsReturned) { - GmmHelper::useSimplifiedMocsTable = true; GmmHelper gmmHelper(*platformDevices); + gmmHelper.setSimplifiedMocsTableUsage(true); auto index = gmmHelper.getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER); auto expectedIndex = GmmHelper::cacheEnabledIndex; EXPECT_EQ(expectedIndex, index); - GmmHelper::useSimplifiedMocsTable = false; } TEST(GmmHelperTest, whenGmmHelperIsInitializedThenClientContextIsSet) { diff --git a/unit_tests/linux/main_linux_dll.cpp b/unit_tests/linux/main_linux_dll.cpp index b4fa5fd30b..0b7ed86670 100644 --- a/unit_tests/linux/main_linux_dll.cpp +++ b/unit_tests/linux/main_linux_dll.cpp @@ -21,12 +21,10 @@ */ #include "mock_os_layer.h" -#include "runtime/gmm_helper/gmm_helper.h" #include "runtime/helpers/aligned_memory.h" #include "runtime/helpers/basic_math.h" #include "runtime/os_interface/linux/allocator_helper.h" #include "unit_tests/custom_event_listener.h" -#include "unit_tests/helpers/variable_backup.h" #include "test.h" using namespace OCLRT; @@ -56,38 +54,38 @@ class DrmTestsFixture { typedef Test DrmTests; TEST_F(DrmTests, getReturnsNull) { - auto ptr = Drm::get(0); - EXPECT_EQ(ptr, nullptr); + auto drm = Drm::get(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, getNoOverrun) { //negative device ordinal - auto ptr = Drm::get(-1); - EXPECT_EQ(ptr, nullptr); + auto drm = Drm::get(-1); + EXPECT_EQ(drm, nullptr); //some high value - ptr = Drm::get(1 << (sizeof(int32_t) * 8 - 2)); - EXPECT_EQ(ptr, nullptr); + drm = Drm::get(1 << (sizeof(int32_t) * 8 - 2)); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, closeNotOpened) { - auto ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); DrmWrap::closeDevice(0); DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, openClose) { - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); DrmWrap::closeDevice(0); - ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, closeNoOverrun) { @@ -99,8 +97,8 @@ TEST_F(DrmTests, closeNoOverrun) { } TEST_F(DrmTests, createReturnsDrm) { - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); drm_i915_getparam_t getParam; int lDeviceId; @@ -111,7 +109,7 @@ TEST_F(DrmTests, createReturnsDrm) { // check if device works, although there was EINTR error from KMD getParam.param = I915_PARAM_CHIPSET_ID; getParam.value = &lDeviceId; - auto ret = ptr->ioctl(DRM_IOCTL_I915_GETPARAM, &getParam); + auto ret = drm->ioctl(DRM_IOCTL_I915_GETPARAM, &getParam); EXPECT_EQ(0, ret); EXPECT_EQ(deviceId, lDeviceId); @@ -121,7 +119,7 @@ TEST_F(DrmTests, createReturnsDrm) { // check if device works, although there was EAGAIN error from KMD getParam.param = I915_PARAM_CHIPSET_ID; getParam.value = &lDeviceId; - ret = ptr->ioctl(DRM_IOCTL_I915_GETPARAM, &getParam); + ret = drm->ioctl(DRM_IOCTL_I915_GETPARAM, &getParam); EXPECT_EQ(0, ret); EXPECT_EQ(deviceId, lDeviceId); @@ -131,217 +129,204 @@ TEST_F(DrmTests, createReturnsDrm) { // we failed with any other error code getParam.param = I915_PARAM_CHIPSET_ID; getParam.value = &lDeviceId; - ret = ptr->ioctl(DRM_IOCTL_I915_GETPARAM, &getParam); + ret = drm->ioctl(DRM_IOCTL_I915_GETPARAM, &getParam); EXPECT_EQ(-1, ret); EXPECT_EQ(deviceId, lDeviceId); } TEST_F(DrmTests, createTwiceReturnsSameDrm) { - auto ptr1 = DrmWrap::createDrm(0); - EXPECT_NE(ptr1, nullptr); - auto ptr2 = DrmWrap::createDrm(0); - EXPECT_NE(ptr2, nullptr); - EXPECT_EQ(ptr1, ptr2); + auto drm1 = DrmWrap::createDrm(0); + EXPECT_NE(drm1, nullptr); + auto drm2 = DrmWrap::createDrm(0); + EXPECT_NE(drm2, nullptr); + EXPECT_EQ(drm1, drm2); } TEST_F(DrmTests, createDriFallback) { haveDri = 1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); } TEST_F(DrmTests, createNoDevice) { haveDri = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, createNoOverrun) { - auto ptr = DrmWrap::createDrm(-1); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(-1); + EXPECT_EQ(drm, nullptr); - ptr = DrmWrap::createDrm(1 << (sizeof(int32_t) * 8 - 2)); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::createDrm(1 << (sizeof(int32_t) * 8 - 2)); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, createUnknownDevice) { deviceId = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, createNoSoftPin) { haveSoftPin = 0; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnDeviceId) { failOnDeviceId = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnRevisionId) { failOnRevisionId = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnSoftPin) { failOnSoftPin = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnParamBoost) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); + auto drm = DrmWrap::createDrm(0); //non-fatal error - issue warning only - EXPECT_NE(ptr, nullptr); + EXPECT_NE(drm, nullptr); } #ifdef SUPPORT_BDW TEST_F(DrmTests, givenKernelNotSupportingTurboPatchWhenBdwDeviceIsCreatedThenSimplifiedMocsSelectionIsFalse) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); - useSimplifiedMocsTableBckp = false; deviceId = IBDW_GT3_WRK_DEVICE_F0_ID; failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_FALSE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_FALSE(drm->getSimplifiedMocsTableUsage()); } #endif #ifdef SUPPORT_SKL TEST_F(DrmTests, givenKernelNotSupportingTurboPatchWhenSklDeviceIsCreatedThenSimplifiedMocsSelectionIsTrue) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); - useSimplifiedMocsTableBckp = false; deviceId = ISKL_GT2_DT_DEVICE_F0_ID; failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_TRUE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_TRUE(drm->getSimplifiedMocsTableUsage()); } #endif #ifdef SUPPORT_KBL TEST_F(DrmTests, givenKernelNotSupportingTurboPatchWhenKblDeviceIsCreatedThenSimplifiedMocsSelectionIsTrue) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); - useSimplifiedMocsTableBckp = false; deviceId = IKBL_GT1_ULT_DEVICE_F0_ID; failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_TRUE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_TRUE(drm->getSimplifiedMocsTableUsage()); } #endif #ifdef SUPPORT_BXT TEST_F(DrmTests, givenKernelNotSupportingTurboPatchWhenBxtDeviceIsCreatedThenSimplifiedMocsSelectionIsTrue) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); - useSimplifiedMocsTableBckp = false; deviceId = IBXT_X_DEVICE_F0_ID; failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_TRUE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_TRUE(drm->getSimplifiedMocsTableUsage()); } #endif #ifdef SUPPORT_GLK TEST_F(DrmTests, givenKernelNotSupportingTurboPatchWhenGlkDeviceIsCreatedThenSimplifiedMocsSelectionIsTrue) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); - useSimplifiedMocsTableBckp = false; deviceId = IGLK_GT2_ULT_18EU_DEVICE_F0_ID; failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_TRUE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_TRUE(drm->getSimplifiedMocsTableUsage()); } #endif #ifdef SUPPORT_CFL TEST_F(DrmTests, givenKernelNotSupportingTurboPatchWhenCflDeviceIsCreatedThenSimplifiedMocsSelectionIsTrue) { - VariableBackup useSimplifiedMocsTableBckp(&GmmHelper::useSimplifiedMocsTable); - useSimplifiedMocsTableBckp = false; deviceId = ICFL_GT1_S61_DT_DEVICE_F0_ID; failOnParamBoost = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_TRUE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_TRUE(drm->getSimplifiedMocsTableUsage()); } #endif TEST_F(DrmTests, givenKernelSupportingTurboPatchWhenDeviceIsCreatedThenSimplifiedMocsSelectionIsFalse) { - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - EXPECT_FALSE(GmmHelper::useSimplifiedMocsTable); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + EXPECT_FALSE(drm->getSimplifiedMocsTableUsage()); } #if defined(I915_PARAM_HAS_PREEMPTION) TEST_F(DrmTests, checkPreemption) { - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); - bool ret = ptr->hasPreemption(); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); + bool ret = drm->hasPreemption(); EXPECT_EQ(ret, true); DrmWrap::closeDevice(0); - ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); } #endif TEST_F(DrmTests, failOnContextCreate) { - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); failOnContextCreate = -1; - bool ret = ptr->hasPreemption(); + bool ret = drm->hasPreemption(); EXPECT_EQ(ret, false); failOnContextCreate = 0; DrmWrap::closeDevice(0); - ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnSetPriority) { - auto ptr = DrmWrap::createDrm(0); - EXPECT_NE(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_NE(drm, nullptr); failOnSetPriority = -1; - bool ret = ptr->hasPreemption(); + bool ret = drm->hasPreemption(); EXPECT_EQ(ret, false); failOnSetPriority = 0; DrmWrap::closeDevice(0); - ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnDrmGetVersion) { failOnDrmVersion = -1; - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); failOnDrmVersion = 0; DrmWrap::closeDevice(0); - ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); } TEST_F(DrmTests, failOnInvalidDeviceName) { strcpy(providedDrmVersion, "NA"); - auto ptr = DrmWrap::createDrm(0); - EXPECT_EQ(ptr, nullptr); + auto drm = DrmWrap::createDrm(0); + EXPECT_EQ(drm, nullptr); failOnDrmVersion = 0; strcpy(providedDrmVersion, "i915"); DrmWrap::closeDevice(0); - ptr = DrmWrap::get(0); - EXPECT_EQ(ptr, nullptr); + drm = DrmWrap::get(0); + EXPECT_EQ(drm, nullptr); } TEST(AllocatorHelper, givenExpectedSizeToMapWhenGetSizetoMapCalledThenExpectedValueReturned) { diff --git a/unit_tests/os_interface/windows/gmm_memory_tests.cpp b/unit_tests/os_interface/windows/gmm_memory_tests.cpp index 1ff3c851e2..3ffdaff66c 100644 --- a/unit_tests/os_interface/windows/gmm_memory_tests.cpp +++ b/unit_tests/os_interface/windows/gmm_memory_tests.cpp @@ -24,8 +24,6 @@ #include "runtime/helpers/options.h" #include "gmm_memory.h" #include "gmm_client_context.h" -#include "runtime/platform/platform.h" -#include "runtime/execution_environment/execution_environment.h" #include "gtest/gtest.h" using namespace OCLRT;