[Mesa-dev] [PATCH 3/4] nine: handle D3DISSUE_END without previous D3DISSUE_BEGIN

John Ettedgui john.ettedgui at gmail.com
Fri Nov 21 21:44:04 PST 2014


On Fri Nov 21 2014 at 7:50:03 PM Ilia Mirkin <imirkin at alum.mit.edu> wrote:

> What's the actual problem?

If you mean in-game, a blocking black screen, the game wants to display
something but is unable to and keeps trying pretty much forever.

> If there's no begin, then a new query would
> remain marked as FRESH.

This is not my understanding of the Query on msdn:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb147308%28v=vs.85%29.aspx
As you can see on the 1st diagram, we have either cases:
Signaled State moved to Building State on D3DISSUE_BEGIN and then to Issued
State on D3DISSUE_END (this part worked fine before).

Then we have Signaled Sated moved to Issued State on D3DISSUE_END, that's
the part I believe was not working before this patch.

Of course all of that is based on me thinking FRESH is nine's version of
Signaled.


> Should _GetData 0 out the result in that case
> perhaps instead of insta-returning?
>
> You are correct that this is the exact reason why I made the change.
In my game, GetData kept getting called, and kept returning no data because
of the State the Queue was in (in its current implementation).

What do you mean by "0 out the result" though?

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141122/ddd388b9/attachment.html>


More information about the mesa-dev mailing list