diff options
Diffstat (limited to 'src/gallium/targets/dri-r600/target.c')
-rw-r--r-- | src/gallium/targets/dri-r600/target.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gallium/targets/dri-r600/target.c b/src/gallium/targets/dri-r600/target.c index a01f4ed49fd..eb268d5bc01 100644 --- a/src/gallium/targets/dri-r600/target.c +++ b/src/gallium/targets/dri-r600/target.c @@ -4,6 +4,7 @@ #include "r600/drm/r600_drm_public.h" #include "r600/r600_public.h" +#if 1 static struct pipe_screen * create_screen(int fd) { @@ -22,5 +23,27 @@ create_screen(int fd) return screen; } +#else +struct radeon *r600_new(int fd, unsigned device); +struct pipe_screen *r600_screen_create2(struct radeon *radeon); +static struct pipe_screen * +create_screen(int fd) +{ + struct radeon *radeon; + struct pipe_screen *screen; + + radeon = r600_drm_winsys_create(fd); + if (!radeon) + return NULL; + + screen = r600_screen_create2(radeon); + if (!screen) + return NULL; + + screen = debug_screen_wrap(screen); + + return screen; +} +#endif DRM_DRIVER_DESCRIPTOR("r600", "radeon", create_screen) |