[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: