Module: Mesa Branch: master Commit: aefac10fecc9ec70feb5923ce3200902f67182ba URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aefac10fecc9ec70feb5923ce3200902f67182ba
Author: Michel Dänzer <[email protected]> Date: Tue Sep 4 12:18:19 2018 +0200 loader/dri3: Only wait for back buffer fences in dri3_get_buffer We don't need to wait before drawing to the fake front buffer, as front buffer rendering by definition is allowed to produce artifacts. Fixes hangs in some cases when re-using the fake front buffer, due to it still being busy (i.e. in use for presentation). Cc: [email protected] Bugzilla: https://bugs.freedesktop.org/106404 Bugzilla: https://bugs.freedesktop.org/107757 Tested-by: Olivier Fourdan <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]> --- src/loader/loader_dri3_helper.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c index b625214858..258678a666 100644 --- a/src/loader/loader_dri3_helper.c +++ b/src/loader/loader_dri3_helper.c @@ -1818,7 +1818,9 @@ dri3_get_buffer(__DRIdrawable *driDrawable, buffer = new_buffer; draw->buffers[buf_id] = buffer; } - dri3_fence_await(draw->conn, draw, buffer); + + if (buffer_type == loader_dri3_buffer_back) + dri3_fence_await(draw->conn, draw, buffer); /* * Do we need to preserve the content of a previous buffer? _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
