Savage mode setting problem and streams

Alex Deucher alexdeucher at gmail.com
Fri Sep 17 19:19:03 PDT 2004


On Sat, 18 Sep 2004 01:49:25 +0200, Felix Kühling <fxkuehl at gmx.de> wrote:
> On Fri, 17 Sep 2004 23:06:48 +0200
> Felix Kühling <fxkuehl at gmx.de> wrote:
> 
> > Hi Alex,
> >
> > thanks for committing your savage progress to Xorg CVS.
> >
> > I looked into the strange mode setting problem with Savage4 and my 19"
> > DFP on the DVI port I reported earlier. Diffing savage_driver.c from
> > xorg and DRI CVS lead me to think it may be related to streams (though I
> > have a somewhat vague understanding of the concept). Commenting out all
> > calls to SavageStreamsOn/Off "solved" the problem which proves my theory
> > right. It also improved glxgears frame rates from about 475 to about 510.
> > The latter is the same value I got with an XFree86 server running.
> 
> Solved this one:
> 
> --- ./savage_streams.h.~1.2.~   2004-09-17 23:24:27.000000000 +0200
> +++ ./savage_streams.h  2004-09-18 01:30:04.000000000 +0200
> @@ -71,7 +71,7 @@
>  #define SSTREAM_FBSIZE_REG             0x8304
>  #define SSTREAM_FBADDR2_REG            0x8308
> 
> -#define OS_XY(x,y)     (((x+1)<<16)|(y+1))
> +#define OS_XY(x,y)     (((x)<<16)|(y+1))
>  #define OS_WH(x,y)     (((x-1)<<16)|(y))
> 
>  /* Streams Processor macros */
> 
> Also tested this on my notebook with ProSavageDDR. With this change I
> can still see one pixel column of the mouse pointer when it's at the
> right edge of the screen. Without this change it was invisible,
> basically one pixel column was missing on the right.
> 
> BTW, disabling streams wasn't such a good idea. It locks up hard when I
> try to play a video with xv. But I guess that could be fixed by calling
> SavageStreamsOn in the right places in savage_video.c. Could this be
> made a xorg.conf option? On my notebook the performance impact on 3D is
> even worse. Glxgears FPS drops from about 480 to about 380.

That was the old behavior: only enabled secondary streams when Xv was
active.  Egbert changed that for his pseudocolor overlay stuff.  I'm
probably going to revert to the old behavior if the pseudocolor stuff
is not enabled.  That stuff is also not "tile ready" as it stands and
may have issues with 3d.  I'll probably disable tiled FB and 3d if
pseudocolor overlays are enabled.

> 
> >
> [snip]
> > Finally, I noticed that you left out the following snippet from
> > SavageDPMS:
> >
> >     if ( (!psav->CrtOnly) && psav->UseBIOS && psav->PanelX ) {
> >       SavageSetPanelEnabled(psav, (mode == DPMSModeOn));
> >     }
> >     else ...
> >
> > I added this in DRI CVS some time ago to switch of the LCD display on my
> > notebook when idle. It didn't work with the DVI port on the Savage4
> > though. I might look into it and fix both at the same time unless you
> > beat me to it.
> 
> Added this one back and it switches of the backlight on my notebook
> again. DPMS works with the Savage4+DFP in Xorg as long as streams are
> disabled. :( With streams enabled I get a random pattern of vertical
> stripes on the screen.
> 
> Felix
> 
> P.S.: I just saw your reply to my original message. The SR31 register
> crunching doesn't work with my notebook. I doesn't switch of the back
> light.

OK.  I'll add the code back. 

Alex

> 
> 
> 
> | Felix Kühling <fxkuehl at gmx.de>                     http://fxk.de.vu |
> | PGP Fingerprint: 6A3C 9566 5B30 DDED 73C3  B152 151C 5CC1 D888 E595 |
>



More information about the xorg mailing list