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

This commit is contained in:
Henri Verbeet 2012-03-26 20:28:11 +02:00 committed by Alexandre Julliard
parent 6f8b8bda2d
commit d1e00648ff
1 changed files with 2 additions and 6 deletions

View File

@ -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]))
{