diff options
-rw-r--r-- | src/mesa/state_tracker/st_cb_syncobj.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_syncobj.c b/src/mesa/state_tracker/st_cb_syncobj.c index 48e7647b602..2cbbc580c8c 100644 --- a/src/mesa/state_tracker/st_cb_syncobj.c +++ b/src/mesa/state_tracker/st_cb_syncobj.c @@ -74,7 +74,8 @@ static void st_fence_sync(struct gl_context *ctx, struct gl_sync_object *obj, assert(condition == GL_SYNC_GPU_COMMANDS_COMPLETE && flags == 0); assert(so->fence == NULL); - pipe->flush(pipe, &so->fence, PIPE_FLUSH_DEFERRED); + /* Deferred flush are only allowed when there's a single context. See issue 1430 */ + pipe->flush(pipe, &so->fence, ctx->Shared->RefCount == 1 ? PIPE_FLUSH_DEFERRED : 0); } static void st_client_wait_sync(struct gl_context *ctx, |