summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r--src/gallium/winsys/g3dvl/dri/dri_winsys.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/src/gallium/winsys/g3dvl/dri/dri_winsys.c b/src/gallium/winsys/g3dvl/dri/dri_winsys.c
index 06631840f78..4d10e27c580 100644
--- a/src/gallium/winsys/g3dvl/dri/dri_winsys.c
+++ b/src/gallium/winsys/g3dvl/dri/dri_winsys.c
@@ -32,13 +32,12 @@
#include <util/u_memory.h>
#include <util/u_hash.h>
#include <util/u_hash_table.h>
-#include <state_tracker/drm_api.h>
+#include <state_tracker/drm_driver.h>
#include <X11/Xlibint.h>
struct vl_dri_screen
{
struct vl_screen base;
- struct drm_api *api;
dri_screen_t *dri_screen;
struct util_hash_table *drawable_table;
Drawable last_seen_drawable;
@@ -176,7 +175,6 @@ struct vl_screen*
vl_screen_create(Display *display, int screen)
{
struct vl_dri_screen *vl_dri_scrn;
- struct drm_create_screen_arg arg;
assert(display);
@@ -187,15 +185,7 @@ vl_screen_create(Display *display, int screen)
if (dri2CreateScreen(display, screen, &vl_dri_scrn->dri_screen))
goto no_dri2screen;
- vl_dri_scrn->api = drm_api_create();
- if (!vl_dri_scrn->api)
- goto no_drmapi;
-
- arg.mode = DRM_CREATE_NORMAL;
-
- vl_dri_scrn->base.pscreen = vl_dri_scrn->api->create_screen(vl_dri_scrn->api,
- vl_dri_scrn->dri_screen->fd,
- &arg);
+ vl_dri_scrn->base.pscreen = driver_descriptor.create_screen(vl_dri_scrn->dri_screen->fd);
if (!vl_dri_scrn->base.pscreen)
goto no_pscreen;
@@ -212,8 +202,6 @@ vl_screen_create(Display *display, int screen)
no_hash:
vl_dri_scrn->base.pscreen->destroy(vl_dri_scrn->base.pscreen);
no_pscreen:
- vl_dri_scrn->api->destroy(vl_dri_scrn->api);
-no_drmapi:
dri2DestroyScreen(vl_dri_scrn->dri_screen);
no_dri2screen:
FREE(vl_dri_scrn);
@@ -230,8 +218,6 @@ void vl_screen_destroy(struct vl_screen *vscreen)
util_hash_table_foreach(vl_dri_scrn->drawable_table, drawable_destroy, vl_dri_scrn);
util_hash_table_destroy(vl_dri_scrn->drawable_table);
vl_dri_scrn->base.pscreen->destroy(vl_dri_scrn->base.pscreen);
- if (vl_dri_scrn->api->destroy)
- vl_dri_scrn->api->destroy(vl_dri_scrn->api);
dri2DestroyScreen(vl_dri_scrn->dri_screen);
FREE(vl_dri_scrn);
}