The current code works breaking the overlapping region down into regions the size of the non-overlapping part and copying them over one by one. That way you never have to worry about raster direction since you are always copying a non-overlapping part. That's what the code said, I just didn't want to believe that was actually happening. So dragging a 1000x1000 window by one pixel diagionally results in a 1000000 operations, no wonder my Matrox G400 felt faster. (And the cpu load reaches 95% when dragging a window) Those primitives were designed for that purpose, but they don't work like the other primitives. The VGT and vertex setup setup is completely different. They were implemented for the 2D emulation in the CP microcode on r6xx chips. They aren't really supposed to be usable by software according to the hw folks. Alex So there was supposed to be a better solution, but it doesn't work, too bad. Sorry for wasting your time, I guess I'll have to wait until the rest of the documenation is available. Thanks for the info (and the driver of course). Mark. -- To unsubscribe, e-mail: radeonhd+unsubscribe@opensuse.org For additional commands, e-mail: radeonhd+help@opensuse.org