diff options
author | Jakob Bornecrantz <jakob@vmware.com> | 2010-06-23 23:03:28 +0200 |
---|---|---|
committer | Jakob Bornecrantz <jakob@vmware.com> | 2010-06-23 23:15:07 +0200 |
commit | cf91accc93b9f172b2f7c970f39e69b268a5bb26 (patch) | |
tree | b8eb030cea7d76b0a26a20cc8a35415991aacbe5 /src/gallium/targets | |
parent | 10e3b9f4d029df5c6c01a5d76c9085c48d82ac43 (diff) |
nouveau: Move bootstrap code to targets
Well sorta, at least I removed the drm_api dependancy and the
target can layer anything it wants to now.
Diffstat (limited to 'src/gallium/targets')
-rw-r--r-- | src/gallium/targets/dri-nouveau/target.c | 17 | ||||
-rw-r--r-- | src/gallium/targets/egl-nouveau/target.c | 17 | ||||
-rw-r--r-- | src/gallium/targets/xorg-nouveau/nouveau_target.c | 17 |
3 files changed, 45 insertions, 6 deletions
diff --git a/src/gallium/targets/dri-nouveau/target.c b/src/gallium/targets/dri-nouveau/target.c index e16e86cd3d..ca3ec53029 100644 --- a/src/gallium/targets/dri-nouveau/target.c +++ b/src/gallium/targets/dri-nouveau/target.c @@ -1,4 +1,17 @@ -#include "target-helpers/drm_api_compat.h" +#include "state_tracker/drm_driver.h" +#include "nouveau/drm/nouveau_drm_public.h" -DRM_API_COMPAT_STRUCT("nouveau", "nouveau") +static struct pipe_screen * +create_screen(int fd) +{ + struct pipe_screen *screen; + + screen = nouveau_drm_screen_create(fd); + if (!screen) + return NULL; + + return screen; +} + +DRM_DRIVER_DESCRIPTOR("nouveau", "nouveau", create_screen) diff --git a/src/gallium/targets/egl-nouveau/target.c b/src/gallium/targets/egl-nouveau/target.c index 49545c63e1..7d0b141e5a 100644 --- a/src/gallium/targets/egl-nouveau/target.c +++ b/src/gallium/targets/egl-nouveau/target.c @@ -1,7 +1,20 @@ -#include "target-helpers/drm_api_compat.h" +#include "state_tracker/drm_driver.h" +#include "nouveau/drm/nouveau_drm_public.h" -DRM_API_COMPAT_STRUCT("nouveau", "nouveau") +static struct pipe_screen * +create_screen(int fd) +{ + struct pipe_screen *screen; + + screen = nouveau_drm_screen_create(fd); + if (!screen) + return NULL; + + return screen; +} + +DRM_DRIVER_DESCRIPTOR("nouveau", "nouveau", create_screen) /* A poor man's --whole-archive for EGL drivers */ void *_eglMain(void *); diff --git a/src/gallium/targets/xorg-nouveau/nouveau_target.c b/src/gallium/targets/xorg-nouveau/nouveau_target.c index e16e86cd3d..ca3ec53029 100644 --- a/src/gallium/targets/xorg-nouveau/nouveau_target.c +++ b/src/gallium/targets/xorg-nouveau/nouveau_target.c @@ -1,4 +1,17 @@ -#include "target-helpers/drm_api_compat.h" +#include "state_tracker/drm_driver.h" +#include "nouveau/drm/nouveau_drm_public.h" -DRM_API_COMPAT_STRUCT("nouveau", "nouveau") +static struct pipe_screen * +create_screen(int fd) +{ + struct pipe_screen *screen; + + screen = nouveau_drm_screen_create(fd); + if (!screen) + return NULL; + + return screen; +} + +DRM_DRIVER_DESCRIPTOR("nouveau", "nouveau", create_screen) |