[WINED3D] Yield CPU to the scheduler in wined3d_pause. CORE-14637 CORE-14534
authorThomas Faber <thomas.faber@reactos.org>
Sun, 19 Aug 2018 11:28:06 +0000 (13:28 +0200)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 19 Aug 2018 11:46:08 +0000 (13:46 +0200)
Much like the previous commit, this is a workaround for our buggy Win32k.

dll/directx/wine/wined3d/wined3d_private.h

index 3444b52..3cf6748 100644 (file)
@@ -370,9 +370,13 @@ static inline unsigned int wined3d_popcount(unsigned int x)
 
 static inline void wined3d_pause(void)
 {
 
 static inline void wined3d_pause(void)
 {
+#ifdef __REACTOS__
+    Sleep(0);
+#else
 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
     __asm__ __volatile__( "rep;nop" : : : "memory" );
 #endif
 #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
     __asm__ __volatile__( "rep;nop" : : : "memory" );
 #endif
+#endif
 }
 
 #define ORM_BACKBUFFER  0
 }
 
 #define ORM_BACKBUFFER  0