Browse Source

pipeline: _mm_pause alternative on non-x86 Windows

rdb 3 years ago
parent
commit
ee1db0630a

+ 2 - 0
dtool/src/dtoolbase/mutexSpinlockImpl.cxx

@@ -20,6 +20,8 @@
 #if defined(__i386__) || defined(__x86_64) || defined(_M_IX86) || defined(_M_X64)
 #include <emmintrin.h>
 #define PAUSE() _mm_pause()
+#elif defined(_WIN32)
+#define PAUSE() YieldProcessor()
 #else
 #define PAUSE()
 #endif

+ 2 - 0
panda/src/pipeline/conditionVarSpinlockImpl.cxx

@@ -21,6 +21,8 @@
 #if defined(__i386__) || defined(__x86_64) || defined(_M_IX86) || defined(_M_X64)
 #include <emmintrin.h>
 #define PAUSE() _mm_pause()
+#elif defined(_WIN32)
+#define PAUSE() YieldProcessor()
 #else
 #define PAUSE()
 #endif

+ 2 - 0
panda/src/pipeline/reMutexSpinlockImpl.cxx

@@ -21,6 +21,8 @@
 #if defined(__i386__) || defined(__x86_64) || defined(_M_IX86) || defined(_M_X64)
 #include <emmintrin.h>
 #define PAUSE() _mm_pause()
+#elif defined(_WIN32)
+#define PAUSE() YieldProcessor()
 #else
 #define PAUSE()
 #endif