Vertex buffers and the ring walker method

Michel Dänzer michel at
Wed Jun 13 02:00:10 PDT 2012

On Die, 2012-06-12 at 12:28 -0700, Connor Behan wrote: 
> On 12/06/12 01:31 AM, Michel Dänzer wrote:
> > I doubt there's any reason why the ring walker method wouldn't work
> > with AGP. BTW, I assume you're always testing your code with direct
> > rendering enabled, so the R128CCE* paths are hit. Because I don't see
> > how the other Composite paths could work at all as they are. :) 
> Good point. I had my doubts about whether they would work but I wasn't
> going to work on modifying them until I was successful with CCE compositing.

CCE packets can only be submitted to the CCE ring / indirect buffer, not
to the register at offset 0 (whatever that may be). Was that also the
initial setup problem you mentioned in the last bug comment?

> >> The only guidance I've been able to find, comes from r128_composite.c
> >> in the kdrive ATI driver.
> > Have you got that working BTW?
> No, I'm afraid of the dependency hell that would ensue if I tried to
> install an 8 year old X server.

Not sure what kind of dependency hell that would be. You should be able
to run it straight out of the build tree.

> > Not for CPU access... For GPU acceess, the code pSrc->devPrivate.ptr -
> > info->ExaDriver->memoryBase can't work, as devPrivate.ptr is normally
> > NULL. You need to use exaGetPixmapOffset(). 
> I guess that's a difference between EXA and KAA?


> I figured that out a couple weeks ago but I didn't upload any patches
> to the bug tracker with this change :).

It's hard to try and help you without being able to see what you're
currently working with...

Earthling Michel Dänzer           |         
Libre software enthusiast         |          Debian, X and DRI developer

More information about the xorg-driver-ati mailing list