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

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


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

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index c2d92ed..102ddc9 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3456,7 +3456,10 @@ static void surface_blt_fbo(IWineD3DDeviceImpl *device, const WINED3DTEXTUREFILT
 
     LEAVE_GL();
 
-    if (wined3d_settings.strict_draw_ordering) wglFlush(); /* Flush to ensure ordering across contexts. */
+    if (wined3d_settings.strict_draw_ordering
+            || (dst_location == SFLAG_INDRAWABLE
+            && dst_surface->container.u.swapchain->front_buffer == dst_surface))
+        wglFlush();
 
     context_release(context);
 }
-- 
1.7.3.4




More information about the wine-patches mailing list