Commit 0660cbf4 authored by Peng Huang's avatar Peng Huang Committed by Marge Bot
Browse files

radeonsi: make si_fence_server_signal flush pipe without work



glSignalSemaphoreEXT sometime doesn't signal the semaphore, it is
because radeonsi doesn't flush if gl context doesn't have pending
work. Fix the porblem by always submit ib.
Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org>
Tested-by: Marge Bot <mesa/mesa!3779>
Part-of: <mesa/mesa!3779>
parent 787b56ac
...@@ -606,7 +606,11 @@ static void si_fence_server_signal(struct pipe_context *ctx, ...@@ -606,7 +606,11 @@ static void si_fence_server_signal(struct pipe_context *ctx,
* Therefore, we must make sure that we flush the pipe to avoid * Therefore, we must make sure that we flush the pipe to avoid
* new work being emitted and getting executed before the signal * new work being emitted and getting executed before the signal
* operation. * operation.
*
* Set sctx->initial_gfx_cs_size to force IB submission even if
* it is empty.
*/ */
sctx->initial_gfx_cs_size = 0;
si_flush_from_st(ctx, NULL, PIPE_FLUSH_ASYNC); si_flush_from_st(ctx, NULL, PIPE_FLUSH_ASYNC);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment