[radeonsi] Artifacts in Team Fortress 2 (bisected)
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.
I have bisected it down to commit a34cc97c:
commit a34cc97ca3e19fb36045bf361b3a6bd865f71c7b Author: Timothy Arceri <firstname.lastname@example.org> 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.