[PATCH 1/5] wined3d: Only try to load surfaces from the drawable if the drawable is current in surface_load_sysmem().

Henri Verbeet hverbeet at codeweavers.com
Sun Oct 23 11:23:57 CDT 2011


---
 dlls/wined3d/surface.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 54cacbd..54b46b1 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -5809,9 +5809,15 @@ static void surface_load_sysmem(struct wined3d_surface *surface,
         return;
     }
 
-    /* Note: It might be faster to download into a texture first. */
-    read_from_framebuffer(surface, rect, surface->resource.allocatedMemory,
-            wined3d_surface_get_pitch(surface));
+    if (surface->flags & SFLAG_INDRAWABLE)
+    {
+        read_from_framebuffer(surface, rect, surface->resource.allocatedMemory,
+                wined3d_surface_get_pitch(surface));
+        return;
+    }
+
+    FIXME("Can't load surface %p with location flags %#x into sysmem.\n",
+            surface, surface->flags & SFLAG_LOCATIONS);
 }
 
 static HRESULT surface_load_drawable(struct wined3d_surface *surface,
-- 
1.7.3.4




More information about the wine-patches mailing list