A stab at some EXA documentation
Thomas Winischhofer
thomas at winischhofer.net
Fri Aug 5 18:11:48 PDT 2005
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jesse Barnes wrote:
>
> EXA initialization
> ------------------
> Your driver's AccelInit routine has to initialize the EXADriverPtr and
> exa_scratch fields if EXA support is enabled, with appropriate error
> handling (i.e. NoAccel and NoXvideo should be set to true if EXA fails
> to initialize for whatever reason).
>
> A few, card specific fields need to be initialized:
>
> EXADriverPtr->card.memoryBase = ? /* base of the framebuffer */
> EXADriverPtr->card.memorySize = ? /* size of framebuffer */
> EXADriverPtr->card.offScreenBase = ? /* start of offscreen memory */
> /*
> * Common calculation is (maybe this should be the default?)
> * pScrn->virtualX * pScrn->virtualY * ((pScrn->bitsPerPixel * + 7) / 8)
> */
>
> /* Alignment restrictions for accessing card memory */
> EXADriverPtr->card.offscreenByteAlign = ?
> EXADriverPtr->card.offscreenPitch = ?
>
> /* Max screen size supported by the card? */
> EXADriverPtr->card.maxX = ?
> EXADriverPtr->card.maxY = ?
>
> The AccelInit routine also needs to make sure that there's enough
> offscreen memory for certain operations to function, like Xvideo, which
> needs at least as much offscreen memory as there is framebuffer memory?
>
> [Is SiS broken here? It just checks to see if *any* offscreen memory is
> present, and assumes that's enough.]
No. XVideo memory needs are depending on how big the source video is.
Your assumption in the previous paragraph is wrong.
> EXA and Xv
> ----------
> Video support becomes easier with EXA since AllocateFBMemory can use
> exaOffscreenAlloc directly, freeing a previous area if necessary and
> allocating a new one. Likewise, FreeFBMemory can call exaOffscreenFree.
>
> [Any other Xv gotchas?]
No, none that I know of. But there are a few DGA problems.
> EXA teardown
> ------------
> At screen close time, EXA drivers should free any offscreen memory that
> was allocated,
That's not neccessary. The memory pool will be destroyed anyway.
> EXA misc.
> ---------
> [FillRect, BlitRect, BlitTransRect need to check for EXA?]
If you're thinking of the SiS driver, these are for DGA.
> [ScreenInit sets FastVidCopyFrom?]
If you're thinking of the SiS driver, that's SiS driver specific (not
that it would hurt to implement this globally, though).
Thomas
- --
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFC9A5UzydIRAktyUcRAk5FAJ4iq1njP4aW4wflJOYKYKRjEQFlmQCfYJv7
Y+/wJuTj6iWQcHxacE8aBtk=
=j9TD
-----END PGP SIGNATURE-----
More information about the xorg
mailing list