Prefer nvidia-vaapi-driver over VDPAU for AV1

This commit is contained in:
Cameron Gutman 2023-07-16 16:54:13 -05:00
parent 333f978186
commit 42960b7bf1

View file

@ -194,9 +194,10 @@ VAAPIRenderer::initialize(PDECODER_PARAMETERS params)
status = vaInitialize(vaDeviceContext->display, &major, &minor);
}
if (status != VA_STATUS_SUCCESS && (m_WindowSystem != SDL_SYSWM_X11 || m_DecoderSelectionPass > 0)) {
if (status != VA_STATUS_SUCCESS && (m_WindowSystem != SDL_SYSWM_X11 || m_DecoderSelectionPass > 0 || (m_VideoFormat & VIDEO_FORMAT_MASK_AV1))) {
// The unofficial nvidia VAAPI driver over NVDEC/CUDA works well on Wayland,
// but we'd rather use CUDA for XWayland and VDPAU for regular X11.
// but we'd rather use CUDA for XWayland and VDPAU for regular X11 and H.264/HEVC.
// We will prefer VAAPI for AV1 because older libvdpau versions don't support it.
qputenv("LIBVA_DRIVER_NAME", "nvidia");
status = vaInitialize(vaDeviceContext->display, &major, &minor);
}