On Sat, 11 Sep 2004 15:33:43 +0100, Alan Cox <[EMAIL PROTECTED]> wrote: > For example I can see the radeon DRM driver providing > > ->queue_commands() > ->quiesce() > > to the 2D driver. And the 2D driver providing > > ->define_fb_layout() for DRI to provide to X > > That way it is only these calls between drivers you and the fb authors > have to argue about the functionality and interfaces between. (eg who > saves registers, which registers) >
Take a system with two simultaneous users on two heads of a dual head card. The kernel will be process swapping between these two users as needed. User 1 is playing a 3D game. User 2 is editing with emacs on fbdev User 1's game queues up 20ms of 3D drawing commands. Process swap to user 2. ->quiesce() is going to take 20ms. User 2's timeslice expires and we go back to user 1. User 1 queues up another 20ms. User 2's editor is never going to function. The correct solution is to leave the chip in 3D mode and merge DMA command streams. User 2 wouldn't have problems if it's console driver queued 3D commands instead of stopping the 3D coprocessor, changing the chip mode, executing a host based 2D command, and then restarting the coprocessor. -- Jon Smirl [EMAIL PROTECTED] ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel