Felix Kühling wrote:
> 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?


Good question.  I really don't know.

>>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.

This sounds good.  I'm looking forward to see if you can implement it without 
things getting too ugly.

In the meantime, why don't you send me a tested version of your earlier patch, 
modified to keep 'irq_seq' in rmesa.  I'll commit it.

Keith



-------------------------------------------------------
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