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

Reply via email to