radv/video: 10-bit support
I'm certainly jumping the gun here (sorry), but 10-bit output using the new Vulkan Video extensions is currently broken. H265 produces something misaligned and also massive (50mbps for a 800x600 video):
H264 runs, but produces a bitstream that is syntactically incorrect (I think my card, a 6650XT, does not do 10-bit h264, so this is just a question of what support is advertized).
I've tested the code on Nvidia and it works, although I think my color math is a little bit wonky somewhere.
Steps to reproduce
- Check out the
hdr
branch of my repo - Run the following in two separate terminals:
cd mm-server && echo 'command = ["vkcube"]' > vkcube.toml && cargo run --bin mmserver -- -i vkcube.toml
and
cd mm-client && cargo run --bin mmclient -- localhost:9599 vkcube --codec h265 --hdr
Of course, you're probably on linux, which has no HDR output. The magnificent colors of HDR vkcube will be clipped in that case.
Don't forget RADV_PERFTEST=video_encode,video_decode
to enable the feature. You can get the server to save the resulting encoded bitstream to a temporary dir with the --bug-report
flag.
System information
System:
Host: baldanders Kernel: 6.8.0-1-MANJARO arch: x86_64 bits: 64 compiler: gcc
v: 13.2.1
Desktop: Sway v: 1.10-dev-829c75b9 lm: greetd Distro: Manjaro
base: Arch Linux
CPU:
Info: 8-core model: AMD Ryzen 7 5800X bits: 64 type: MT MCP arch: Zen 3+
rev: 2 cache: L1: 512 KiB L2: 4 MiB L3: 32 MiB
Speed (MHz): avg: 2300 high: 3800 min/max: 2200/4850 boost: enabled cores:
1: 2200 2: 2200 3: 2200 4: 2200 5: 2200 6: 2200 7: 2200 8: 2200 9: 2200
10: 3800 11: 2200 12: 2200 13: 2200 14: 2200 15: 2200 16: 2200
bogomips: 121429
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Graphics:
Device-1: AMD Navi 23 [Radeon RX 6650 XT / 6700S 6800S]
vendor: Micro-Star MSI driver: amdgpu v: kernel arch: RDNA-2 pcie:
speed: 16 GT/s lanes: 16 ports: active: DP-1 empty: DP-2, DP-3, HDMI-A-1,
Writeback-1 bus-ID: 07:00.0 chip-ID: 1002:73ef
Device-2: Logitech C920 PRO HD Webcam driver: snd-usb-audio,uvcvideo
type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 bus-ID: 3-1.4:5
chip-ID: 046d:08e5
Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 21.1.99
compositor: Sway v: 1.10-dev-829c75b9 driver: gpu: amdgpu display-ID: 1
Monitor-1: DP-1 model: Dell U2723QE res: 3840x2160 dpi: 163
diag: 685mm (27")
API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
surfaceless: drv: radeonsi wayland: drv: radeonsi x11: drv: radeonsi
inactive: gbm
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd v: N/A glx-v: 1.4
direct-render: yes renderer: AMD Radeon RX 6650 XT (radeonsi navi23 LLVM
16.0.6 DRM 3.57 6.8.0-1-MANJARO) device-ID: 1002:73ef
API: Vulkan v: 1.3.279 surfaces: xcb,xlib,wayland device: 0
type: discrete-gpu driver: mesa radv device-ID: 1002:73ef device: 1
type: cpu driver: mesa llvmpipe device-ID: 10005:0000