Bug 17094 - Banding on Radeon HD 3670
Summary: Banding on Radeon HD 3670
Status: RESOLVED INVALID
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/Radeon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: xf86-video-ati maintainers
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-12 10:09 UTC by Mario Limonciello
Modified: 2010-10-19 16:38 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Xorg log (223.83 KB, patch)
2008-08-12 10:09 UTC, Mario Limonciello
no flags Details | Splinter Review
Photo showing banding (515.28 KB, image/jpeg)
2008-09-05 18:04 UTC, Bryce Harrington
no flags Details
rv635_dithering.patch (1.43 KB, patch)
2008-09-18 17:36 UTC, Bryce Harrington
no flags Details | Splinter Review
Enable dithering on rv635 hardware (1.64 KB, patch)
2008-09-22 12:48 UTC, Bryce Harrington
no flags Details | Splinter Review

Description Mario Limonciello 2008-08-12 10:09:39 UTC
Created attachment 18239 [details] [review]
Xorg log

This is tested on Ubuntu Intrepid, using the default xorg.conf which defaults to the radeon driver.

This results in banding across the display.
Comment 1 Bryce Harrington 2008-09-05 18:04:36 UTC
Created attachment 18698 [details]
Photo showing banding

Mario sent me the hardware in question; I've taken a photo of the screen to illustrate the banding.

This is with -ati version 1:6.9.0+git20080802.1f3eee36-1ubuntu1.  I'll test with the a3cc1d7a once it's built.
Comment 2 Bryce Harrington 2008-09-05 18:06:18 UTC
Some additional details...

This seems to only occur with gradients.  I can reproduce the issue both in Inkscape and Gimp when using their gradients.
Comment 3 Alex Deucher 2008-09-06 13:33:06 UTC
Dithering is probably enabled for that output.  You'd need to fix up dfp_disable_dither() in atombios_output.c for DCE 3.0 cards.
Comment 4 Bryce Harrington 2008-09-11 16:36:14 UTC
Noticed that the log didn't specify the pci info:

01:00.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon Mobility HD 3670 [1002:9593]
	Subsystem: Dell Device [1028:0272]
Comment 5 Bryce Harrington 2008-09-18 17:36:31 UTC
Created attachment 18990 [details] [review]
rv635_dithering.patch

I'm having some trouble determining what register needs to be poked.  I've tried all the ones in the current code, and tried finding some docs to see if there is a new BIT_DEPTH_CONTROL register, but no luck so far.  Maybe something has to be done in addition to setting the bit depth?
Comment 6 Bryce Harrington 2008-09-19 00:21:38 UTC
I've also tried each of the following without luck:

            OUTREG(0x6710, 0);

            OUTREG(0x6f10, 0);

Comment 7 Bryce Harrington 2008-09-22 12:48:12 UTC
Created attachment 19105 [details] [review]
Enable dithering on rv635 hardware

After a whole bunch of experimentation and advice from Alex, this patch enables dithering and greatly diminishes the banding.  (The banding's still there, but you have to look close to see it.)
Comment 8 Bryce Harrington 2008-09-24 15:49:19 UTC
Alex, please let me know if there are changes you'd like to see to this patch before it can be committed to upstream git.  I've incorporated it into Ubuntu's -ati package.
Comment 9 Fabio Pedretti 2008-10-10 07:55:01 UTC
Is this bug supposed to be fixed with current git?
Comment 10 Alex Deucher 2008-10-10 08:06:52 UTC
(In reply to comment #9)
> Is this bug supposed to be fixed with current git?
> 

Ajax' commit (d744dc013cf5ca3141c0fdf55e36d713fe9f53ba) should fix it I think.
Comment 11 Bryce Harrington 2008-11-10 18:08:52 UTC
I finally got a chance to re-test this.  Unfortunately, it did not eliminate the banding.  At least it seems to be no worse than the patch I'd posted earlier, but the banding is still present if you look closely.


Comment 12 Alex Deucher 2009-10-21 13:46:10 UTC
Is this still an issue with ati git master?
Comment 13 Alex Deucher 2010-10-19 16:38:57 UTC
closing due to lack of feedback.


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.