From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 98784] Talos Principle rendering flickering garbage on start instead of its logo and loading squares Date: Tue, 03 Jan 2017 12:51:49 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0300133209==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id 4D7E289A56 for ; Tue, 3 Jan 2017 12:51:49 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0300133209== Content-Type: multipart/alternative; boundary="14834479090.73C539.24859"; charset="UTF-8" --14834479090.73C539.24859 Date: Tue, 3 Jan 2017 12:51:49 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D98784 --- Comment #7 from Samuel Pitoiset --- Can you try with LIBGL_DRI3_DISABLE=3D1 ? This will use DRI2 and it should = fix the flickering. After bisecting, the first bad commit seems to be: commit d3d33918c79d9e87aedaf6f70ed39f75eed262a0 Author: Michel D=C3=A4nzer Date: Wed Aug 17 17:02:04 2016 +0900 loader/dri3: Overhaul dri3_update_num_back Always use 3 buffers when flipping. With only 2 buffers, we have to wait for a flip to complete (which takes non-0 time even with asynchronous flips) before we can start working on the next frame. We were previously only using 2 buffers for flipping if the X server supports asynchronous flips, even when we're not using asynchronous flips. This could result in bad performance (the referenced bug report is an extreme case, where the inter-frame stalls were preventing the GPU from reaching its maximum clocks). I couldn't measure any performance boost using 4 buffers with flipping. Performance actually seemed to go down slightly, but that might have been just noise. Without flipping, a single back buffer is enough for swap interval 0, but we need to use 2 back buffers when the swap interval is non-0, otherwise we have to wait for the swap interval to pass before we can start working on the next frame. This condition was previously reversed. Cc: "12.0 11.2" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=3D97260 Reviewed-by: Frank Binns Reviewed-by: Eric Anholt (cherry picked from commit 1e3218bc5ba2b739261f0c0bacf4eb662d377236) Squashed with commit: loader/dri3: Always use at least two back buffers This can make a significant difference for performance with some extreme test cases such as vblank_mode=3D0 glxgears. Fixes: 1e3218bc5ba2 ("loader/dri3: Overhaul dri3_update_num_back") Cc: "12.0 11.2" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=3D97549 Reviewed-by: Jason Ekstrand Tested-by: Dieter N=C3=BCtzel (cherry picked from commit dc3bb5db8c81e7f08ae12ea5d3ee999e2afcbfd1) :040000 040000 aa5cf86f1e98d023f9539a6a15654fd9754101a2 fb92ad057feeb3fbff38d808c71c7e5e1cead9af M src --=20 You are receiving this mail because: You are the assignee for the bug.= --14834479090.73C539.24859 Date: Tue, 3 Jan 2017 12:51:49 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Comment= # 7 on bug 98784<= /a> from Samuel Pitoiset
Can you try with LIBGL_DRI3_DISABLE=3D1 ? This will use DRI2 a=
nd it should fix
the flickering.

After bisecting, the first bad commit seems to be:

commit d3d33918c79d9e87aedaf6f70ed39f75eed262a0
Author: Michel D=C3=A4nzer <michel.daenzer@amd.com>
Date:   Wed Aug 17 17:02:04 2016 +0900

    loader/dri3: Overhaul dri3_update_num_back

    Always use 3 buffers when flipping. With only 2 buffers, we have to wait
    for a flip to complete (which takes non-0 time even with asynchronous
    flips) before we can start working on the next frame. We were previously
    only using 2 buffers for flipping if the X server supports asynchronous
    flips, even when we're not using asynchronous flips. This could result
    in bad performance (the referenced bug report is an extreme case, where
    the inter-frame stalls were preventing the GPU from reaching its maximum
    clocks).

    I couldn't measure any performance boost using 4 buffers with flipping.
    Performance actually seemed to go down slightly, but that might have
    been just noise.

    Without flipping, a single back buffer is enough for swap interval 0,
    but we need to use 2 back buffers when the swap interval is non-0,
    otherwise we have to wait for the swap interval to pass before we can
    start working on the next frame. This condition was previously reversed.

    Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
    Bugzilla: https://bugs.freedesktop.org/show_bug.c=
gi?id=3D97260
    Reviewed-by: Frank Binns <frank.binns@imgtec.com>
    Reviewed-by: Eric Anholt <eri=
c@anholt.net>
    (cherry picked from commit 1e3218bc5ba2b739261f0c0bacf4eb662d377236)

    Squashed with commit:

    loader/dri3: Always use at least two back buffers

    This can make a significant difference for performance with some extreme
    test cases such as vblank_mode=3D0 glxgears.

    Fixes: 1e3218bc5ba2 ("loader/dri3: Overhaul dri3_update_num_back&q=
uot;)
    Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org>
    Bugzilla: https://bugs.freedesktop.org/show_bug.c=
gi?id=3D97549
    Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
    Tested-by: Dieter N=C3=BCtzel <Dieter@nuetzel-hh.de>
    (cherry picked from commit dc3bb5db8c81e7f08ae12ea5d3ee999e2afcbfd1)

:040000 040000 aa5cf86f1e98d023f9539a6a15654fd9754101a2
fb92ad057feeb3fbff38d808c71c7e5e1cead9af M      src


You are receiving this mail because:
  • You are the assignee for the bug.
= --14834479090.73C539.24859-- --===============0300133209== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0300133209==--