radeonsi: Fixups for recent build infrastructure changes.
authorMichel Dänzer <michel.daenzer@amd.com>
Sat, 12 May 2012 10:12:21 +0000 (12:12 +0200)
committerMichel Dänzer <michel@daenzer.net>
Sat, 12 May 2012 10:12:21 +0000 (12:12 +0200)
In particular for the pipe loader changes.

configure.ac
src/gallium/targets/gbm/pipe_radeonsi.c [deleted file]
src/gallium/targets/pipe-loader/Makefile
src/gallium/targets/pipe-loader/pipe_radeonsi.c [new file with mode: 0644]

index 2d1265a7b638d94091f8ab499a3a1239e7b8ee00..e177846d78a48ac7cf2658f9ec1e937c02819573 100644 (file)
@@ -1980,6 +1980,8 @@ if test "x$with_gallium_drivers" != x; then
             gallium_check_st "radeon/drm" "dri-r600" "xorg-r600" "" "xvmc-r600" "vdpau-r600" "va-r600"
             ;;
         xradeonsi)
+            PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED])
+            gallium_require_drm_loader
             GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi"
             if test "x$LLVM_VERSION" != "x3.1"; then
                 AC_MSG_ERROR([LLVM 3.1 is required to build the radeonsi driver.])
diff --git a/src/gallium/targets/gbm/pipe_radeonsi.c b/src/gallium/targets/gbm/pipe_radeonsi.c
deleted file mode 100644 (file)
index bb57118..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "state_tracker/drm_driver.h"
-#include "target-helpers/inline_debug_helper.h"
-#include "radeon/drm/radeon_drm_public.h"
-#include "radeonsi/radeonsi_public.h"
-
-static struct pipe_screen *
-create_screen(int fd)
-{
-   struct radeon_winsys *rw;
-   struct pipe_screen *screen;
-
-   rw = radeon_drm_winsys_create(fd);
-   if (!rw)
-      return NULL;
-
-   screen = radeonsi_screen_create(rw);
-   if (!screen)
-      return NULL;
-
-   screen = debug_screen_wrap(screen);
-
-   return screen;
-}
-
-PUBLIC
-DRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, NULL)
index eb3b4fc8aa363782ccead646eb436b4f0f2022f0..596539cc7099b592ccb24e8ce67fb8b8459a6ae8 100644 (file)
@@ -57,6 +57,12 @@ r600_LIBS = \
        $(TOP)/src/gallium/drivers/r600/libr600.a
 r600_SYS += -ldrm_radeon
 
+# radeonsi pipe driver
+radeonsi_LIBS = \
+       $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \
+       $(TOP)/src/gallium/drivers/radeonsi/libradeonsi.a
+radeonsi_SYS += -ldrm_radeon
+
 # vmwgfx pipe driver
 vmwgfx_LIBS = \
        $(TOP)/src/gallium/winsys/svga/drm/libsvgadrm.a \
@@ -105,6 +111,13 @@ ifneq ($(findstring r600,$(GALLIUM_DRIVERS_DIRS)),)
 endif
 endif
 
+ifneq ($(findstring radeon/drm,$(GALLIUM_WINSYS_DIRS)),)
+ifneq ($(findstring radeonsi,$(GALLIUM_DRIVERS_DIRS)),)
+   _PIPE_TARGETS_CC += $(PIPE_PREFIX)radeonsi.so
+   PIPE_SOURCES += pipe_radeonsi.c
+endif
+endif
+
 ifneq ($(findstring svga/drm,$(GALLIUM_WINSYS_DIRS)),)
    _PIPE_TARGETS_CC += $(PIPE_PREFIX)vmwgfx.so
    PIPE_SOURCES += pipe_vmwgfx.c
diff --git a/src/gallium/targets/pipe-loader/pipe_radeonsi.c b/src/gallium/targets/pipe-loader/pipe_radeonsi.c
new file mode 100644 (file)
index 0000000..bb57118
--- /dev/null
@@ -0,0 +1,26 @@
+#include "state_tracker/drm_driver.h"
+#include "target-helpers/inline_debug_helper.h"
+#include "radeon/drm/radeon_drm_public.h"
+#include "radeonsi/radeonsi_public.h"
+
+static struct pipe_screen *
+create_screen(int fd)
+{
+   struct radeon_winsys *rw;
+   struct pipe_screen *screen;
+
+   rw = radeon_drm_winsys_create(fd);
+   if (!rw)
+      return NULL;
+
+   screen = radeonsi_screen_create(rw);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
+}
+
+PUBLIC
+DRM_DRIVER_DESCRIPTOR("radeonsi", "radeon", create_screen, NULL)