New acceleration architecture

Thomas Winischhofer thomas at
Tue Jun 28 10:21:11 PDT 2005

Hash: SHA1

Zack Rusin wrote:
> So lets get to the question everyone wants to ask and that is: how do I 
> get a usable xcompmgr with the new architecture? 
> 1) include "exa.h" in your driver and load exa,

Could I please have a (global) #define whether exa is available? (So
that I can #include the file only if it's really there)

> 2) use the code from XAA primitives for solid-fills and screentoscreen 
> copies to implement Exa's Solid and Copy hooks. So no real changes at 
> this point. 
> 3) create an ExaDriverRec structure and fill in the accel hooks.
> 4) call exaCardInit(exaDriver, memory_base, off_screen_base,
> 	memory_size, offscreen_byte_align, offscreen_pitch,
> 	flags, max_x, max_y); to let the system know what are the 
> capabilities of your card. This is really a convenience macro and you 
> may fill in all those individually if you prefer that.

Would you mind commenting the structure elements a bit more please?
What's offscreen_byte_align, offscreen_pitch, for example? Is
"memorysize" including the screen area, or the offscreen area only? Is
offscreenbase an offset, or a pointer cast into "unsigned long"? If you
want to make transition/porting easy please don't make me read the
entire code :)

> 5) exaDriverInit(pScreen, exaDriver); once you connected yours hooks and 
> setup your card.
> 6) replace xf86AllocateOffscreenArea with calls to ExaOffscreenAlloc

What about a wrapper for AllocLinear, since this is what's mostly used?

And what about the loader symbols (or is this loader-symbol stuff out
since the dl? - I admit I haven't followed development in this area)


- --
Thomas Winischhofer
thomas AT winischhofer DOT net	       ***
twini AT xfree86 DOT org
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -


More information about the xorg mailing list