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

Reply via email to