From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 95528] BioShock Infinite graphical glitches on radeonsi Date: Sat, 25 Jun 2016 19:36:07 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0107992866==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 5EFDA6E141 for ; Sat, 25 Jun 2016 19:36:07 +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 --===============0107992866== Content-Type: multipart/alternative; boundary="14668833672.a7C3.5985"; charset="UTF-8" --14668833672.a7C3.5985 Date: Sat, 25 Jun 2016 19:36:07 +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=3D95528 --- Comment #14 from Daniel Scharrer --- Created attachment 124721 --> https://bugs.freedesktop.org/attachment.cgi?id=3D124721&action=3Dedit Trimmed R600_DEBUG=3Dvs,ps output & shader GL calls with LLVM r273782 I could not record an apitrace (game hangs before getting to the main menu, possibly performance related), but I was able to dump the shaders and narrow down (some of) the affected ones. The game uses two passes to render the flags and banners: The first pass (possibly a z prepass?) uses pipeline=3D20 in the attached logs (vertex shader=3D73, program=3D74; fragment shader=3D89, program=3D90). The second pass is depth-tested against the results of the first, but uses different shaders - pipeline=3D105 (vertex shader=3D383 program=3D384; frag= ment shader=3D381, program=3D382). With LLVM r266378 reverted, the results of the two passes line up, with cur= rent LLVM they do not causing the z-fighting visible in the video linked in the = bug description. Even when disabling the depth test in the second pass, there a= re still visible parts of "white" background so this is a) most likely an issue with one of the vertex shaders and b) not just a depth precision issue. You= can also see this by looking closely at the flags in the video - the while (hol= es punched by the z-prepass) and textured parts sway differently. Since the game compiles an enormous amount of shaders on startup, the full= =20 R600_DEBUG=3Dcs,vs,tcs,tes,gs,ps output is quite large - I have attached a trimmed output that only contains the two vertex/fragment shader pairs used= for the banners. The full logs are available at: http://constexpr.org/tmp/bioshockinfinite-bad.log (20 MiB) http://constexpr.org/tmp/bioshockinfinite-good.log (21 MiB) --=20 You are receiving this mail because: You are the assignee for the bug.= --14668833672.a7C3.5985 Date: Sat, 25 Jun 2016 19:36:07 +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

Commen= t # 14 on bug 95528<= /a> from Daniel Scharrer
Created attachment 124721 [details]
Trimmed R600_DEBUG=3Dvs,ps output & shader GL calls with LLVM r273782

I could not record an apitrace (game hangs before getting to the main menu,
possibly performance related), but I was able to dump the shaders and narrow
down (some of) the affected ones.

The game uses two passes to render the flags and banners: The first pass
(possibly a z prepass?) uses pipeline=3D20 in the attached logs (vertex
shader=3D73, program=3D74; fragment shader=3D89, program=3D90).

The second pass is depth-tested against the results of the first, but uses
different shaders - pipeline=3D105 (vertex shader=3D383 program=3D384; frag=
ment
shader=3D381, program=3D382).

With LLVM r266378 reverted, the results of the two passes line up, with cur=
rent
LLVM they do not causing the z-fighting visible in the video linked in the =
bug
description. Even when disabling the depth test in the second pass, there a=
re
still visible parts of "white" background so this is a) most like=
ly an issue
with one of the vertex shaders and b) not just a depth precision issue. You=
 can
also see this by looking closely at the flags in the video - the while (hol=
es
punched by the z-prepass) and textured parts sway differently.

Since the game compiles an enormous amount of shaders on startup, the full=
=20
R600_DEBUG=3Dcs,vs,tcs,tes,gs,ps output is quite large - I have attached a
trimmed output that only contains the two vertex/fragment shader pairs used=
 for
the banners. The full logs are available at:
 http://const=
expr.org/tmp/bioshockinfinite-bad.log (20 MiB)
 http://cons=
texpr.org/tmp/bioshockinfinite-good.log (21 MiB)


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