From 291d70210dd249c663f8c3b92ac9cf47335630bd Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sat, 21 Jun 2014 12:31:47 +0100 Subject: [PATCH] targets/radeonsi/vdpau: convert to static/shared pipe-drivers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Similar to previous commits, this allows us to minimise some of the duplication by compacting all vdpau targets into a single library. v2: Include the radeon winsys only when there is a user for it. v3: Correcly include the winsys. Now with extra brown bag :\ Cc: Christian König Signed-off-by: Emil Velikov Reviewed-by: Christian König Tested-by: Thomas Helland --- configure.ac | 3 +- install-gallium-links.mk | 3 +- src/gallium/Automake.inc | 20 -------- src/gallium/targets/Makefile.am | 4 -- .../targets/radeonsi/vdpau/Makefile.am | 50 ------------------- .../targets/radeonsi/vdpau/drm_target.c | 1 - src/gallium/targets/vdpau/Makefile.am | 13 +++++ 7 files changed, 15 insertions(+), 79 deletions(-) delete mode 100644 src/gallium/targets/radeonsi/vdpau/Makefile.am delete mode 120000 src/gallium/targets/radeonsi/vdpau/drm_target.c diff --git a/configure.ac b/configure.ac index d6c2ddf9f64..1e94df692b9 100644 --- a/configure.ac +++ b/configure.ac @@ -1960,7 +1960,7 @@ if test -n "$with_gallium_drivers"; then GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS radeonsi" radeon_llvm_check "radeonsi" require_egl_drm "radeonsi" - gallium_check_st "radeon/drm" "radeonsi/dri" "" "" "radeonsi/vdpau" "radeonsi/omx" + gallium_check_st "radeon/drm" "radeonsi/dri" "" "" "vdpau/radeonsi" "radeonsi/omx" DRICOMMON_NEED_LIBDRM=yes ;; xnouveau) @@ -2224,7 +2224,6 @@ AC_CONFIG_FILES([Makefile src/gallium/targets/r600/xvmc/Makefile src/gallium/targets/radeonsi/dri/Makefile src/gallium/targets/radeonsi/omx/Makefile - src/gallium/targets/radeonsi/vdpau/Makefile src/gallium/targets/vdpau/Makefile src/gallium/targets/xa/Makefile src/gallium/targets/xa/xatracker.pc diff --git a/install-gallium-links.mk b/install-gallium-links.mk index 757b28870bc..f45f1b42ba9 100644 --- a/install-gallium-links.mk +++ b/install-gallium-links.mk @@ -5,7 +5,7 @@ if BUILD_SHARED if HAVE_COMPAT_SYMLINKS all-local : .libs/install-gallium-links -.libs/install-gallium-links : $(dri_LTLIBRARIES) $(vdpau_LTLIBRARIES) $(egl_LTLIBRARIES) $(lib_LTLIBRARIES) +.libs/install-gallium-links : $(dri_LTLIBRARIES) $(egl_LTLIBRARIES) $(lib_LTLIBRARIES) $(AM_V_GEN)$(MKDIR_P) $(top_builddir)/$(LIB_DIR); \ link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \ if test x$(egl_LTLIBRARIES) != x; then \ @@ -13,7 +13,6 @@ all-local : .libs/install-gallium-links fi; \ $(MKDIR_P) $$link_dir; \ file_list=$(dri_LTLIBRARIES:%.la=.libs/%.so); \ - file_list+=$(vdpau_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*); \ file_list+=$(egl_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*); \ file_list+=$(lib_LTLIBRARIES:%.la=.libs/%.$(LIB_EXT)*); \ for f in $$file_list; do \ diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc index f216fc964d0..21a4a807eaf 100644 --- a/src/gallium/Automake.inc +++ b/src/gallium/Automake.inc @@ -59,14 +59,6 @@ GALLIUM_DRI_LINKER_FLAGS = \ -avoid-version \ $(GC_SECTIONS) -GALLIUM_VDPAU_LINKER_FLAGS = \ - -shared \ - -module \ - -no-undefined \ - -version-number $(VDPAU_MAJOR):$(VDPAU_MINOR) \ - $(GC_SECTIONS) \ - $(LD_NO_UNDEFINED) - GALLIUM_XVMC_LINKER_FLAGS = \ -shared \ -module \ @@ -87,9 +79,6 @@ if HAVE_LD_VERSION_SCRIPT GALLIUM_DRI_LINKER_FLAGS += \ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/dri.sym -GALLIUM_VDPAU_LINKER_FLAGS += \ - -Wl,--version-script=$(top_srcdir)/src/gallium/targets/vdpau/vdpau.sym - GALLIUM_XVMC_LINKER_FLAGS += \ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/xvmc.sym @@ -112,13 +101,6 @@ GALLIUM_DRI_LIB_DEPS = \ $(EXPAT_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) -GALLIUM_VDPAU_LIB_DEPS = \ - $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \ - $(VDPAU_LIBS) \ - $(LIBDRM_LIBS) \ - $(GALLIUM_COMMON_LIB_DEPS) - GALLIUM_XVMC_LIB_DEPS = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \ @@ -142,12 +124,10 @@ GALLIUM_WINSYS_CFLAGS = \ if HAVE_MESA_LLVM GALLIUM_DRI_LINKER_FLAGS += $(LLVM_LDFLAGS) -GALLIUM_VDPAU_LINKER_FLAGS += $(LLVM_LDFLAGS) GALLIUM_XVMC_LINKER_FLAGS += $(LLVM_LDFLAGS) GALLIUM_OMX_LINKER_FLAGS += $(LLVM_LDFLAGS) GALLIUM_DRI_LIB_DEPS += $(LLVM_LIBS) -GALLIUM_VDPAU_LIB_DEPS += $(LLVM_LIBS) GALLIUM_XVMC_LIB_DEPS += $(LLVM_LIBS) GALLIUM_OMX_LIB_DEPS += $(LLVM_LIBS) diff --git a/src/gallium/targets/Makefile.am b/src/gallium/targets/Makefile.am index a2e8bbd9f15..c31a22e7cd2 100644 --- a/src/gallium/targets/Makefile.am +++ b/src/gallium/targets/Makefile.am @@ -95,10 +95,6 @@ if HAVE_DRI2 SUBDIRS += radeonsi/dri endif -if HAVE_ST_VDPAU -SUBDIRS += radeonsi/vdpau -endif - if HAVE_ST_OMX SUBDIRS += radeonsi/omx endif diff --git a/src/gallium/targets/radeonsi/vdpau/Makefile.am b/src/gallium/targets/radeonsi/vdpau/Makefile.am deleted file mode 100644 index ec1baf646cb..00000000000 --- a/src/gallium/targets/radeonsi/vdpau/Makefile.am +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright © 2012 Intel Corporation -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -# DEALINGS IN THE SOFTWARE. - -include $(top_srcdir)/src/gallium/Automake.inc - -AM_CPPFLAGS = \ - -DSPLIT_TARGETS=1 -AM_CFLAGS = \ - $(GALLIUM_VIDEO_CFLAGS) - -vdpaudir = $(VDPAU_LIB_INSTALL_DIR) -vdpau_LTLIBRARIES = libvdpau_radeonsi.la - -nodist_EXTRA_libvdpau_radeonsi_la_SOURCES = dummy.cpp -libvdpau_radeonsi_la_SOURCES = \ - drm_target.c \ - $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c - -libvdpau_radeonsi_la_LDFLAGS = \ - $(GALLIUM_VDPAU_LINKER_FLAGS) \ - -Wl,--dynamic-list=$(srcdir)/../../r300/dri/radeon.dyn - - -libvdpau_radeonsi_la_LIBADD = \ - $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ - $(GALLIUM_VDPAU_LIB_DEPS) \ - $(RADEON_LIBS) - -include $(top_srcdir)/install-gallium-links.mk diff --git a/src/gallium/targets/radeonsi/vdpau/drm_target.c b/src/gallium/targets/radeonsi/vdpau/drm_target.c deleted file mode 120000 index 6955421104a..00000000000 --- a/src/gallium/targets/radeonsi/vdpau/drm_target.c +++ /dev/null @@ -1 +0,0 @@ -../common/drm_target.c \ No newline at end of file diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am index b30d1939cc5..a257db87c28 100644 --- a/src/gallium/targets/vdpau/Makefile.am +++ b/src/gallium/targets/vdpau/Makefile.am @@ -52,6 +52,11 @@ endif if HAVE_GALLIUM_R600 STATIC_TARGET_LIB_DEPS += \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la +else +if HAVE_GALLIUM_RADEONSI +STATIC_TARGET_LIB_DEPS += \ + $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la +endif endif if HAVE_GALLIUM_RADEON_COMMON @@ -67,6 +72,14 @@ STATIC_TARGET_LIB_DEPS += \ $(RADEON_LIBS) endif +if HAVE_GALLIUM_RADEONSI +MEGADRIVERS += radeonsi +STATIC_TARGET_CPPFLAGS += -DGALLIUM_RADEONSI +STATIC_TARGET_LIB_DEPS += \ + $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ + $(RADEON_LIBS) +endif + libvdpau_gallium_la_SOURCES += target.c libvdpau_gallium_la_CPPFLAGS = $(STATIC_TARGET_CPPFLAGS) libvdpau_gallium_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)