On Wednesday 24 April 2002 11:31 am, Leif Delgass wrote:

> I know you need to flag the final descriptor at the end of the pass by
> setting END_OF_LIST_STATUS in BM_COMMAND (third dword of the descriptor).
> In Utah-glx, there's also a series of register writes added to end of the
> buffer to "go back to drawing on the front buffer the way the X server
> expects."  Is this necessary?  Utah-glx does this even for pseudo-DMA, but
> we don't do this currently.

Some of that is not to "go back" but to ensure that things are as close to as 
they were before execution of the DMA pass.  If you reset the control 
registers to what they were before the GUI master pass, there is no risk of 
some delayed effect attacks (While there's no risk during a gui-master pass 
of anything critcal being messed up, there's a slight risk (unverified) that 
some of the control flags might be acted upon afterwards, messing things up 
down the line. ).  Setting BUS_CNTL and a few select others back to what they 
were before the pass might not be a bad idea for this stuff.

> I was starting to try setting up the descriptor table through the DRM
> framework as well, but I'm thinking that this might be the best way to get
> started.

It might be usable, but it all depends on the smallest size you can allocate 
that way.  I don't know, can the DRM framework allocate 1 16k buffer and then 
allocate a bunch of 128k or larger ones?  If it can't, you don't want to be 
using that framework for this- you only need 16k aligned on a 16k boundary.  


-- 
Frank Earl

_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to