A stab at some EXA documentation
thomas at winischhofer.net
Fri Aug 5 18:11:48 PDT 2005
-----BEGIN PGP SIGNED MESSAGE-----
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 AT winischhofer DOT net *** http://www.winischhofer.net
twini AT xfree86 DOT org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the xorg