Bug 26814

Summary: [bisected] Display corruption after gnome-session with compiz startup on G45
Product: xorg Reporter: fangxun <xunx.fang>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high CC: eric
Version: unspecified   
Hardware: All   
OS: Linux (All)   
i915 platform: i915 features:
Description Flags
display corruption with gnome startup
Xorg log none

Description fangxun 2010-03-01 03:49:26 UTC
Created attachment 33660 [details]
display corruption with gnome startup 

System Environment:
Arch:           x86-64
Platform:       G45
Libdrm:         (master)9a37455b35d746d694760cfe8850a8bf856d73c9
Mesa:           (master)54f9c509a1eddfa7b2600ef4e4c18c2e212f6d51
Xserver:           (master)de86a3a3448f0a55c1cd99aee9ea80070a589877
Xf86_video_intel:    (master)a0ee9c3d9c72962c8d513ec8c43dd4a21e316947
Kernel:  (drm-intel-next)6070a4a928f8c92b9fae7d6717ebbb05f425d6b2

Bug detailed description:
The corruption is observed on G45 after starting gnome desktop with compiz enabled. GPU and system is still alive and we can open a termial window. If drag the window to the edge of the screen, the X will crash with following error messge:

X: i830_uxa.c:374: i830_uxa_copy: Assertion `(dst_pitch % 512) == 0' failed.
xterm:  fatal IO error 11 (Resource temporarily unavailable) or KillClient on X server ":0.0"
xinit:  connection to X server lost.

Reproduce steps:
Comment 1 fangxun 2010-03-01 03:52:51 UTC
Created attachment 33661 [details]
Xorg log
Comment 2 fangxun 2010-03-01 21:30:46 UTC
It works well while gnome startup with compiz disabled.
With bisect and find ec5deb2bcbf828c3c47488eb77461c26cab38ed6 is first bad commit:
commit ec5deb2bcbf828c3c47488eb77461c26cab38ed6
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Feb 19 08:11:00 2010 -0800

    Remove dead assignments noticed by clang.
Comment 3 Eric Anholt 2010-03-08 14:41:52 UTC
commit 9656d329e4df28cfe138b657d04e5136bc794ce2
Author: Eric Anholt <eric@anholt.net>
Date:   Mon Mar 8 14:34:04 2010 -0800

    Put back the pitch alignment for new framebuffers.
    I confused a dead assignment with dead code, because one of the args
    to the function was an outvalue.  Fixes corruption under compiz.
    Bug #26814.
Comment 4 fangxun 2010-03-08 22:41:27 UTC
Verified with this commit.

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.