From: Michel Dänzer Date: Sat, 12 May 2012 10:12:21 +0000 (+0200) Subject: radeonsi: Fixups for recent build infrastructure changes. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=24bc382010cc1f2021a7ce8c62626b9e90ee30d0;p=mesa.git radeonsi: Fixups for recent build infrastructure changes. In particular for the pipe loader changes. --- diff --git a/configure.ac b/configure.ac index 2d1265a7b63..e177846d78a 100644 --- a/configure.ac +++ b/configure.ac @@ -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 index bb57118b7b0..00000000000 --- a/src/gallium/targets/gbm/pipe_radeonsi.c +++ /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) diff --git a/src/gallium/targets/pipe-loader/Makefile b/src/gallium/targets/pipe-loader/Makefile index eb3b4fc8aa3..596539cc709 100644 --- a/src/gallium/targets/pipe-loader/Makefile +++ b/src/gallium/targets/pipe-loader/Makefile @@ -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 index 00000000000..bb57118b7b0 --- /dev/null +++ b/src/gallium/targets/pipe-loader/pipe_radeonsi.c @@ -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)