Bug 20707

Summary: dark areas becomes translucent during compiz minimize animation while using UXA
Product: xorg Reporter: martin <mnemo>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: NEEDINFO
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg
none
gpu registers
none
xorg conf
none
xorg log old
none
xorg log
none
xsession-errors none

Description martin 2009-03-17 04:41:45 UTC
repro steps using git head + G45:

1. enable UXA (it won't repro with EXA)
2. enable compiz
3. open firefox, maximize it with about:blank (any program that makes the screen mostly white will do it)
4. open gedit, maximize it and open Edit::Preferences::Fonts&Colors and select "Oblivion" color theme (any application with a large dark or black area will do it).
5. now single click the gnome taskbar entry for gedit slowly and repeatedly to minimize and maximize gedit multiple times


Expected:
gedit should be animated normally by the compiz default minimize/maximize animation

Actual:
gedit is animated by the compiz default minimize/maximize animation however, all dark areas becomes translucent _during_ the minimize/maximize animation. black areas becomes 100% transparent during the animation.
Comment 1 martin 2009-03-17 04:43:04 UTC
Created attachment 23957 [details]
dmesg
Comment 2 martin 2009-03-17 04:43:23 UTC
Created attachment 23958 [details]
gpu registers
Comment 3 martin 2009-03-17 04:43:44 UTC
Created attachment 23959 [details]
xorg conf
Comment 4 martin 2009-03-17 04:44:02 UTC
Created attachment 23960 [details]
xorg log old
Comment 5 martin 2009-03-17 04:44:17 UTC
Created attachment 23961 [details]
xorg log
Comment 6 martin 2009-03-17 04:44:38 UTC
Created attachment 23962 [details]
xsession-errors
Comment 7 martin 2009-03-17 04:46:09 UTC
mnemo@kingfish:~/translucent_bug/gfx_bug_kingfish_on_2009-Mar-17_at_110358_UTC$ uname -a
Linux kingfish 2.6.28-10-generic #33-Ubuntu SMP Mon Mar 16 23:49:27 UTC 2009 x86_64 GNU/Linux


mnemo@kingfish:~/translucent_bug/gfx_bug_kingfish_on_2009-Mar-17_at_110358_UTC$ dpkg -l | g intel
ii  libdrm-intel1                              2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to Intel-specific kernel rendering 
ii  libdrm-intel1-dbg                          2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to Intel-specific kernel rendering 
ii  whois                                      4.7.30                                                  an intelligent whois client
ii  wvdial                                     1.60.1+nmu2                                             PPP dialer with built-in intelligence
ii  xserver-xorg-video-intel                   2:2.6.99.1+git20090317.78a60e1b-0ubuntu0tormod          X.Org X server -- Intel i8xx, i9xx display driver
ii  xserver-xorg-video-intel-dbg               2:2.6.99.1+git20090317.78a60e1b-0ubuntu0tormod          X.Org X server -- Intel i8xx, i9xx display driver (debu

ii  compiz                                     1:0.8.2-0ubuntu4                                        OpenGL window and compositing manager
ii  compiz-core                                1:0.8.2-0ubuntu4                                        OpenGL window and compositing manager

ii  xserver-xorg-core                          2:1.6.0-0ubuntu1                                        Xorg X server - core server

ii  libgl1-mesa-dev                            7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod A free implementation of the OpenGL API -- GLX developm
ii  libgl1-mesa-dri                            7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod A free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-dri-dbg                        7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod Debugging symbols for the Mesa DRI modules
ii  libgl1-mesa-glx                            7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod A free implementation of the OpenGL API -- GLX runtime
ii  libglu1-mesa                               7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod The OpenGL utility library (GLU)
ii  libglu1-mesa-dev                           7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod The OpenGL utility library -- development files
ii  mesa-common-dev                            7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod Developer documentation for Mesa
ii  mesa-utils                                 7.3+git20090312+mesa-7-4-branch.a6f7e909-0ubuntu0tormod Miscellaneous Mesa GL utilities
ii  xlibmesa-gl-dev                            1:7.4~5ubuntu15                                         transitional package for Debian etch

ii  libdrm-dev                                 2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to kernel rendering services (snaps
ii  libdrm-intel1                              2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to Intel-specific kernel rendering 
ii  libdrm-intel1-dbg                          2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to Intel-specific kernel rendering 
ii  libdrm-nouveau1                            2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to Nouveau-specific kernel renderin
ii  libdrm2                                    2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to kernel rendering services (snaps
ii  libdrm2-dbg                                2.4.5+git20090314.82eac806-0ubuntu0tormod2              Userspace interface to kernel rendering services (snaps
Comment 8 martin 2009-03-17 05:18:09 UTC
I use a dark theme in ubuntu (the dust theme) which makes this bug very annoying / prevalent.
Comment 9 martin 2009-03-20 08:03:22 UTC
I installed upstream kernel 2.6.29-rc8 now, and then the bug doesn't repro anymore.

Eric, if you can guess which commit fixed this issue, then please to give me your guesses and I can try and possibly cherry pick them for ubuntu Jaunty. Thanks.
Comment 10 martin 2009-03-20 08:17:59 UTC
I still see rendering defects with the 2.6.39-rc8 + recent userspace config though.

When doing this:
0. (with compiz running under UXA)
1. start a gnome-terminal with "white text on black background" theme and run "ls -al" to fill it with some white text.
2. do "gedit *.txt" on some files and use color theme "oblivion" (dark background).
3. repeatedly press the gedit taskbar entry to minimize/maximize gedit triggering the minimize/maximize animation in compiz. the white test from the gnome-terminal in the background cuts very clearly (opaque not blended at all) into the gedit window as it's gliding into maximized state. It's not until the maximize animation is completely finished that the opaque white text from the gnome-terminal in the background disappears.

It's strange because before it was the dark background of gedit that incorrectly got transparent and now instead the white text from a background windows burns though in an opaque way making the animation look bad.
Comment 11 Eric Anholt 2009-03-20 11:36:33 UTC
Could you retest with Mesa master?  I'm getting exactly the expected behavior now.
Comment 12 martin 2009-03-20 12:19:39 UTC
mesa master works perfectly for me as well. You rock Eric!! Thanks a million..
Comment 13 martin 2009-04-09 02:18:51 UTC
If some distro maintainer is looking for the commit that fixed this bug for cherry picking. Please have a look at this one:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=66175aac7609ad314f25fbdff0d3958af310dc24

For in-depth discussion, see:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/324854

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.