diff options
author | Emil Velikov <[email protected]> | 2014-06-12 16:33:58 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-06-26 14:05:13 +0100 |
commit | b1f4a9681fba954bb7f3e8c4877e7ad62703cb0b (patch) | |
tree | 953464f4e01136cea912a52be997da5579873be4 /src/gallium/targets/omx | |
parent | c35cf3400f57c5ed60df4c4a801a71fe897edfb8 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/targets/omx')
-rw-r--r-- | src/gallium/targets/omx/Makefile.am | 67 | ||||
-rw-r--r-- | src/gallium/targets/omx/omx.sym | 6 | ||||
-rw-r--r-- | src/gallium/targets/omx/target.c | 1 |
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 00000000000..cd79a441b72 --- /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 00000000000..af22aedb587 --- /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 00000000000..fde4a4a7dcf --- /dev/null +++ b/src/gallium/targets/omx/target.c @@ -0,0 +1 @@ +#include "target-helpers/inline_drm_helper.h" |