diff options
-rw-r--r-- | src/gallium/state_trackers/vdpau/device.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vdpau/device.c b/src/gallium/state_trackers/vdpau/device.c index de7e951a46a..81b75827f34 100644 --- a/src/gallium/state_trackers/vdpau/device.c +++ b/src/gallium/state_trackers/vdpau/device.c @@ -63,7 +63,11 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device, pipe_reference_init(&dev->reference, 1); - dev->vscreen = vl_dri2_screen_create(display, screen); +#if defined(HAVE_DRI3) + dev->vscreen = vl_dri3_screen_create(display, screen); +#endif + if (!dev->vscreen) + dev->vscreen = vl_dri2_screen_create(display, screen); if (!dev->vscreen) { ret = VDP_STATUS_RESOURCES; goto no_vscreen; |