r600g: alternative command stream building from context
[mesa.git] / src / gallium / targets / dri-r600 / target.c
index a01f4ed49fd872a2d651960cc2bd10c6af768d92..eb268d5bc0110ee69bd6db6b63a36aa24a46fa29 100644 (file)
@@ -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)