regression affecting texture rendering
result of inxi -GSC -xx (with the not working, latest version avalaible on nixos)
System: Host: marius-nixos Kernel: 5.6.7 x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: KDE Plasma 5.17.5 tk: Qt 5.12.7 wm: kwin_x11 dm: SDDM Distro: NixOS 20.09pre223385.3b00e78e63b (Nightingale) CPU: Topology: Dual Core model: AMD Ryzen 3 3200U with Radeon Vega Mobile Gfx bits: 64 type: MT MCP arch: Zen+ rev: 1 L2 cache: 1024 KiB flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 20761 Speed: 2265 MHz min/max: 1400/2600 MHz Core speeds (MHz): 1: 2541 2: 2659 3: 2718 4: 2713 Graphics: Message: No Device data found. Device-1: Chicony HP HD Camera type: USB driver: uvcvideo bus ID: 1-6:3 chip ID: 04f2:b669 Display: x11 server: X.org 1.20.8 compositor: kwin_x11 driver: N/A resolution: <xdpyinfo missing> OpenGL: renderer: AMD RAVEN2 (DRM 3.36.0 5.6.7 LLVM 9.0.1) v: 4.6 Mesa 20.0.2 direct render: Yes
Describe the issue
The problem I have happen with any openGL game. It consist of having texture being not what they should be, but otherwise the games work well. It doesn't happend with any non-game software that I use. See the screenshot section for an exemple of a version that work and a version that doesn't (taken from xonotic).
I use nixos, so I first did a bisect on nixos. I found that the problemtic commit is b5c1cb2e8a934980efa0c47e13da202f01b38f6b , that update mesa from 19.3.3 to 20.0.1. So I first tested on master branch of mesa to see if it changed something, but it doesn't. I bisected the error to 082d1c16 , called "radeonsi: implement sdma for GFX9". I then returned to master, and removed the
else if (sctx->chip_class == GFX9 && si_sdma_v4_copy_texture(sctx, dst, dst_level, dstx, dsty, dstz, src, src_level, src_box)) return;
that was added. It worked
Screenshots/video files (if applicable)
Any extra information would be greatly appreciated
All of the mesa build were made using the nix package manager on nixos. I set the parameter hardware.opengl.package to the custom built drivers
To do the test on xonotic, I simply executed it with xonotic +map erbium. By default, it spawn the player as a free camera.