Module: wine Branch: master Commit: d1e00648ff6aabb5921aaac27f2c697bbe7356a5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d1e00648ff6aabb5921aaac27f...
Author: Henri Verbeet hverbeet@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])) {