[Mesa-dev] [PATCH 1/2] loader/dri3: Only wait for back buffer fences in dri3_get_buffer
Michel Dänzer
michel at daenzer.net
Tue Sep 11 12:41:31 UTC 2018
Any feedback on this patch? Without negative feedback, I'll push it
later this week.
On 2018-09-04 6:22 p.m., Michel Dänzer wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> 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: mesa-stable at lists.freedesktop.org
> Bugzilla: https://bugs.freedesktop.org/106404
> Bugzilla: https://bugs.freedesktop.org/107757
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
> ---
> 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 91bad86afd8..6c162553f33 100644
> --- a/src/loader/loader_dri3_helper.c
> +++ b/src/loader/loader_dri3_helper.c
> @@ -1819,7 +1819,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?
>
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Mesa and X developer
More information about the mesa-dev
mailing list