diff --git a/src/gallium/frontends/vdpau/device.c b/src/gallium/frontends/vdpau/device.c index 886bab3dc82..a791c67b981 100644 --- a/src/gallium/frontends/vdpau/device.c +++ b/src/gallium/frontends/vdpau/device.c @@ -76,6 +76,12 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device, } pscreen = dev->vscreen->pscreen; + /* video cannot work if these are not supported */ + if (!pscreen->get_video_param || !pscreen->is_video_format_supported) { + ret = VDP_STATUS_RESOURCES; + goto no_vscreen; + } + dev->context = pipe_create_multimedia_context(pscreen); if (!dev->context) { ret = VDP_STATUS_RESOURCES;