Index: [thread] [date] [subject] [author]
  From: Andreas Beck <becka@rz.uni-duesseldorf.de>
  To  : ggi-develop@eskimo.com
  Date: Fri, 6 Aug 1999 17:41:14 +0200

Re: Accels and /dev/gfx.

> I never programmed a FIFO. I have docs on the ATI 64 cards which use a
> FIFO. This way I can get a feel of how to program one.

It's pretty simple. It's more or less, that the registers automatically feed
an internal queue, which executes in the background while you feed it.

> Oops. Forgot the most important one. Actually if I start out /dev/gfx with
> multiple virtual accel engines then process switching could actually be
> the method to flush the ping pong buffers instead of the page fault
> method. 

Not instead. You could overflow the buffers if the pagefault isn't there.
O.K. - you could explicitly flush, but that's the beauty of the segfault
system, that you don't need to. It's just that you need to flush, if accel
commands from another process come in.

> This would only work if process switching occurs. Are their any
> times when process switching does not occur under linux 

Yes. If a realmode priviledged process is executing.

I think it depends on where you hook in. AFAIK it will always jump into the
scheduler, see if a resched is due and do it or not as needed.

CU, Andy

-- 
= Andreas Beck                    |  Email :  <andreas.beck@ggi-project.org> =

Index: [thread] [date] [subject] [author]