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