On Thu, 20 Sep 2001, Michel Dänzer wrote:

> 
> [ CC: to Mark to get the most competent comments on XAA ]
> 
> Gerd Knorr wrote:
> > 
> > > the indirect buffers aren't flushed often enough. When I move a window
> > > with amiwm, the contents don't move at first. Only when I move it
> > > again do the contents appear in the current place. A quick comparison
> > > with the Radeon code didn't reveal any obvious difference, so I wonder
> > > what's wrong?
> > 
> > I've noticed this too.  Very good visible with mutt, when walking the
> > mail index up and down.  Killing all x clients which update the screen
> > regular intervals (xload, xclock + friends) gives even better results.
> > 
> > The FLUSH_RING machro does submit the buffer to the kernel.  It is used
> > by R128CCEWaitForIdle, which in turn is hooked into XAAInfoRecPtr->Sync.
> > Maybe this is simply the wrong place?  Don't know much about the XAA
> > architecture...
> 
> Hmm, yes and no. XAAInfoRecPtr->Sync is used to synchronize between
> accelerator and CPU access to the framebuffer, so while R128CCEWaitForIdle
> looks good to me, it's never called as long as there is no CPU access to the
> framebuffer.
> 
> Mark, is there a way to flush DMA buffers after a batch of XAA operations
> right now? If not, could it be added easily?

   Wrap the BlockHandler and flush there.  It gets called before the 
X-server goes back to waiting on its file descriptors. 


                                Mark.


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

Reply via email to