[radeonsi] [vulkan] [23.3-rc1 regression] Video output corrupted in QMplay2 with Vulkan renderer
Description
When using the Vulkan renderer of the QMplay2 media player (https://github.com/zaps166/QMPlay2, version 23.10.22, on Linux 6.6.0), output is somewhat garbled with mesa 23.3.0-rc1.
Also, dmesg complains about GPU faults.
It works perfectly with mesa 23.2.1; also, even with 23.3.0-rc1, using the OpenGL or Legacy (CPU) renderers works without glitches. The problem is specific to Vulkan rendering.
Screenshots/video files
With Mesa 23.3.0-rc1 and Vulkan rendering:
Corrent (with Mesa 23.2.1 or another renderer):
Log files (for system lockups / game freezes / crashes)
In dmesg while playing the video:
[Wed Nov 1 01:00:20 2023] amdgpu 0000:0a:00.0: amdgpu: GPU fault detected: 146 0x07d0480c for process QMPlay2 pid 1159132 thread QMPlay2:cs0 pid 1159151
[Wed Nov 1 01:00:20 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x001124FA
[Wed Nov 1 01:00:20 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0804800C
[Wed Nov 1 01:00:20 2023] amdgpu 0000:0a:00.0: amdgpu: VM fault (0x0c, vmid 4, pasid 32772) at page 1123578, read from 'TC0' (0x54433000) (72)
[Wed Nov 1 01:00:25 2023] gmc_v8_0_process_interrupt: 236 callbacks suppressed
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: GPU fault detected: 146 0x07d0480c for process QMPlay2 pid 1159132 thread QMPlay2:cs0 pid 1159151
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00110CFA
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0804800C
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM fault (0x0c, vmid 4, pasid 32772) at page 1117434, read from 'TC0' (0x54433000) (72)
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: GPU fault detected: 146 0x07d0480c for process QMPlay2 pid 1159132 thread QMPlay2:cs0 pid 1159151
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x00110CFA
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0804800C
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM fault (0x0c, vmid 4, pasid 32772) at page 1117434, read from 'TC0' (0x54433000) (72)
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: GPU fault detected: 146 0x07d0480c for process QMPlay2 pid 1159132 thread QMPlay2:cs0 pid 1159151
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_ADDR 0x001118FA
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x0804800C
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: VM fault (0x0c, vmid 4, pasid 32772) at page 1120506, read from 'TC0' (0x54433000) (72)
[Wed Nov 1 01:00:25 2023] amdgpu 0000:0a:00.0: amdgpu: GPU fault detected: 146 0x07d0480c for process QMPlay2 pid 1159132 thread QMPlay2:cs0 pid 1159151
[... lots more similar errors ...]
Steps to reproduce
Install QMplay2, set the renderer to Vulkan (Options -> Renderer settings -> [select Vulkan from the "Renderers" dropdown]) Play any video
(So far this has happened on every video I've tried, but of course it's possible that it's not reproducible with some videos)
System information
$ inxi -GSC -xx
df: /etc/lsb-release lf: /etc/lsb-release
System:
Host: ryzen9 Kernel: 6.6.0-desktop-1omv2390 arch: x86_64 bits: 64
compiler: clang v: 17.0.3 Desktop: KDE Plasma v: 5.27.80 tk: Qt v: 5.15.11
wm: kwin_wayland dm: SDDM Distro: OpenMandriva Lx 23.90 Nickel
CPU:
Info: 16-core model: AMD Ryzen 9 5950X bits: 64 type: MT MCP arch: Zen 3+
rev: 0 cache: L1: 1024 KiB L2: 8 MiB L3: 64 MiB
Speed (MHz): avg: 3501 high: 4365 min/max: 2200/5083 boost: enabled cores:
1: 2999 2: 3482 3: 3514 4: 3224 5: 3700 6: 3474 7: 4008 8: 3573 9: 4351
10: 3514 11: 3503 12: 3836 13: 4038 14: 4365 15: 3514 16: 4327 17: 3473
18: 3628 19: 2200 20: 2800 21: 2800 22: 2200 23: 3400 24: 3672 25: 3526
26: 3490 27: 3462 28: 3400 29: 3993 30: 3466 31: 2800 32: 4323
bogomips: 217197
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: AMD Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X]
vendor: ASRock driver: amdgpu v: kernel arch: GCN-4 pcie: speed: 8 GT/s
lanes: 8 ports: active: HDMI-A-1 empty: DP-1,DVI-D-1 bus-ID: 0a:00.0
chip-ID: 1002:699f temp: 55.0 C
Display: wayland server: X.org v: 1.21.1.9 with: Xwayland v: 23.2.2
compositor: kwin_wayland driver: X: loaded: amdgpu
unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu
display-ID: 0
Monitor-1: HDMI-A-1 res: 1920x1080 size: N/A
API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
gbm: drv: kms_swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
drv: radeonsi
API: OpenGL v: 4.6 vendor: amd mesa v: 23.3.0-rc1 glx-v: 1.4 es-v: 3.2
direct-render: yes renderer: AMD Radeon RX 550 / 550 Series (radeonsi
polaris12 LLVM 17.0.3 DRM 3.54 6.6.0-desktop-1omv2390)
device-ID: 1002:699f display-ID: :0.0
API: Vulkan v: 1.3.264 surfaces: xcb,xlib,wayland device: 0
type: discrete-gpu driver: mesa radv device-ID: 1002:699f device: 1
type: cpu driver: mesa llvmpipe device-ID: 10005:0000
Regression
Worked with 23.2.1
Further information (optional)
Happens with RADV_DEBUG=llvm
as well
Works on a box with identical OS/software using an Intel Raptor Lake-S GPU