[Bf-blender-cvs] [2a1bd650621] asset-browser-poselib: Fix T88813: Scalable allocator not used on win10

Ray Molenkamp noreply at git.blender.org
Sat Jun 5 18:03:03 CEST 2021


Commit: 2a1bd65062168711fc3509b0e4e40b627c5fa386
Author: Ray Molenkamp
Date:   Fri Jun 4 17:22:31 2021 -0600
Branches: asset-browser-poselib
https://developer.blender.org/rB2a1bd65062168711fc3509b0e4e40b627c5fa386

Fix T88813: Scalable allocator not used on win10

Due to the way we ship the CRT on windows TBB's
malloc proxy was unable to attach it self to
the memory management functions on windows 10.

This change moves ucrtbase.dll out of the blender.crt
folder and back into the main blender folder to side
step some undesirable behaviour on win10 making TBB
once more able to attach it self.

Having this work again, should give a speed
boost in memory allocation heavy workloads
such as mantaflow.

For details on how this only failed on Win10
see T88813

===================================================================

M	build_files/cmake/platform/platform_win32_bundle_crt.cmake

===================================================================

diff --git a/build_files/cmake/platform/platform_win32_bundle_crt.cmake b/build_files/cmake/platform/platform_win32_bundle_crt.cmake
index f5bc024e4e0..7b2e1edb1b3 100644
--- a/build_files/cmake/platform/platform_win32_bundle_crt.cmake
+++ b/build_files/cmake/platform/platform_win32_bundle_crt.cmake
@@ -15,6 +15,15 @@ if(WITH_WINDOWS_BUNDLE_CRT)
 
   include(InstallRequiredSystemLibraries)
 
+  # ucrtbase(d).dll cannot be in the manifest, due to the way windows 10 handles
+  # redirects for this dll, for details see T88813.
+  foreach(lib ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS})
+    string(FIND ${lib} "ucrtbase" pos)
+    if(NOT pos EQUAL -1)
+      list(REMOVE_ITEM CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ${lib})
+      install(FILES ${lib} DESTINATION . COMPONENT Libraries)
+    endif()
+  endforeach()
   # Install the CRT to the blender.crt Sub folder.
   install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ./blender.crt COMPONENT Libraries)



More information about the Bf-blender-cvs mailing list