util: Implement os_get_available_system_memory on Win32
authorYonggang Luo <luoyonggang@gmail.com>
Tue, 29 Mar 2022 20:45:31 +0000 (04:45 +0800)
committerMarge Bot <emma+marge@anholt.net>
Fri, 12 Aug 2022 15:05:47 +0000 (15:05 +0000)
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18001>

src/util/os_misc.c

index 367bd6c..1c1fbca 100644 (file)
@@ -317,6 +317,14 @@ os_get_available_system_memory(uint64_t *size)
 
    *size = MIN2(mem_available, rl.rlim_cur);
    return true;
+#elif DETECT_OS_WINDOWS
+   MEMORYSTATUSEX status;
+   BOOL ret;
+
+   status.dwLength = sizeof(status);
+   ret = GlobalMemoryStatusEx(&status);
+   *size = status.ullAvailPhys;
+   return (ret == TRUE);
 #else
    return false;
 #endif