radeonsi: try flushing unflushed fences in si_fence_finish even when timeout == 0
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Wed, 22 Nov 2017 16:52:43 +0000 (17:52 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Sun, 26 Nov 2017 15:53:00 +0000 (16:53 +0100)
commit0fed7f83bae7721b9351d45342d6ff528c3e2dc9
tree7cd32c7522f8fb93f47d547312c657ab16ff6934
parent0bd83d04612520ff97e21d41bcc3ad2e68e160df
radeonsi: try flushing unflushed fences in si_fence_finish even when timeout == 0

Under certain conditions, waiting on a GL sync objects should act like
a flush, regardless of the timeout.

Portal 2, CS:GO, and presumably other Source engine games rely on this
behavior and hang during loading without this fix.

Fixes: bc65dcab3bc4 ("radeonsi: avoid syncing the driver thread in si_fence_finish")
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103902
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103904
src/gallium/drivers/radeonsi/si_fence.c