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

Reply via email to