summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmil Velikov <emil.velikov@collabora.com>2017-05-11 16:34:47 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2017-05-29 16:50:09 +0100
commit90d0ad14ca900aeedf1ae9bbff32266067a33b6e (patch)
tree56bcc452cba207fb61e98faedc0b0f37f2e528f8
parent2c341f2bda49b1b53ffddc62eb2483cdf2803cc1 (diff)
egl/drm: use dri2_setup_extensions() over the extensions provided by GBM
Allows us to keep things in sync easier and lets us simplify the interface between the two even further. v2: Don't set GBM's extensions. Cc: Rob Herring <robh@kernel.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Rob Herring <robh@kernel.org>
-rw-r--r--src/egl/drivers/dri2/platform_drm.c9
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)) {