nouveau: check if a fence has already been signalled

nouveau_fence_update does real work unconditionally. Avoid doing that if
the fence we're checking on has already been signalled.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Ilia Mirkin 2014-07-09 23:20:43 -04:00
parent c11096c749
commit bbc4a7bd31

View file

@ -174,6 +174,9 @@ nouveau_fence_signalled(struct nouveau_fence *fence)
{
struct nouveau_screen *screen = fence->screen;
if (fence->state == NOUVEAU_FENCE_STATE_SIGNALLED)
return TRUE;
if (fence->state >= NOUVEAU_FENCE_STATE_EMITTED)
nouveau_fence_update(screen, FALSE);