Merge remote branch 'origin/7.8'
[mesa.git] / src / gallium / state_trackers / egl / kms / native_kms.c
index 860657349bc6d190ba89b3211ce63c67e35a4055..cf7188dfdb79b5050cd13a8b0021bcb0f3665686 100644 (file)
@@ -680,7 +680,7 @@ kms_display_destroy(struct native_display *ndpy)
    if (kdpy->fd >= 0)
       drmClose(kdpy->fd);
 
-   if (kdpy->api)
+   if (kdpy->api && kdpy->api->destroy)
       kdpy->api->destroy(kdpy->api);
    FREE(kdpy);
 }
@@ -692,10 +692,9 @@ static boolean
 kms_display_init_screen(struct native_display *ndpy)
 {
    struct kms_display *kdpy = kms_display(ndpy);
-   struct drm_create_screen_arg arg;
    int fd;
 
-   fd = drmOpen(kdpy->api->name, NULL);
+   fd = drmOpen(kdpy->api->driver_name, NULL);
    if (fd < 0) {
       _eglLog(_EGL_WARNING, "failed to open DRM device");
       return FALSE;
@@ -708,9 +707,7 @@ kms_display_init_screen(struct native_display *ndpy)
    }
 #endif
 
-   memset(&arg, 0, sizeof(arg));
-   arg.mode = DRM_CREATE_NORMAL;
-   kdpy->base.screen = kdpy->api->create_screen(kdpy->api, fd, &arg);
+   kdpy->base.screen = kdpy->api->create_screen(kdpy->api, fd, NULL);
    if (!kdpy->base.screen) {
       _eglLog(_EGL_WARNING, "failed to create DRM screen");
       drmClose(fd);