mpv now interop with video surface instead of output surface previously, so it fails with "vlVdpVideoSurfaceDMABuf", this's fine for Mesa GL, since the code path will fall back to "vlVdpVideoSurfaceGallium", but this's not the case for others
Signed-off-by: Leo Liu <[email protected]> Cc: Christian König <[email protected]> Cc: "18.1 18.0" <[email protected]> --- src/gallium/state_trackers/vdpau/surface.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c index 012d303641..d63e761350 100644 --- a/src/gallium/state_trackers/vdpau/surface.c +++ b/src/gallium/state_trackers/vdpau/surface.c @@ -513,12 +513,15 @@ VdpStatus vlVdpVideoSurfaceDMABuf(VdpVideoSurface surface, } /* Check if surface match interop requirements */ - if (p_surf->video_buffer == NULL || !p_surf->video_buffer->interlaced || + if (p_surf->video_buffer == NULL || p_surf->video_buffer->buffer_format != PIPE_FORMAT_NV12) { mtx_unlock(&p_surf->device->mutex); return VDP_STATUS_NO_IMPLEMENTATION; } + if (!p_surf->video_buffer->interlaced) + plane >>= 1; + surf = p_surf->video_buffer->get_surfaces(p_surf->video_buffer)[plane]; if (!surf) { mtx_unlock(&p_surf->device->mutex); -- 2.14.1 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
