[PATCH 3/5] wined3d: Flush after surface updates.

Henri Verbeet hverbeet at codeweavers.com
Wed Sep 14 13:17:30 CDT 2011


This is similar to 5d1d07abcf3deab4397a0008ae8c44493a721c6a. We need to flush
to ensure resource updates are visible in other contexts, since otherwise GL
doesn't make any ordering guarantees between contexts.
---
 dlls/wined3d/surface.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 9116f5f..22f194a 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -2436,6 +2436,9 @@ void surface_upload_data(const struct wined3d_surface *surface, const struct win
 
     LEAVE_GL();
 
+    if (wined3d_settings.strict_draw_ordering)
+        wglFlush();
+
     if (gl_info->quirks & WINED3D_QUIRK_FBO_TEX_UPDATE)
     {
         struct wined3d_device *device = surface->resource.device;
-- 
1.7.3.4




More information about the wine-patches mailing list