[Bug 95528] BioShock Infinite graphical glitches on radeonsi

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Comment # 14 on bug 95528 from
Created attachment 124721 [details]
Trimmed R600_DEBUG=vs,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=20 in the attached logs (vertex
shader=73, program=74; fragment shader=89, program=90).

The second pass is depth-tested against the results of the first, but uses
different shaders - pipeline=105 (vertex shader=383 program=384; fragment
shader=381, program=382).

With LLVM r266378 reverted, the results of the two passes line up, with current
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 are
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 (holes
punched by the z-prepass) and textured parts sway differently.

Since the game compiles an enormous amount of shaders on startup, the full 
R600_DEBUG=cs,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)


You are receiving this mail because:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux