Add Chromium-only Blender WebEngine parity work
This commit is contained in:
45
blender-5.2.0/intern/cycles/util/windows.cpp
Normal file
45
blender-5.2.0/intern/cycles/util/windows.cpp
Normal file
@@ -0,0 +1,45 @@
|
||||
/* SPDX-FileCopyrightText: 2019-2022 Blender Foundation
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 */
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifdef WIN32_LEAN_AND_MEAN
|
||||
# undef WIN32_LEAN_AND_MEAN
|
||||
# endif
|
||||
# include <windows.h>
|
||||
#endif
|
||||
|
||||
#include "util/windows.h"
|
||||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
bool system_windows_version_at_least(const int major, const int build)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
HMODULE hMod = ::GetModuleHandleW(L"ntdll.dll");
|
||||
if (hMod == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
typedef NTSTATUS(WINAPI * RtlGetVersionPtr)(PRTL_OSVERSIONINFOW);
|
||||
RtlGetVersionPtr rtl_get_version = (RtlGetVersionPtr)::GetProcAddress(hMod, "RtlGetVersion");
|
||||
if (rtl_get_version == nullptr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
RTL_OSVERSIONINFOW rovi = {0};
|
||||
rovi.dwOSVersionInfoSize = sizeof(rovi);
|
||||
if (rtl_get_version(&rovi) != 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (rovi.dwMajorVersion > major ||
|
||||
(rovi.dwMajorVersion == major && rovi.dwBuildNumber >= build));
|
||||
#else
|
||||
(void)major;
|
||||
(void)build;
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
CCL_NAMESPACE_END
|
||||
Reference in New Issue
Block a user