Path: blob/master/thirdparty/embree/patches/0003-emscripten-nthreads.patch
9902 views
diff --git a/thirdparty/embree/common/sys/sysinfo.cpp b/thirdparty/embree/common/sys/sysinfo.cpp1index 5f375cd95c..3c23fb1610 1006442--- a/thirdparty/embree/common/sys/sysinfo.cpp3+++ b/thirdparty/embree/common/sys/sysinfo.cpp4@@ -659,6 +659,10 @@ namespace embree56#if defined(__EMSCRIPTEN__)7#include <emscripten.h>8+9+extern "C" {10+extern int godot_js_os_hw_concurrency_get();11+}12#endif1314namespace embree15@@ -672,6 +676,8 @@ namespace embree16nThreads = sysconf(_SC_NPROCESSORS_ONLN); // does not work in Linux LXC container17assert(nThreads);18#elif defined(__EMSCRIPTEN__)19+ nThreads = godot_js_os_hw_concurrency_get();20+#if 021// WebAssembly supports pthreads, but not pthread_getaffinity_np. Get the number of logical22// threads from the browser or Node.js using JavaScript.23nThreads = MAIN_THREAD_EM_ASM_INT({24@@ -687,6 +693,7 @@ namespace embree25return 1;26}27});28+#endif29#else30cpu_set_t set;31if (pthread_getaffinity_np(pthread_self(), sizeof(set), &set) == 0)323334