>       It can be *very* usefull to do page flipping. You still have the
> problem of dumping buffers into video memory, but at least, this is
> something... I understand that a waitretrace ioctl makes no sense.

Why ? O.K. - we cannot guarantee a perfect response, if the system is
loaded, but if that is the case, you are introuble anyway for demos and
similar.

>       Well, let me imagine a bit. Applications has two main ways of
> writing his data into video memory, either with page-flipping (very easy to
> handle, I think) or with double (triple, ...) buffering, right, or I have
> *very* old ideas?. So, _maybe_ it would be a good idea if kernel could
> handle and dump the memory buffer for you...

That's not good. The kernel would need to move huge amounts of memory, and
it would block during that time. Would make for a nice DOS attack.

>       You only call the FBIODUMP_BUFFER ioctl, passing as parameter, a
> structure like this:
> struct kgi_buffer{
>   void *buffer;
>   uint16 x0, y0;
>   uint16 width, height;
> }
> and the buffer is dumped when it's possible, getting the proccess locked
> until this is done. 

This is bad either, as you probably imply that "when it's possible" would be
at VSync time. Now that means either busy-waiting or using an interrupt.
The latter is problematic, because in interrupt context, there is no notion
of a mapped process, what makes this buffer unavailable.

> In some cards it it could be done with HW accel by AGP?

Yeah, but usually you'd better use pageflipping, because you can then draw
with the accelerator.

CU, ANdy

-- 
= Andreas Beck                    |  Email :  <[EMAIL PROTECTED]> =

Reply via email to