I'm still seeing weird graphical corruptions in chrome and sometimes when playing video
It's especially noticeable when in inbox.google.com I might be suffering from a different issue however On Thu, 11 Oct 2018 at 11:43 Mike Lothian <m...@fireburn.co.uk> wrote: > Do you think this why I've been seeing lots of weird flashing in Chrome > recently? > > I'll test this patch out tonight and give you my tested by if you like > > On Thu, 11 Oct 2018 at 09:27 Michel Dänzer <mic...@daenzer.net> wrote: > >> >> 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 >> >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev