RADV Driver Adds Valve Video Extension Used By Steam Link VR
([Radeon] 5 Hours Ago
RADV + Valve Video Extension)
- Reference: 0001591093
- News link: https://www.phoronix.com/news/RADV-Valve-Video-Steam-Link-VR
- Source link:
Back in August with the Vulkan 1.4.327 spec update was [1]the introduction of VK_VALVE_video_encode_rgb_conversion as a Valve vendor extension. The open-source Radeon Vulkan "RADV" driver has now merged support for this extension that is being used now by Steam Link VR.
VK_VALVE_video_encode_rgb_conversion builds on the VK_KHR_video_encode_queue extension to allow software to pass in RGB/RGBA images in video encode operations.
Autumn Ashton of Valve worked on the VK_VALVE_video_encode_rgb_conversion Vulkan spec itself and subsequently worked out the implementation for the Mesa RADV Vulkan driver. Ashton explained in the merge request adding the support:
radv/video: Implement VK_VALVE_video_encode_rgb_conversion
This is used by Steam Link VR (driver_vrlink) to avoid doing YUV conversion itself.
There's some extra color models (eg. 2020), etc that can be implemented but they are not exposed in ac_vcn_enc.h right now, so I haven't hooked them up in this initial implementation.
After [2]the merge request was open the past month, this RADV support for VK_VALVE_video_encode_rgb_conversion is now merged ahead of the Mesa 26.0 release due out in mid-Q1.
[1] https://www.phoronix.com/news/VALVE_video_encode_rgb_convert
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37500
VK_VALVE_video_encode_rgb_conversion builds on the VK_KHR_video_encode_queue extension to allow software to pass in RGB/RGBA images in video encode operations.
Autumn Ashton of Valve worked on the VK_VALVE_video_encode_rgb_conversion Vulkan spec itself and subsequently worked out the implementation for the Mesa RADV Vulkan driver. Ashton explained in the merge request adding the support:
radv/video: Implement VK_VALVE_video_encode_rgb_conversion
This is used by Steam Link VR (driver_vrlink) to avoid doing YUV conversion itself.
There's some extra color models (eg. 2020), etc that can be implemented but they are not exposed in ac_vcn_enc.h right now, so I haven't hooked them up in this initial implementation.
After [2]the merge request was open the past month, this RADV support for VK_VALVE_video_encode_rgb_conversion is now merged ahead of the Mesa 26.0 release due out in mid-Q1.
[1] https://www.phoronix.com/news/VALVE_video_encode_rgb_convert
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37500