after mesa upgrade 20.3.5 -> 21.0.2, AMD Kabini vaapi H264 hw. decode stopped working
System information
- OS: minimyth2
- GPU: AMD Kabini
- Kernel version: 5.11.10
- Mesa version: Mesa Gallium driver 21.0.2 for AMD KABINI (DRM 2.50.0, 5.11.10, LLVM 9.0.1)
- Xserver version: 1.20.8
- Desktop manager and compositor: none
Describe the issue
After mesa sources upgrade from 20.3.5 -> 21.0.2 & recompile, vaapi H264 decode stopped working. Recompiling back to 20.3.5 brings vaapi decode back. Mesa sources change is single change causing vaapi decode to stop working.
Regression
Yes. Recompile from 21.0.2 -> 20.3.5 brings vaapi h264 hw. decode back.
Log files as attachment
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/r600_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
2021-04-09 16:47:47.955071 I PlayerVideo: Executing VAAPI context creation
2021-04-09 16:47:47.955084 I MythCodecContext: Create decoder callback
2021-04-09 16:47:47.971716 I VAAPIInterop: Created VAAPI 1.10 display for GL-VAAPI-DRM (Mesa Gallium driver 21.0.2 for AMD KABINI (DRM 2.50.0, 5.11.10, LLVM 9.0.1))
2021-04-09 16:47:47.972007 I VAAPIDRM: VAAPI DRM PRIME interop is not supported
2021-04-09 16:47:47.972017 I VAAPIDRM: Using VAAPI handle for interop
2021-04-09 16:47:47.972102 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x3231564e -> nv12.
2021-04-09 16:47:47.972119 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x30313050 -> p010le.
2021-04-09 16:47:47.972133 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x36313050 -> unknown.
2021-04-09 16:47:47.972149 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x30323449 -> yuv420p.
2021-04-09 16:47:47.972166 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x32315659 -> yuv420p.
2021-04-09 16:47:47.972207 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x56595559 -> unknown.
2021-04-09 16:47:47.972228 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x32595559 -> yuyv422.
2021-04-09 16:47:47.972245 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x59565955 -> uyvy422.
2021-04-09 16:47:47.972267 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x41524742 -> bgra.
2021-04-09 16:47:47.972286 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x41424752 -> rgba.
2021-04-09 16:47:47.972305 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x58524742 -> bgr0.
2021-04-09 16:47:47.972334 D [AVHWDeviceContext @ 00007f69eebd3a80] Format 0x58424752 -> rgb0.
2021-04-09 16:47:47.972356 D [AVHWDeviceContext @ 00007f69eebd3a80] VAAPI driver: Mesa Gallium driver 21.0.2 for AMD KABINI (DRM 2.50.0, 5.11.10, LLVM 9.0.1).
2021-04-09 16:47:47.972372 D [AVHWDeviceContext @ 00007f69eebd3a80] Driver not found in known nonstandard list, using standard behaviour.
2021-04-09 16:47:47.972584 E [AVHWFramesContext @ 00007f69eebd3a20] Failed to create surface: 2 (resource allocation failed).
2021-04-09 16:47:47.972599 E [AVHWFramesContext @ 00007f69eebd3a20] Unable to allocate a surface from internal buffer pool.
2021-04-09 16:47:47.972607 E VAAPIDec: Failed to initialise VAAPI frames context
2021-04-09 16:47:47.972616 I MythCodecContext: vaapi frames context finished
kernel log:
[ 3.399592] [drm] initializing kernel modesetting (KABINI 0x1002:0x9834 0x1458:0xD000 0x00).
[ 3.399628] [drm] doorbell mmio base: 0xD0000000
[ 3.399633] [drm] doorbell mmio size: 8388608
[ 3.399739] ATOM BIOS: AMD
[ 3.399804] [drm] Changing default dispclk from 300Mhz to 600Mhz
[ 3.399827] radeon 0000:00:01.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
[ 3.399839] radeon 0000:00:01.0: GTT: 2048M 0x0000000020000000 - 0x000000009FFFFFFF
[ 3.399853] [drm] Detected VRAM RAM=512M, BAR=256M
[ 3.399857] [drm] RAM width 128bits DDR
[ 3.400035] [TTM] Zone kernel: Available graphics memory: 3775646 KiB
[ 3.400043] [TTM] Zone dma32: Available graphics memory: 2097152 KiB
[ 3.400096] [drm] radeon: 512M of VRAM memory ready
[ 3.400102] [drm] radeon: 2048M of GTT memory ready.
[ 3.400126] [drm] Loading kabini Microcode
[ 3.400166] [drm] Internal thermal controller without fan control
[ 3.401470] [drm] radeon: dpm initialized
[ 3.401480] [drm] Found UVD firmware Version: 1.64 Family ID: 9
[ 3.405444] [drm] Found VCE firmware/feedback version 40.2.2 / 15!
[ 3.405467] [drm] GART: num cpu pages 524288, num gpu pages 524288
[ 3.421435] [drm] PCIE GART of 2048M enabled (table at 0x000000000030E000).
[ 3.421660] radeon 0000:00:01.0: WB enabled
[ 3.421695] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00
[ 3.421706] radeon 0000:00:01.0: fence driver on ring 1 use gpu addr 0x0000000020000c04
[ 3.421714] radeon 0000:00:01.0: fence driver on ring 2 use gpu addr 0x0000000020000c08
[ 3.421721] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c
[ 3.421727] radeon 0000:00:01.0: fence driver on ring 4 use gpu addr 0x0000000020000c10
[ 3.422611] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000078d30
[ 3.422958] radeon 0000:00:01.0: fence driver on ring 6 use gpu addr 0x0000000020000c18
[ 3.422966] radeon 0000:00:01.0: fence driver on ring 7 use gpu addr 0x0000000020000c1c
[ 3.423332] radeon 0000:00:01.0: radeon: using MSI.
[ 3.423422] [drm] radeon: irq initialized.
[ 3.426493] [drm] ring test on 0 succeeded in 3 usecs
[ 3.426582] [drm] ring test on 1 succeeded in 3 usecs
[ 3.426612] [drm] ring test on 2 succeeded in 3 usecs
[ 3.426922] [drm] ring test on 3 succeeded in 5 usecs
[ 3.426937] [drm] ring test on 4 succeeded in 5 usecs
[ 3.473024] [drm] ring test on 5 succeeded in 2 usecs
[ 3.493059] [drm] UVD initialized successfully.
[ 3.603176] [drm] ring test on 6 succeeded in 17 usecs
[ 3.603194] [drm] ring test on 7 succeeded in 3 usecs
[ 3.603198] [drm] VCE initialized successfully.
[ 3.604377] [drm] ib test on ring 0 succeeded in 0 usecs
[ 3.604593] [drm] ib test on ring 1 succeeded in 0 usecs
[ 3.604802] [drm] ib test on ring 2 succeeded in 0 usecs
[ 3.605014] [drm] ib test on ring 3 succeeded in 0 usecs
[ 3.605222] [drm] ib test on ring 4 succeeded in 0 usecs
[ 4.140276] [drm] ib test on ring 5 succeeded
[ 4.161291] [drm] ib test on ring 6 succeeded
[ 4.162104] [drm] ib test on ring 7 succeeded
[ 4.163020] [drm] Radeon Display Connectors
[ 4.163025] [drm] Connector 0:
[ 4.163028] [drm] HDMI-A-1
[ 4.163031] [drm] HPD1
[ 4.163034] [drm] DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
[ 4.163042] [drm] Encoders:
[ 4.163044] [drm] DFP1: INTERNAL_UNIPHY
[ 4.163048] [drm] Connector 1:
[ 4.163050] [drm] DVI-D-1
[ 4.163053] [drm] HPD2
[ 4.163056] [drm] DDC: 0x6540 0x6540 0x6544 0x6544 0x6548 0x6548 0x654c 0x654c
[ 4.163063] [drm] Encoders:
[ 4.163065] [drm] DFP2: INTERNAL_UNIPHY
[ 4.163068] [drm] Connector 2:
[ 4.163071] [drm] VGA-1
[ 4.163073] [drm] DDC: 0x65c0 0x65c0 0x65c4 0x65c4 0x65c8 0x65c8 0x65cc 0x65cc
[ 4.163080] [drm] Encoders:
[ 4.163083] [drm] CRT1: INTERNAL_KLDSCP_DAC1
[ 4.300530] [drm] fb mappable at 0xC0731000
[ 4.300543] [drm] vram apper at 0xC0000000
[ 4.300546] [drm] size 8294400
[ 4.300550] [drm] fb depth is 24
[ 4.300553] [drm] pitch is 7680
[ 4.300770] fbcon: radeondrmfb (fb0) is primary device
[ 4.326811] tsc: Refined TSC clocksource calibration: 998.128 MHz
[ 4.326838] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x1cc65d64e77, max_idle_ns: 881590512558 ns
[ 4.326884] clocksource: Switched to clocksource tsc
[ 4.338323] Console: switching to colour frame buffer device 240x67
[ 4.358265] radeon 0000:00:01.0: [drm] fb0: radeondrmfb frame buffer device
[ 4.366924] [drm] Initialized radeon 2.50.0 20080528 for 0000:00:01.0 on minor 0
[ 4.367128] [drm] amdgpu kernel modesetting enabled.