Bug 8983

Summary: [PATCH] fix invalid rounding for the RMX modes
Product: xorg Reporter: Sascha Sommer <saschasommer>
Component: Driver/RadeonAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high CC: eich, libv, mat, sndirsch
Version: 7.1 (2006.05)   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Patch to fix the display corruption
none
c program to show the rounding differences for other panels and modes none

Description Sascha Sommer 2006-11-11 04:34:00 UTC
Hi,

I think that the scaling code is wrong for the rmx modes.
With my 1400x1050 laptop flatpanel and my mobility radeon9700 using for example 
the 1024x768 mode will display a grey line on the bottom of the display and 
some kind of display corruption on the right part of the display.

Attached patch fixes these issues.


I also attached a small C Program that will show you the differences for other 
panel sizes and modes:

panel 1400x1050
1400x1050 h: 4096 4096 diff 0 v: 4096 4096 diff 0
1280x960 h: 3745 3744 diff 1 v: 3745 3744 diff 1
1280x768 h: 3745 3744 diff 1 v: 2996 2995 diff 1
1024x768 h: 2996 2995 diff 1 v: 2996 2995 diff 1
800x600 h: 2341 2340 diff 1 v: 2341 2340 diff 1
640x480 h: 1872 1872 diff 0 v: 1872 1872 diff 0
panel 1280x768
1280x768 h: 4096 4096 diff 0 v: 4096 4096 diff 0
1024x768 h: 3277 3276 diff 1 v: 4096 4096 diff 0
800x600 h: 2560 2560 diff 0 v: 3200 3200 diff 0
640x480 h: 2048 2048 diff 0 v: 2560 2560 diff 0
panel 1024x768
1024x768 h: 4096 4096 diff 0 v: 4096 4096 diff 0
800x600 h: 3200 3200 diff 0 v: 3200 3200 diff 0
640x480 h: 2560 2560 diff 0 v: 2560 2560 diff 0

As you can see for the other panel sizes almost nothing changes.
Comment 1 Sascha Sommer 2006-11-11 04:35:05 UTC
Created attachment 7743 [details] [review]
Patch to fix the display corruption
Comment 2 Sascha Sommer 2006-11-11 04:36:01 UTC
Created attachment 7744 [details]
c program to show the rounding differences for other panels and modes
Comment 3 Matthias Hopf 2006-11-14 04:22:50 UTC
Wow.

I would typically imagine that *adding* rounding code would fix floating ponint
issues - this time it is the other way round...

As I do not understand much of the radeon driver, be sure to post this to the
mailing list, so that the right people get attention to this issue, and can
comment on the rounding issue. As I said, it looks strange to me.
Comment 4 Daniel Stone 2007-02-27 01:34:36 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 5 Michel Dänzer 2007-08-23 03:19:24 UTC
Pushed to GIT master and 6.7 branch, thanks.
Comment 6 Stefan Dirsch 2007-08-23 12:56:16 UTC
The patch needs to be improved. It might break the RMX mode on other machines. See bugzilla.novell.com, #220724 for more details.

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.