[PATCH 3/5] wined3d: Flush after accessing the front buffer in flush_to_framebuffer_drawpixels().

Henri Verbeet hverbeet at codeweavers.com
Mon Apr 11 13:55:15 CDT 2011


---
 dlls/wined3d/surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 102ddc9..8d50793 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2053,6 +2053,12 @@ static void flush_to_framebuffer_drawpixels(IWineD3DSurfaceImpl *surface,
     checkGLcall("glPixelStorei(GL_UNPACK_ROW_LENGTH, 0)");
 
     LEAVE_GL();
+
+    if (wined3d_settings.strict_draw_ordering
+            || (surface->container.type == WINED3D_CONTAINER_SWAPCHAIN
+            && surface->container.u.swapchain->front_buffer == surface))
+        wglFlush();
+
     context_release(context);
 }
 
-- 
1.7.3.4




More information about the wine-patches mailing list