On Fri, Mar 04, 2005 at 08:40:55AM +0100, N?meth M?rton wrote: > > >Mark Vojkovich ?rta: >>On Wed, 2 Mar 2005, Tim Roberts wrote: >> >> >>>N?meth M?rton wrote: >>> >>> >>>>Hi! >>>> >>>>I've tested 4.5.0RC2 with xtest 4.0.10, see >>>>http://bugs.xfree86.org/show_bug.cgi?id=1557 for details. >>>> >>>>I've attached a test C program which always produces bad rendering >>>>using acceleration, and never if XaaNoScreenToScreenCopy is set >>>>(=without acceleration). The results are also attached. >>>> >>>>Have anyone see souch behaviour? >>>> >>>>Have anyone programers manual about 86c764/765 [Trio32/64/64V+] chip? >>> >>> >>>Is it really only GXclear, GXinvert, and GXset that fail? If so, the >>>diagnosis is pretty easy. >>> >>>For those three ROPs, it's not really a screen-to-screen blit at all: >>>the source surface is not used. Most S3 chips (Savage included) fail if >>>you attempt to use a two-operand bitblt command when the source is not >>>involved. That's why there is an XAA flag specifically for this case. >>> >>>The solution is to add >>> pXAA->ScreenToScreenCopyFlags = ROP_NEEDS_SOURCE; >>>to the S3AccelInitXxx function at the bottom of the file. >>> >> >> >> I don't believe the Trio32/64/64V+ had that problem. That was >>specific to the ViRGE. I'm more inclined to believe that this >>problem is because it's not setting: >> >> pXAA->ScreenToScreenCopyFlags = NO_TRANSPARENCY; >> >> I don't recall the the S3 driver I wrote a long time ago having >>that feature, and you definitely don't want to be using it if you >>support transparency during color expansions. The transparent blit >>feature is really only for chips that don't have a color expansion >>engine for stippling. >> >> If you want to see correct acceleration code for the old S3 chips >>you should dig up the old s3 code in the XFree86 3.3.x XF86_SVGA >>server. I wrote that years ago. >> > >I've tested the two settings using xtest 4.0.10 at color depth 16. Here >are my results: > >pXAA->ScreenToScreenCopyFlags = ROP_NEEDS_SOURCE; > => the XCopyArea tests passed > >pXAA->ScreenToScreenCopyFlags = NO_TRANSPARENCY; > => the XCopyArea tests fails the following tests: > - GXclear (6) > - GXinvert (16) > - GXset (21) > >Is there any need to set the ROP_NEEDS_SOURCE on S3 Trio64V+ and not on >the other S3 chips or the ROP_NEEDS_SOURCE will work on all S3 cards? > >s3virge have an other driver, and uses NO_TRANSPARENCY already. > >(What does ROP mean, anyway?) > > NMarci
I'll commit the patch. Thanks for following it up. David _______________________________________________ Devel mailing list Devel@XFree86.Org http://XFree86.Org/mailman/listinfo/devel