Bug 27299 - [855 GM] colors regression on master since d6b7f96fde1add92fd
Summary: [855 GM] colors regression on master since d6b7f96fde1add92fd
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-24 18:09 UTC by Diego Escalante Urrelo
Modified: 2010-05-15 14:13 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Bad colors and expected ones. (25.42 KB, image/png)
2010-03-24 18:09 UTC, Diego Escalante Urrelo
no flags Details

Description Diego Escalante Urrelo 2010-03-24 18:09:20 UTC
Created attachment 34426 [details]
Bad colors and expected ones.

Bug description:
In git master colours of toolbar icons (more noticeably) and other graphics are blurry or washed out. See attached screenshot.

System environment: 
-- chipset: 855GM
-- system architecture: 32-bit (i686)
-- xf86-video-intel: 0c47195ca805881e3fbd5b9224be5c930feeeb8c (master up to March 24th)
-- xserver: 1.7.6-1
-- mesa: 7.7-4
-- libdrm: 2.4.18-3
-- kernel: 2.6.33-4
-- Linux distribution: Debian unstable+experimental
-- Machine or mobo model: Thinkpad R50e
-- Display connector: LVDS

Reproducing steps:
1. Install intel driver's master.
2. See funky colours.

Additional info:
After a git bisect, this commit turned out to be responsible. I reverted it on top of HEAD and indeed the problem was gone.

commit d6b7f96fde1add92fd11f5a75869ae6fc688bf77
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Mar 6 15:49:04 2010 +0000

    Fill alpha on xrgb images.
    
    Do not try to fixup the alpha in the ff/shaders as this has the
    side-effect of overriding the alpha value of the border color, causing
    images to be padded with black rather than transparent. This can
    generate large and obnoxious visual artefacts.
    
    Fixes:
    
      Bug 17933 - x8r8g8b8 doesn't sample alpha=0 outside surface bounds
      http://bugs.freedesktop.org/show_bug.cgi?id=17933
    
    and many related cairo test suite failures.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Side note: is there a test suite I can run? I usually use latest git master daily but I guess I could give you a more "scientific" hand if I run test suites also.
Comment 1 Carl Worth 2010-03-29 09:45:56 UTC
The commit that introduced this problem was made to fix bug #17933
so there are some comments in that bug report that might be useful
here.

-Carl
Comment 2 Chris Wilson 2010-03-29 10:25:25 UTC
From bug 17933 we not that [server-side] fallback paths are not directly involved here, so it is not clear what the cause is. What I would like is a minimum gtk+ app that can be run as the solitary client of an X server so that I can trace the entire system and see what code paths are actually involved...
Comment 3 Carl Worth 2010-03-29 10:54:04 UTC
(In reply to comment #0)
> Side note: is there a test suite I can run? I usually use latest git master
> daily but I guess I could give you a more "scientific" hand if I run test
> suites also.

We don't have anything specific for the driver, but we often use other
graphics-related test suites as standins, (for example cairo's test suite).

But note that historically, our driver hasn't been able to pass cairo's
test suite entirely. And fixing *that* was one of the motivating factors
that led Chris to implement the fix that caused this regression. ;-)

-Carl


Comment 4 Diego Escalante Urrelo 2010-03-29 17:20:59 UTC
Carl I'm using cairo 1.9.6, maybe that's relevant for this bug?
Comment 5 Frederic Crozat 2010-04-09 05:45:30 UTC
I'm seeing the bug on two i865 systems :
Card:Intel 810 and later: Intel Corporation|82865G Integrated Graphics
Controller [DISPLAY_VGA] (rev: 01)

and 

Card:Intel 810 and later: Intel Corporation|82865G Integrated Graphics
Controller [DISPLAY_VGA] (vendor:8086 device:2572 subv:1043 subd:80a5) (rev:
02)

with driver 2.11.0 with xorg server 1.7.6 on mandriva cooker.

It is with either cairo 1.9.6 or cairo 1.8.8 and either with pixman 0.18.0 or
0.16.2
Comment 6 Chris Wilson 2010-04-28 10:42:02 UTC
A few recent patches pushed to master hook up the ShmPutImage to convert xrgb to argb.

In particular:

commit 2d17bd50af367bead84985c22fdd43d264a5f072
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 14 14:54:34 2010 +0100

    Revert "Revert "uxa: Try using put_image when copying from a memory buffer.""
    
    This reverts commit 6d50553e8f70d8f2142efdfd6c90bc27a599d0bc.
    
    Now we have taught the fallback path not to infinitely recurse,
    re-enable the accelerated path for ShmPutImage and friends.

And the subsequent patches to handle the failed pixman_blt. Does this fix/explain the corruption?
Comment 7 Frederic Crozat 2010-04-29 01:35:40 UTC
for the record, 2.11.0 + patches 1cc2c2c44ac72460cf1c4e6bdc13c612235809c9 27195d7dba0f3ff08b92f3fd916cdf5113cbef58  9a5cd65b593ea82e56e0c403f7ddcc2420a64dc3 8562b7bc6740eef2602af76b8685388efd2d4d37

does not fix the problem.
Comment 8 Stefan Glasenhardt 2010-05-10 14:21:30 UTC
Tested lasted git-version of the intel-driver (Up to commit 	0d4dd00aeafdd625ffe902e26e666b63a0842adc).

Problem is still present on my 855GM-based notebook.

Software :

Xserver from Ubuntu 10.04, latest git libdrm and intel-driver.
Comment 9 Chris Wilson 2010-05-14 17:22:17 UTC
I believe this should be fixed now.
Comment 10 Stefan Glasenhardt 2010-05-15 02:08:54 UTC
Hi Chris,

For me the bug is now fixed. No more false colors. I'm using the latest version (up to commit 58b089febceca1e915607bb723ee658aaa9dbed3) of the driver.
Comment 11 Chris Wilson 2010-05-15 02:19:17 UTC
Thanks Stefan, I haven't had a chance to fire up my i845 to check.
Comment 12 Diego Escalante Urrelo 2010-05-15 14:13:41 UTC
Hi Chris,

this is also fixed for me on master, but now menu highlighting results in a blank (no text) line *only when approaching from the south of the screen*. 
Plus, test-tfp (your ad-hoc performance test on a recente bug) has degraded terribly for me.


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.