[PATCH 1/7] wined3d: Don't claim SYSMEM location to be current if memory was evicted.
Matteo Bruni
mbruni at codeweavers.com
Fri Sep 15 08:12:22 CDT 2017
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
Specifically wined3d_texture_load_location() can evict the SYSMEM
copy. Should fix bug 43701.
dlls/wined3d/surface.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 608447f2cc..f35d5df775 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -3539,7 +3539,8 @@ static DWORD cpu_blitter_blit(struct wined3d_blitter *blitter, enum wined3d_blit
ERR("Failed to blit.\n");
wined3d_texture_load_location(dst_texture, dst_sub_resource_idx, context, dst_location);
- return dst_texture->resource.map_binding | dst_location;
+ return dst_location | (dst_texture->sub_resources[dst_sub_resource_idx].locations
+ & dst_texture->resource.map_binding);
}
static const struct wined3d_blitter_ops cpu_blitter_ops =
--
2.13.5
More information about the wine-patches
mailing list