wined3d: Flush after surface updates.
authorHenri Verbeet <hverbeet@codeweavers.com>
Wed, 14 Sep 2011 18:17:30 +0000 (20:17 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 15 Sep 2011 13:41:40 +0000 (15:41 +0200)
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

index 9116f5f0d2cadf409db9da0eefa5e710bd2a833e..22f194ae8f4585288e8a1ea94035b7e68fb02ea3 100644 (file)
@@ -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;