zink: check last_finished first in fence_finish early out case
a fence's completed flag is irrelevant if we already know it has completed Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10048>
This commit is contained in:
parent
d3734ae2dd
commit
24923b4640
|
@ -201,7 +201,8 @@ zink_fence_finish(struct zink_screen *screen, struct pipe_context *pctx, struct
|
|||
bool tc_finish = tc_fence_finish(ctx, mfence, &timeout_ns);
|
||||
struct zink_fence *fence = mfence->fence;
|
||||
if (!tc_finish || (fence && !fence->submitted))
|
||||
return fence ? p_atomic_read(&fence->completed) : false;
|
||||
return zink_screen_check_last_finished(screen, mfence->batch_id) ? true :
|
||||
(fence ? p_atomic_read(&fence->completed) : false);
|
||||
|
||||
/* this was an invalid flush, just return completed */
|
||||
if (!mfence->fence)
|
||||
|
|
Loading…
Reference in New Issue