Matteo Bruni : wined3d: Set depth textures dirty after modifying the underlying surface.
Alexandre Julliard
julliard at winehq.org
Fri Jan 13 11:44:29 CST 2012
Module: wine
Branch: master
Commit: add5916c773ac89759e5a167de489df91c2bc461
URL: http://source.winehq.org/git/wine.git/?a=commit;h=add5916c773ac89759e5a167de489df91c2bc461
Author: Matteo Bruni <mbruni at codeweavers.com>
Date: Thu Jan 12 17:05:18 2012 +0100
wined3d: Set depth textures dirty after modifying the underlying surface.
---
dlls/wined3d/surface.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index bf379f1..64e8646 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -5578,6 +5578,16 @@ void surface_modify_ds_location(struct wined3d_surface *surface,
if (!(surface->rb_multisample))
location &= ~SFLAG_INRB_MULTISAMPLE;
+ if (((surface->flags & SFLAG_INTEXTURE) && !(location & SFLAG_INTEXTURE))
+ || (!(surface->flags & SFLAG_INTEXTURE) && (location & SFLAG_INTEXTURE)))
+ {
+ if (surface->container.type == WINED3D_CONTAINER_TEXTURE)
+ {
+ TRACE("Passing to container.\n");
+ wined3d_texture_set_dirty(surface->container.u.texture, TRUE);
+ }
+ }
+
surface->ds_current_size.cx = w;
surface->ds_current_size.cy = h;
surface->flags &= ~SFLAG_LOCATIONS;
More information about the wine-cvs
mailing list