On Sat, 28 Jun 2003, Philip Brown wrote: > >Mark Vojkovich wrote: > > > > pPixmap->devPrivate is the pointer to the memory, but this > >is dynamic. Pixmaps get migrated back and forth between video > >and system ram. So you need to check it every time you reenter > >your code. > > > oops. > > The bitblit routines are rather hairy to follow, so I hope you dont mind me > also asking; what are the pitfalls of me creating a pixmap myself?
The hardware won't be able to render to it. XAA only knows that it's a hardware surface because it allocated it. In the new XAA, it's the driver that does the allocation since there are problem with XAA trying to allocate it as it does currently. XAA doesn't know enough about the hardware contraints to do a good job of it. Also, they do need to get migrated between video ram and system memory. They can't stay in video ram when you switch VTs. > > The constraints are that I want to be able to allocate an offscreen memory > chunk myself via xf86AllocateLinear, then create a pixmap around it, and > then be able to use the accelerated bitblit routines via > gc->ops->CopyArea() You'll never get this working properly. Even XAA can't use xf86AllocateLinear because it doesn't know about hardware alignment contraints. In XAA, the root window extends downward and offscreen pixmaps are just windows that are offscreen. There is no mechanism to take a linear allocation and make a hardware pixmap out of it. The XFree86 5.0 XAA deals with this by leaving it all to the driver. Mark. _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel