Resize problems with savage and DRI.

Alex Deucher alexdeucher at
Mon Oct 11 09:08:45 PDT 2004

On Mon, 11 Oct 2004 17:45:49 +0200, Felix Kühling <fxkuehl at> wrote:
> On Mon, 11 Oct 2004 09:48:52 -0400
> Alex Deucher <alexdeucher at> wrote:
> [snip]
> >
> > Ah, ok, that helps.  I think I know where the problem is. FWIW, does
> > disabling the call to streamsOn() in savagemodeinit() fix the bug?
> > this will break Xv, but I think I know where the bug is.  the streams
> > code tweaks the saling regs for playback with scaling enabled and if
> > you have the streams on all the time, things never get reset to the
> > proper values.  I think we may want to revert to only enabling streams
> > during playback, or resetting it on a mode switch.
> Yes, removing the StreamsOn calls fixed it. BTW, your last XV commit had
> a positive effect on the glxgears frame rate on ProSavageDDR so I
> thought streams were disabled by default now. But on Savage4 the frame
> rate didn't change. Weird.

I noticed a slight speed up on my savage4 as well. I think the problem
was that the code in xorg cvs has mucking around with the streams FIFO
(to optimize Xv performance) which is what broke interpolation and
caused the corruption (interpolation uses a hardcoded FIFO setting and
setting the FIFO reg seems to break it).  it also may have been
responsible for reduced performance on 3D. leaving the FIFO reg at its
default seems to work fine in all instances I've tested.

> There is another problem with Xv that may be related. After mode
> switches mplayer only shows the color key. Restarting/reinitializing X
> is the only way to get Xv back.

this stems from the fact that streams is on all the time now.  it
should really be reset when a mode change happens since the secondary
stream is tied into how the primary stream is set up.  when that
changes, Xv (secondary stream) needs to re-initialized.  This will
also fix the lcd scaling issues.  I'm working on fixing this up now.

> >
> > >
> > > >
> > > > >   Also, Xv seems to be glitching, generating vertical lines up and down
> > > > > the screen on high resolution video.
> > > >
> > > > Xv should work now on savages with the "old" streams engine.  the
> > > > problem was the FIFO was being setup wrong for vertical interpolation.
> > > >  Vertical interpolation is also very bandwidth intensive and one of my
> > > > savages4s isn't up to it, so I've disabled it by default for all "old"
> > > > chips.  It's now available as an XV attribute
> > > > (XV_VERTICAL_INTERPOLATION) you can turn it off and on on the fly.
> > > > After some testing I may enable it by default on some chipsets.
> > >
> > > How can I set Xv attributes? xvinfo can only display it and I couldn't
> > > find a way to make mplayer set custom attributes.
> > >
> >
> > you can use apps like xvattr to change Xv attributes. perhaps xvattr
> > or something similar could be included with xorg. I guess it's GPL
> > though.
> >
> > There are also packages of it for most distros.
> Thanks for the pointer. Tried it on Savage 4 and ProSavageDDR. Both have
> problems with upscaling with vertical interpolation. On the bigger
> screen on the Savage4 artifacts are generally more noticable. They also
> seem to depend on the original movie size. Some movies look fine in
> their original resolution, others are messed up but look ok as soon as I
> make the window only one pixel smaller.

I want to say I had this working in the past (interpolation without
corruption, that is), but I can't seem to get it going now.  Maybe its
somewhat dependant on the videos themselves.  I'll look into this more
at some point.

> On the ProSavageDDR I got a hard lockup when I tried to play a real big
> movie (858x774) and Option "BCIforXv" "on". It displayed garbage first
> and after a while it only showed the color key and was frozen. Once I
> could log in remotely early enough to try to kill mplayer. kill -5
> didn't have any effect, kill -9 made it lock up hard again.

hmmm... unforunately, I don't know much about the BCI Xv code.  it's
pretty much a cut and paste from S3's code drop.  I need to look more
into what it's actually doing.  Thanks for the heads up.


> | Felix Kühling <fxkuehl at>            |
> | PGP Fingerprint: 6A3C 9566 5B30 DDED 73C3  B152 151C 5CC1 D888 E595 |

More information about the xorg mailing list