On Thu, 19 Aug 2004 10:11:36 -0400, Robert S. Kerr <[EMAIL PROTECTED]> wrote:
> Alex Deucher wrote:
> 
> >On Thu, 19 Aug 2004 09:13:44 -0400, Robert S. Kerr <[EMAIL PROTECTED]> wrote:
> >
> >
> >>I've been experimenting with this problem a bit and I'm pretty sure at
> >>this point it relates to something in the horizontal scaling portions of
> >>the savage Xv stuff.  I found a simple program
> >>(http://www.xfree86.org/~mvojkovi/suzi.tar.gz, makes an executable
> >>called rotyuv) that repeatably demonstrates the issue and allows me to
> >>explore it a bit more.
> >>
> >>Running it shows an image (redrawn constantly so it is a 'still' video)
> >>that you can stretch and resize and the program scales the image
> >>accordingly.  You can stretch the image full screen vertically and no
> >>artifacts appear.  However when you stretch it past 703 pixels wide on
> >>my machine it flips into the 2 zone mode.
> >>
> >>
> >
> >AH! nice work!  I think I know exactly where the problem is.  Take a
> >look at savage_video.c
> >
> >WHich driver are you working on?  xorg cvs with my patch or DRI cvs?
> >
> >
> I'm using xorg cvs with your patch.  I haven't updated CVS in a week or so.
> 
> >there are two possible spots.
> >1. Look for the section that starts:
> >
> >    /*
> >     * Process horizontal scaling
> >     *  upscaling and downscaling smaller than 2:1 controled by MM8198
> >     *  MM8190 controls downscaling mode larger than 2:1
> >     */
> >
> >this is where the hoziontal scaling is done.
> >
> >2.  this block:
> >
> >    /* Calculate horizontal scale factor. */
> >    if (S3_MOBILE_TWISTER_SERIES(psav->Chipset)
> >        && psav->FPExpansion) {
> >        drw_w = (((float)(drw_w * psav->XExp1)/(float)psav->XExp2)+1);
> >        drw_h = (float)(drw_h * psav->YExp1)/(float)psav->YExp2+1;
> >        dstBox->x1 = (float)(dstBox->x1 * psav->XExp1)/(float)psav->XExp2;
> >        dstBox->y1 = (float)(dstBox->y1 * psav->YExp1)/(float)psav->YExp2;
> >
> >        dstBox->x1 += psav->displayXoffset;
> >        dstBox->y1 += psav->displayYoffset;
> >    }
> >
> >This came from S3/VIA's code.  I don't have a mobile twister so I
> >can't really test, however it seemed to work based on reports using
> >the DRI DDX.
> >
> >
> >
> I'm using a Prosavage DDR KM266.

Feel free to play with the code I mentioned above.  If you get it
working send me a patch.  I'll look into it myself at some point, but
I don't have an IGP savage.

Alex

> 
> 
> 
> >>The program uses XvShmPutImage to draw.  I'm still trying to track down
> >>into the savage driver to see which method that ends up in when it gets
> >>down to the savage code. I think it is 'SavagePutImage' in the savage
> >>Xserver driver. (Alex could you point me in the right direction?)
> >>
> >>If that turns out to be right, my next adventure is to figure out how to
> >>debug a running driver.  Pointing gdb at my rotyuv process doesn't let
> >>me look down into the XvShmPutImage method.  Suggestions are welcome.
> >>
> >>Rob
> >>
> >>
> >>
> >>
> >>


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
--
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to