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