[radeonsi] Artifacts in Team Fortress 2 (bisected)
System information
Distro: Arch Linux
CPU: Info: 8-Core model: AMD Ryzen 7 1700X bits: 64 type: MT MCP arch: Zen rev: 1 L2 cache: 4096 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 121370
Speed: 3480 MHz min/max: 2200/3800 MHz Core speeds (MHz): 1: 3166 2: 3283 3: 3037 4: 3048 5: 3300 6: 3049 7: 3182
8: 3048 9: 3041 10: 3044 11: 3364 12: 3037 13: 3157 14: 3048 15: 3178 16: 3207
Graphics: Device-1: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
vendor: Sapphire Limited Nitro+ driver: amdgpu v: kernel bus ID: 09:00.0 chip ID: 1002:67df
Display: server: X.Org 1.20.9 compositor: picom driver: modesetting alternate: ati,fbdev,vesa
resolution: 2560x1080~60Hz s-dpi: 96
OpenGL: renderer: Radeon RX 590 Series (POLARIS10 DRM 3.38.0 5.8.7-13-tkg-upds LLVM 10.0.1)
v: 4.6 Mesa 20.3.0-devel (git-20a4235c4c) direct render: Yes
Describe the issue
Black artifacts appear in Team Fortress 2 (native). I have tested several other Source engine based games but this one seems to be the only one affected by it.
Regression
I have bisected it down to commit a34cc97c:
commit a34cc97ca3e19fb36045bf361b3a6bd865f71c7b
Author: Timothy Arceri <tarceri@itsqueeze.com>
Date: Tue May 5 14:24:46 2020 +1000
glsl: when NIR linker enable use it to resize uniform arrays
Here we turn on uniform array resizing in the NIR linker and disable
the GLSL IR resizing pass when the NIR linker is enabled.
This will potentially make uniform arrays smaller due to NIR
optimising away more uniform uses.
The game works just fine in mesa 20.1.7 while 20.2.0-rc1 seems to contain the regression.
Log files as attachment
Screenshots/video files (if applicable)
https://streamable.com/u4ypav video of the artifacts in question. Sadly the game crashes as soon as I try to use apitrace. TF2 is free on Steam however.