Module: wine Branch: master Commit: add5916c773ac89759e5a167de489df91c2bc461 URL: http://source.winehq.org/git/wine.git/?a=commit;h=add5916c773ac89759e5a167de...
Author: Matteo Bruni mbruni@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;