Any feedback? Without negative feedback, I'll push this fix tomorrow.
On 2018-10-02 4:44 p.m., Michel Dänzer wrote: > From: Michel Dänzer <michel.daen...@amd.com> > > In that case, we have to wait for the fence to synchronize with the > corresponding drawing we triggered in the X server. > > Fixes incorrect display with the i965 and some applications, e.g. BTW, I've locally fixed this to say "the i965 driver". > solvespace. > > Bugzilla: https://bugs.freedesktop.org/108097 > Fixes: aefac10fecc9 "loader/dri3: Only wait for back buffer fences in > dri3_get_buffer" > Tested-by: Sergii Romantsov <sergii.romant...@globallogic.com> > Signed-off-by: Michel Dänzer <michel.daen...@amd.com> > --- > src/loader/loader_dri3_helper.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/src/loader/loader_dri3_helper.c b/src/loader/loader_dri3_helper.c > index f641a34e6d1..1981b5f0515 100644 > --- a/src/loader/loader_dri3_helper.c > +++ b/src/loader/loader_dri3_helper.c > @@ -1736,6 +1736,7 @@ dri3_get_buffer(__DRIdrawable *driDrawable, > struct loader_dri3_drawable *draw) > { > struct loader_dri3_buffer *buffer; > + bool fence_await = buffer_type == loader_dri3_buffer_back; > int buf_id; > > if (buffer_type == loader_dri3_buffer_back) { > @@ -1791,6 +1792,7 @@ dri3_get_buffer(__DRIdrawable *driDrawable, > 0, 0, 0, 0, > draw->width, draw->height); > dri3_fence_trigger(draw->conn, new_buffer); > + fence_await = true; > } > dri3_free_render_buffer(draw, buffer); > } else if (buffer_type == loader_dri3_buffer_front) { > @@ -1812,13 +1814,14 @@ dri3_get_buffer(__DRIdrawable *driDrawable, > new_buffer->linear_buffer, > 0, 0, draw->width, draw->height, > 0, 0, 0); > - } > + } else > + fence_await = true; > } > buffer = new_buffer; > draw->buffers[buf_id] = buffer; > } > > - if (buffer_type == loader_dri3_buffer_back) > + if (fence_await) > dri3_fence_await(draw->conn, draw, buffer); > > /* > -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev