pipe-loader: add pipe loader for freedreno/msm
authorRob Clark <robclark@freedesktop.org>
Mon, 10 Feb 2014 15:45:36 +0000 (10:45 -0500)
committerRob Clark <robclark@freedesktop.org>
Sun, 16 Feb 2014 13:36:23 +0000 (08:36 -0500)
Signed-off-by: Rob Clark <robclark@freedesktop.org>
src/gallium/targets/pipe-loader/Makefile.am
src/gallium/targets/pipe-loader/pipe_msm.c [new file with mode: 0644]

index 97733c1..72faee3 100644 (file)
@@ -132,6 +132,23 @@ pipe_radeonsi_la_LDFLAGS += $(LLVM_LDFLAGS)
 endif
 endif
 
+if HAVE_GALLIUM_FREEDRENO
+pipe_LTLIBRARIES += pipe_msm.la
+pipe_msm_la_SOURCES = pipe_msm.c
+nodist_EXTRA_pipe_msm_la_SOURCES = dummy.cpp
+pipe_msm_la_LIBADD = \
+       $(PIPE_LIBS) \
+       $(top_builddir)/src/gallium/winsys/freedreno/drm/libfreedrenodrm.la \
+       $(top_builddir)/src/gallium/drivers/freedreno/libfreedreno.la \
+       $(LIBDRM_LIBS) \
+       $(FREEDRENO_LIBS)
+pipe_msm_la_LDFLAGS = -no-undefined -avoid-version -module
+if HAVE_MESA_LLVM
+pipe_msm_la_LIBADD += $(LLVM_LIBS)
+pipe_msm_la_LDFLAGS += $(LLVM_LDFLAGS)
+endif
+endif
+
 if HAVE_GALLIUM_SVGA
 pipe_LTLIBRARIES += pipe_vmwgfx.la
 pipe_vmwgfx_la_SOURCES = pipe_vmwgfx.c
diff --git a/src/gallium/targets/pipe-loader/pipe_msm.c b/src/gallium/targets/pipe-loader/pipe_msm.c
new file mode 100644 (file)
index 0000000..76e4023
--- /dev/null
@@ -0,0 +1,21 @@
+
+#include "target-helpers/inline_debug_helper.h"
+#include "state_tracker/drm_driver.h"
+#include "freedreno/drm/freedreno_drm_public.h"
+
+static struct pipe_screen *
+create_screen(int fd)
+{
+   struct pipe_screen *screen;
+
+   screen = fd_drm_screen_create(fd);
+   if (!screen)
+      return NULL;
+
+   screen = debug_screen_wrap(screen);
+
+   return screen;
+}
+
+PUBLIC
+DRM_DRIVER_DESCRIPTOR("msm", "freedreno", create_screen, NULL)