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.
Created attachment 7743 [details] [review] Patch to fix the display corruption
Created attachment 7744 [details] c program to show the rounding differences for other panels and modes
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.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Pushed to GIT master and 6.7 branch, thanks.
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.