From: Timothy M. <mi...@te...> - 2004-06-16 19:38:26
|
David Eger wrote: > On Wed, Jun 16, 2004 at 08:24:15PM +0200, Jurriaan wrote: > >>The radeonfb driver in 2.6.7 produces some interesting artifacts on >>scrolling, both scrolling horizontally and vertically. > > > The corruption you are talking about is, I believe, caused by a couple of things: > > (1) we're not issuing enough fifo_wait()'s around our accel engine > and pan register writes. > (2) there's some disconnect between writing to fb memory, panning, and > copyarea()/fillrect() calls > > I sent a hack of a fix for this to Ben a week ago, adding a call to radeonfb_sync() > at the end of radeonfb_copyarea() and radeonfb_fillrect(). This seems to fix the > problem for me, but you *shouldn't* have to do this. > > I haven't tracked it any further than this. My next guess would be auditing register > writes and making sure there are enough fifo_wait()'s... Is this the case even with the off-by-one error in the bitblt code fixed? In the 2.4 kernel, I got rid of all artifacts by fixing the off-by-one error. In case, you don't know what I'm talking about, when you bitblt up or to the left on Radeon, x and y need to be adjusted by (w-1) and/or (h-1), respectively. The code there, however, adjusted by w and/or h, which is off-by-one. |