[PATCH 4/5] wined3d: Only update the drawable on surface unmap for the frontbuffer.
Henri Verbeet
hverbeet at codeweavers.com
Mon Mar 26 13:28:11 CDT 2012
---
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]))
{
--
1.7.3.4
More information about the wine-patches
mailing list