On Sat, 28 Sep 2002 16:31:56 +0100
Keith Whitwell <[EMAIL PROTECTED]> wrote:

[snip]
> Using a static variable doesn't cut it -- that should go into the 
> radeonContext struct in radeon_context.h.
> 
> Beyond that, it would be *nice* if the irq never happened unless we thought 
> that we were in danger of out-racing the card.  I don't really have a good 

Is emitting an IRQ really costlier than busy waiting?

> scheme to detect that situation -- perhaps every once in a while go back to 
> the busy waiting case, and only start emitting irq's if you ever actually have 
> to wait.
> 
> That's a little complex, perhaps...

Ok, I think it can be done. However, we would react to load changes with
one frame delay. Before I go on amusing people with another naive patch,
I'll explain my idea. If you think it's ok, I'll go ahead implementing
it, this time using radeonContext instead of a static variable ;)

radeonContext would contain the irq_seq number and a boolean specifying
whether there is an IRQ to wait for. If there is none, we have to do
busy waiting.

If we wait for an IRQ we check first, whether the last frame has already
been completed. If so, we don't have to wait.

In both cases (busy waiting and IRQ), if we did really wait, we emit an
IRQ guessing that it will be the same next time. radeonContext is
updated accordingly.

To avoid switching the waiting scheme all the time we could switch to
IRQ waiting only if we had to do at least N usleeps.

> 
> Keith
> 

Regards,
   Felix

               __\|/__    ___     ___     ___
__Tschüß_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___
_____Felix_______\Ä/\ \_____\ \_____\ \______U___just not everything____
  [EMAIL PROTECTED]    >o<__/   \___/   \___/        at the same time!


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to