From ede8663e41c5dad18a1adb780d17547fae7817c5 Mon Sep 17 00:00:00 2001 From: Fabian Zwolinski Date: Fri, 20 Oct 2023 09:58:34 +0000 Subject: [PATCH] fix: iGPUs - increase size of reported global memory available on Windows to 94% Related-To: NEO-8989, NEO-7229 Signed-off-by: Fabian Zwolinski --- FAQ.md | 2 +- shared/source/os_interface/windows/wddm_memory_manager.cpp | 2 +- .../os_interface/windows/wddm_memory_manager_tests.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FAQ.md b/FAQ.md index 4112e89780..b64b7df5f5 100644 --- a/FAQ.md +++ b/FAQ.md @@ -85,7 +85,7 @@ Actual available memory should be read from the driver capabilities using the de * discrete on Linux - 95% of device memory * integrated on Linux - 80% of system memory * discrete on Windows - 98% of device memory -* integrated on Windows - 80% of system memory +* integrated on Windows - 94% of system memory - 450 MB for internal resources Ignoring these instructions may lead to undefined behavior, including abort. diff --git a/shared/source/os_interface/windows/wddm_memory_manager.cpp b/shared/source/os_interface/windows/wddm_memory_manager.cpp index eb5eb1e709..6d5e4985b4 100644 --- a/shared/source/os_interface/windows/wddm_memory_manager.cpp +++ b/shared/source/os_interface/windows/wddm_memory_manager.cpp @@ -889,7 +889,7 @@ double WddmMemoryManager::getPercentOfGlobalMemoryAvailable(uint32_t rootDeviceI if (isLocalMemorySupported(rootDeviceIndex)) { return 0.98; } - return 0.8; + return 0.94; } AlignedMallocRestrictions *WddmMemoryManager::getAlignedMallocRestrictions() { diff --git a/shared/test/unit_test/os_interface/windows/wddm_memory_manager_tests.cpp b/shared/test/unit_test/os_interface/windows/wddm_memory_manager_tests.cpp index 0b301ae41c..545248c9b2 100644 --- a/shared/test/unit_test/os_interface/windows/wddm_memory_manager_tests.cpp +++ b/shared/test/unit_test/os_interface/windows/wddm_memory_manager_tests.cpp @@ -163,7 +163,7 @@ TEST_F(WddmMemoryManagerTests, GivenCompressedAndNotLockableAllocationTypeWhenAl TEST_F(WddmMemoryManagerTests, givenWddmMemoryManagerWithoutLocalMemoryWhenGettingGlobalMemoryPercentThenCorrectValueIsReturned) { MockWddmMemoryManager memoryManager(true, false, *executionEnvironment); uint32_t rootDeviceIndex = 0u; - EXPECT_EQ(0.8, memoryManager.getPercentOfGlobalMemoryAvailable(rootDeviceIndex)); + EXPECT_EQ(0.94, memoryManager.getPercentOfGlobalMemoryAvailable(rootDeviceIndex)); } TEST_F(WddmMemoryManagerTests, givenWddmMemoryManagerWithLocalMemoryWhenGettingGlobalMemoryPercentThenCorrectValueIsReturned) {