[pkg-wine-party] Bug#770483: Texture corruption when changing graphic options
Source: wine-development
Version: 1.7.29-1
Severity: important
Tags: upstream
Control: found -1 1.7.29-3
Control: forwarded -1 https://bugs.winehq.org/show_bug.cgi?id=37406
Hi,
so wine-development 1.7.29 will be in jessie. In that version was a
regression, wine bug #37406 (Texture corruption when changing graphic
options (Eve Online, Sims 3, Diablo 3).
I'd propose to backport the fix from wine 1.7.30 to wine-development in
jessie.
The bug was introduced upstream in wine 1.7.29:
commit ee8a5b7dd1e554ef32229c766715f23ba17c9f6c
Author: Henri Verbeet <hverbeet@codeweavers.com>
Date: Wed Oct 8 08:47:20 2014 +0200
wined3d: Track texture allocation per-texture.
... and fixed in wine 1.7.30:
aad1997dff990ceeba90ece0d535c7826044a5cf
Author: Stefan Dösinger <stefan@codeweavers.com>
Date: 2014-10-22 21:56:38
wined3d: Remove texture locations after downloading all subresources.
Attached you'll find this fix as a quilt patch. I built and tested it
successfully on my system.
btw: jessie still has the broken 1.7.29-2.
Greets
jre
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (900, 'testing'), (300, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages wine-development depends on:
ii wine32-development 1.7.29-3+texture
ii wine64-development 1.7.29-3+texture
wine-development recommends no packages.
Versions of packages wine-development suggests:
ii binfmt-support 2.1.5-1
ii ttf-mscorefonts-installer 3.6
-- no debconf information
diff --git a/debian/patches/series b/debian/patches/series
index fd8a6c8..c3fecbd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -14,3 +14,4 @@ addons-path.patch
glu32-link.patch
debian-gnutls.patch
+texture.patch
diff --git a/debian/patches/texture.patch b/debian/patches/texture.patch
new file mode 100644
index 0000000..f1ab2f9
--- /dev/null
+++ b/debian/patches/texture.patch
@@ -0,0 +1,33 @@
+Description: wined3d: Remove texture locations after downloading all subresources.
+Author: Stefan Dösinger <stefan@codeweavers.com>
+
+--- a/dlls/wined3d/surface.c
++++ b/dlls/wined3d/surface.c
+@@ -1207,7 +1207,6 @@
+ surface_load_location(surface, surface->resource.map_binding);
+ surface_invalidate_location(surface, ~surface->resource.map_binding);
+ }
+- wined3d_texture_force_reload(surface->container);
+
+ context = context_acquire(device, NULL);
+ gl_info = context->gl_info;
+--- a/dlls/wined3d/texture.c
++++ b/dlls/wined3d/texture.c
+@@ -979,6 +979,7 @@
+ sub_resource->resource_ops->resource_unload(sub_resource);
+ }
+
++ wined3d_texture_force_reload(texture);
+ wined3d_texture_unload_gl_texture(texture);
+ }
+
+--- a/dlls/wined3d/volume.c
++++ b/dlls/wined3d/volume.c
+@@ -451,7 +451,6 @@
+ }
+
+ /* The texture name is managed by the container. */
+- wined3d_texture_force_reload(volume->container);
+ volume->flags &= ~WINED3D_VFLAG_CLIENT_STORAGE;
+
+ resource_unload(resource);
Reply to: