CVS Update: xc (branch: trunk)

Thomas Winischhofer thomas at winischhofer.net
Sun Sep 18 05:39:32 PDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Thomas Winischhofer wrote:
> Thomas Winischhofer wrote:
> 
>>>Eric Anholt wrote:
>>>
>>>
>>>>>On Sat, 2005-09-17 at 13:02 -0700, Eric Anholt wrote:
>>>>>
>>>>>
>>>>>
>>>>>>CVSROOT:	/cvs/xorg
>>>>>>Module name:	xc
>>>>>>Changes by:	anholt at gabe.freedesktop.org	05/09/17 13:02:02
>>>>>>
>>>>>>Log message:
>>>>>>- Don't try to upload 0 byte-per-pixel (PICT_a1) data using
>>>>>>  RADEONHostDataBlit.
>>>>>>- Disable the shortcut for switching from 3d to 3d in radeon_exa.c.  It
>>>>>>  appears that we do need the cache flush here, thought it's not clear
>>>>>>  why.  Disable the 2d to 2d shortcut while here, since I'm unsure of
>>>>>>  what we're doing.  Exposed by the following bit:
>>>>>>- Bug #4485: Add a new routine, exaGlyphs, to handle font drawing.
>>>>>>  Glyphs were being accumulated in from non-migratable scratch pixmaps,
>>>>>>  causing the destination pixmap to move towards screen but the
>>>>>>  migration necessary for source never to happen, leading to abysmal
>>>>>>  performance.  Instead, copy the scratch glyph data into a real pixmap
>>>>>>  first, then composite from that into the destination, allowing for
>>>>>>  migration.  time ls -lR from programs/Xserver showed 26.9% (+/- 6.3%)
>>>>>>  decrease in wall time (n=3).
>>>>>>- Create exaDrawableUse* wrapping exaPixmapUse*, but which are aware of
>>>>>>  windows needing backing store.  Makes migration code prettier, and
>>>>>>  ensures that composited windows will be migrated as normal when we
>>>>>>  turn off cw for EXA. (issue brought up by keithp)
>>>>>
>>>>>
>>>>>We had a discussion on IRC about the cost of item 2, disabling the
>>>>>shortcut for "switching" from 2d to 2d or 3d to 3d.  I decided to test
>>>>>this, using the same ls -lR, against the theoretical best of never
>>>>>having to do the syncing (stick a break at the top of
>>>>>RADEON_SWITCH_TO_*).  It was clear that fonts were broken when I made
>>>>>this change.  At n=7, a=.05, caches hot, there was no statistically
>>>>>significant difference.  In this case, I'm quite happy with the code as
>>>>>it is and feel no need to try to squeeze hypothetical performance out by
>>>>>being stingier with the flushes :)
>>>
>>>
>>>Whatever you did, these changes (glyph stuff supposedly) make scrolling
>>>non-AA text (which I use for console and text editor) on sis hardware
>>>visibly slower. Scrolling though a text file in the editor (kwrite, in
>>>my case) using the scroll bar or the mouse wheel lags *quite* a bit. No
>>>good...
> 
> "time cat init301.c init301.c init301.c init301.c" in the console
> (konsole) went from 1.3 to 1.5 seconds averagely.

Nope, the exaGlyph can't be it, since I don't support the composite
hooks (yet).

Some migration logic is borked as it seems.


- --
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net          http://www.winischhofer.net/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDLWADzydIRAktyUcRAtqMAJ9uNMptmdbgD6EFIv6S2lXHZByDFgCdFzCJ
Pezjqobfvh78EuvQlJhfr4w=
=6kDP
-----END PGP SIGNATURE-----



More information about the xorg mailing list