Henri Verbeet : wined3d: Only update the drawable on surface unmap for the frontbuffer.

Alexandre Julliard julliard at winehq.org
Tue Mar 27 12:48:04 CDT 2012


Module: wine
Branch: master
Commit: d1e00648ff6aabb5921aaac27f2c697bbe7356a5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d1e00648ff6aabb5921aaac27f2c697bbe7356a5

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Mon Mar 26 20:28:11 2012 +0200

wined3d: Only update the drawable on surface unmap for the frontbuffer.

---

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

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 3148473..a96db7c 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -953,12 +953,8 @@ static void surface_unmap(struct wined3d_surface *surface)
         goto done;
     }
 
-    /* FIXME: The ORM_BACKBUFFER case probably isn't needed, but who knows
-     * what obscure bugs in backbuffer ORM removing it will uncover. Also,
-     * this should only be needed for the frontbuffer, but that requires
-     * present calls to call surface_load_location() on the backbuffer.
-     * Fix both of those after 1.4. */
-    if (surface->container.type == WINED3D_CONTAINER_SWAPCHAIN
+    if ((surface->container.type == WINED3D_CONTAINER_SWAPCHAIN
+            && surface->container.u.swapchain->front_buffer == surface)
             || (wined3d_settings.offscreen_rendering_mode == ORM_BACKBUFFER
             && device->fb.render_targets && surface == device->fb.render_targets[0]))
     {




More information about the wine-cvs mailing list