Bug 10789

Summary: Plugin textures get lost after minimizing windows
Product: xorg Reporter: Erkin Bahceci <erkinbah>
Component: App/compizAssignee: David Reveman <reveman>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: erkinbah
Version: 7.2 (2007.02)   
Hardware: x86 (IA32)   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Erkin Bahceci 2007-04-28 00:19:07 UTC
After an arbitrary number of minimize operations (sometimes only 1 is enough, sometimes 20 is needed), some plugin textures get lost (e.g. cube skydome turns white). And they stay that way until the texture is manually reloaded or compiz is restarted.

The lost textures are not window textures, but plugin textures, such as cube skydome, cube top cap, and other plugin textures that are loaded with readImageToTexture(). This starts happening more quickly when newly opened windows are minimized rather than old windows if that means anything.

Loaded plugins (in order):
gconf, dbus, decoration, wobbly, jpeg, png, cube, rotate, scale, move, inotify, svg, resize, place, switcher, water, regex, zoom, neg, bs, crashhandler.

It's not related to minimize animations since neither Minimize nor Animation plugin is needed to be enabled for this. The problem happens both with and without those plugins. So it should be related to whatever is happening when a window is minimized (unmapped).

The problem is quite annoying because it arbitrarily screws up plugin textures.

To see what was wrong, in Cube I checked the values in cs->sky (cs->sky.name, cs->sky.target, and the others), and they don't change after the problem starts happening. So it's something else, maybe OpenGL losing the texture bindings somehow.

This is on Ubuntu 7.04, Xgl, fglrx 8.36.5, ATI Mobility x300. Do let me know if any more information is needed.
Comment 1 Erkin Bahceci 2007-04-30 18:35:33 UTC
This problem also exists with the --loose-binding option (again on Xgl). I haven't tried aiglx yet.

Plus the error is sometimes accompanied by (or preceded with) this error when using kde-window-decorator:

 X Error: BadWindow (invalid Window parameter) 3
 Major opcode:  2
 Minor opcode:  0
 Resource id:  0x1e0013a

and by errors like this when using gtk-window-decorator:

(gtk-window-decorator:26290): Wnck-WARNING **: Unhandled action type (nil)

I don't know how the decorators would be related to the issue, but they might.
Comment 2 Erkin Bahceci 2007-05-06 15:06:46 UTC
Ok, doesn't look like this is related to window decorators.

Here are 3 screenshots of the problem:

Switcher icon texture lost:
http://img387.imageshack.us/my.php?image=losttextures1rr6.jpg

Cube top cap image texture lost:
http://img91.imageshack.us/my.php?image=losttextures2mx8.jpg

Cube skydome texture lost:
http://img91.imageshack.us/my.php?image=losttextures3kt4.jpg

These happened arbitrarily after I open, close, minimize, unminimize a few windows.
Comment 3 Erkin Bahceci 2007-05-09 21:34:28 UTC
This Xgl patch fixes the problem for Ubuntu Feisty users (to be applied on xserver-xgl_7.2.0.git.20070224-0ubuntu3 sources):

http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=blobdiff;h=4d7ed33357e294b2e0eb0952c012f7de3177acf6;hp=8e22396438c18c48e8cf432aa307596db06f322c;hb=31e391a20c552e786e95156fab300224dbab431c;f=GL/glx/indirect_dispatch.c

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.