Page MenuHome

Windows API level clean up.
ClosedPublic

Authored by Ray Molenkamp (LazyDodo) on May 20 2021, 8:31 PM.

Details

Summary

For 2.93 we bumped the minimum requirements for blender to Windows 8.1
however we did not make this change to the blender code yet.

this change bumps D_WIN32_WINNT to x0603 (Win 8.1) enabling APIs
use we previously could not count on being there and were loaded with
LoadLibraryA/GetProcAddress and cleans up any uses these APIs

Diff Detail

Repository
rB Blender
Branch
tmp_win_abi_update (branched from master)
Build Status
Buildable 14675
Build 14675: arc lint + arc unit

Event Timeline

Ray Molenkamp (LazyDodo) requested review of this revision.May 20 2021, 8:31 PM
Ray Molenkamp (LazyDodo) created this revision.

That is beautiful.

This revision is now accepted and ready to land.May 20 2021, 9:20 PM

If you have time to inspect the _WIN32_IE weirdness now is a good time to do so.

I'd also check _WIN32_WINNT's use in build_files\build_environment\patches\cmakelists_tbb.txt at line 147 target_compile_definitions(tbb_interface INTERFACE USE_WINTHREAD _WIN32_WINNT=0x0600).

Beyond that and the suggested removals everything looks good to me. :)

build_files/cmake/platform/platform_win32.cmake
147–148

You'll need to grep and inspect use of WINVER, _WIN32_WINNT, _WIN32_WINDOWS, and _WIN32_IE. IIRC there were funky things going on with _WIN32_IE in some path handling code; and a few unnecessary ifndef defines.

intern/ghost/intern/GHOST_SystemWin32.cpp
101–135

Redundant.

177–195

Redundant.

intern/ghost/intern/GHOST_WindowWin32.h
58–60

Redundant

I'd also check _WIN32_WINNT's use in build_files\build_environment\patches\cmakelists_tbb.txt at line 147 target_compile_definitions(tbb_interface INTERFACE USE_WINTHREAD _WIN32_WINNT=0x0600).

No, we're not touching the deps builder unless we absolutely have to, if tbb builds fine with _WIN32_WINNT=0x0600 i'm not going to anger it :)

  • Merge remote-tracking branch 'origin/master' into tmp_win_abi_update
  • more removals, pointed out by nicholas

Decided to stick with _WIN32_WINNT for now, i'm open to do this in a different diff, but I think doing a cleanup and making a functional change should not be part of the same diff

Ray Molenkamp (LazyDodo) retitled this revision from Windows ABI level clean up. to Windows API level clean up..May 29 2021, 9:30 PM
  • Merge remote-tracking branch 'origin/master' into tmp_win_abi_update
  • Small comment change
  • Cleanup manifest to remove vista/win7/win8 support
This revision was automatically updated to reflect the committed changes.