diff options
Diffstat (limited to 'src/egl/drivers')
-rw-r--r-- | src/egl/drivers/dri2/platform_drm.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c index 80e824f3d54..0e16d520bd8 100644 --- a/src/egl/drivers/dri2/platform_drm.c +++ b/src/egl/drivers/dri2/platform_drm.c @@ -716,12 +716,8 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) dri2_dpy->dri_screen = dri2_dpy->gbm_dri->screen; dri2_dpy->core = dri2_dpy->gbm_dri->core; dri2_dpy->dri2 = dri2_dpy->gbm_dri->dri2; - dri2_dpy->fence = dri2_dpy->gbm_dri->fence; - dri2_dpy->image = dri2_dpy->gbm_dri->image; - dri2_dpy->flush = dri2_dpy->gbm_dri->flush; dri2_dpy->swrast = dri2_dpy->gbm_dri->swrast; dri2_dpy->driver_configs = dri2_dpy->gbm_dri->driver_configs; - dri2_dpy->interop = dri2_dpy->gbm_dri->interop; dri2_dpy->gbm_dri->lookup_image = dri2_lookup_egl_image; dri2_dpy->gbm_dri->lookup_user_data = disp; @@ -737,6 +733,11 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp) dri2_dpy->gbm_dri->base.surface_release_buffer = release_buffer; dri2_dpy->gbm_dri->base.surface_has_free_buffers = has_free_buffers; + if (!dri2_setup_extensions(disp)) { + err = "DRI2: failed to find required DRI extensions"; + goto cleanup; + } + dri2_setup_screen(disp); if (!drm_add_configs_for_visuals(drv, disp)) { |