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: Marek Olšák <marek.olsak@amd.com>
Cc: 19.3 20.0 <mesa-stable@lists.freedesktop.org>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3779>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3779>
* Therefore, we must make sure that we flush the pipe to avoid
* new work being emitted and getting executed before the signal
* 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);
}