https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c97e9defc157b171d56e3…
commit c97e9defc157b171d56e31dd9768c5eee732019d
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Sun Aug 19 13:28:06 2018 +0200
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Sun Aug 19 13:46:08 2018 +0200
[WINED3D] Yield CPU to the scheduler in wined3d_pause. CORE-14637 CORE-14534
Much like the previous commit, this is a workaround for our buggy Win32k.
---
dll/directx/wine/wined3d/wined3d_private.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dll/directx/wine/wined3d/wined3d_private.h
b/dll/directx/wine/wined3d/wined3d_private.h
index 3444b52928..3cf6748237 100644
--- a/dll/directx/wine/wined3d/wined3d_private.h
+++ b/dll/directx/wine/wined3d/wined3d_private.h
@@ -370,9 +370,13 @@ static inline unsigned int wined3d_popcount(unsigned int x)
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
+#endif
}
#define ORM_BACKBUFFER 0