summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets/omx
diff options
context:
space:
mode:
authorEmil Velikov <emil.l.velikov@gmail.com>2014-06-12 16:33:58 +0100
committerEmil Velikov <emil.l.velikov@gmail.com>2014-06-26 14:05:13 +0100
commitb1f4a9681fba954bb7f3e8c4877e7ad62703cb0b (patch)
tree953464f4e01136cea912a52be997da5579873be4 /src/gallium/targets/omx
parentc35cf3400f57c5ed60df4c4a801a71fe897edfb8 (diff)
downloadexternal_mesa3d-b1f4a9681fba954bb7f3e8c4877e7ad62703cb0b.zip
external_mesa3d-b1f4a9681fba954bb7f3e8c4877e7ad62703cb0b.tar.gz
external_mesa3d-b1f4a9681fba954bb7f3e8c4877e7ad62703cb0b.tar.bz2
targets/omx-nouveau: convert to static/shared pipe-drivers
Similar to the vdpau/xvmc targets, we're going to convert the multiple target libraries into a single one. The library can be built with the relevant pipe-drivers statically linked in, or loaded as shared modules. Currently we default to static. Note: Make sure to rebuild the .omxregister file, by executing $ omxregister-bellagio If you have more than one omx library (libomx-radeonsi, libomx-r600), make sure to temporary move the unused one. By the end of the series there will be only one library that will be used for all hardware - r600, radeonsi and nouveau. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Diffstat (limited to 'src/gallium/targets/omx')
-rw-r--r--src/gallium/targets/omx/Makefile.am67
-rw-r--r--src/gallium/targets/omx/omx.sym6
-rw-r--r--src/gallium/targets/omx/target.c1
3 files changed, 74 insertions, 0 deletions
diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am
new file mode 100644
index 0000000..cd79a44
--- /dev/null
+++ b/src/gallium/targets/omx/Makefile.am
@@ -0,0 +1,67 @@
+include $(top_srcdir)/src/gallium/Automake.inc
+
+AM_CFLAGS = \
+ $(GALLIUM_VIDEO_CFLAGS)
+
+omxdir = $(OMX_LIB_INSTALL_DIR)
+omx_LTLIBRARIES = libomx_mesa.la
+
+nodist_EXTRA_libomx_mesa_la_SOURCES = dummy.cpp
+libomx_mesa_la_SOURCES = \
+ $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c
+
+libomx_mesa_la_LDFLAGS = \
+ -shared \
+ -module \
+ -no-undefined \
+ -avoid-version \
+ $(GC_SECTIONS) \
+ $(LD_NO_UNDEFINED)
+
+if HAVE_LD_VERSION_SCRIPT
+libomx_mesa_la_LDFLAGS += \
+ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/omx/omx.sym
+endif # HAVE_LD_VERSION_SCRIPT
+
+libomx_mesa_la_LIBADD = \
+ $(top_builddir)/src/gallium/state_trackers/omx/libomxtracker.la \
+ $(top_builddir)/src/gallium/auxiliary/libgallium.la \
+ $(OMX_LIBS) \
+ $(GALLIUM_COMMON_LIB_DEPS)
+
+if HAVE_GALLIUM_STATIC_TARGETS
+
+STATIC_TARGET_CPPFLAGS = -DGALLIUM_STATIC_TARGETS=1
+STATIC_TARGET_LIB_DEPS = \
+ $(top_builddir)/src/loader/libloader.la
+
+if HAVE_GALLIUM_NOUVEAU
+STATIC_TARGET_CPPFLAGS += -DGALLIUM_NOUVEAU
+STATIC_TARGET_LIB_DEPS += \
+ $(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
+ $(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
+ $(NOUVEAU_LIBS)
+endif
+
+libomx_mesa_la_SOURCES += target.c
+libomx_mesa_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS)
+libomx_mesa_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+
+else # HAVE_GALLIUM_STATIC_TARGETS
+
+libomx_mesa_la_CPPFLAGS = \
+ $(GALLIUM_PIPE_LOADER_DEFINES) \
+ -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\"
+
+# XXX: Use the pipe-loader-client over pipe-loader ?
+libomx_mesa_la_LIBADD += \
+ $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
+ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \
+ $(GALLIUM_PIPE_LOADER_LIBS)
+
+endif # HAVE_GALLIUM_STATIC_TARGETS
+
+if HAVE_MESA_LLVM
+libomx_mesa_la_LIBADD += $(LLVM_LIBS)
+libomx_mesa_la_LDFLAGS += $(LLVM_LDFLAGS)
+endif
diff --git a/src/gallium/targets/omx/omx.sym b/src/gallium/targets/omx/omx.sym
new file mode 100644
index 0000000..af22aed
--- /dev/null
+++ b/src/gallium/targets/omx/omx.sym
@@ -0,0 +1,6 @@
+{
+ global:
+ omx_component_library_Setup;
+ local:
+ *;
+};
diff --git a/src/gallium/targets/omx/target.c b/src/gallium/targets/omx/target.c
new file mode 100644
index 0000000..fde4a4a
--- /dev/null
+++ b/src/gallium/targets/omx/target.c
@@ -0,0 +1 @@
+#include "target-helpers/inline_drm_helper.h"