summaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys
diff options
context:
space:
mode:
authorThomas Balling Sørensen <tball@tball-laptop.(none)>2010-10-26 13:01:40 +0200
committerThomas Balling Sørensen <tball@tball-laptop.(none)>2010-10-26 13:01:40 +0200
commit4926c5748028d33da4808f8a5473aa7b2f2bdc62 (patch)
treecc899247d6a3435ce56535cffd6a4a4190eb98d8 /src/gallium/winsys
parentdbf3a15313eed930a3d8fdde12e457259c43651b (diff)
parent97a7cf230a70c64fff300931ae7c00aa00449c97 (diff)
Merge branch 'pipe-video' of git://anongit.freedesktop.org/~deathsimple/xvmc-r600 into pipe-video
Conflicts: configure.ac src/gallium/auxiliary/vl/vl_compositor.c src/gallium/auxiliary/vl/vl_mpeg12_mc_renderer.c src/gallium/drivers/softpipe/sp_video_context.c src/gallium/include/pipe/p_defines.h src/gallium/include/pipe/p_screen.h
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);
}