diff options
author | Emil Velikov <[email protected]> | 2014-11-10 18:59:34 +0000 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2014-11-26 20:09:09 +0000 |
commit | c642e87d9f423c78bf631410e858f675292ba0c4 (patch) | |
tree | 085800f7016c2f621169166d3638bd4dcfc379ab /src/gallium/targets | |
parent | 86a51eb86177971d9a0c0f0028cc143b13486a07 (diff) |
auxiliary/vl: rework the build of the VL code
Rather than shoving all the VL code for non-VL targets, increasing
their size, just split it out and use it when needed. This gives us
the side effect of building vl_winsys_dri.c once, dropping a few
automake warnings, and reducing the size of the dri modules as below
text data bss dec hex filename
5850573 187549 1977928 8016050 7a50b2 before/nouveau_dri.so
5508486 187100 391240 6086826 5ce0aa after/nouveau_dri.so
The above data is for a nouveau + swrast + kms_swrast 'megadriver'.
v2: Do not include the vl sources in the auxiliary library.
v3: Rebase. Add nine.
Cc: Christian König <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/gallium/targets')
-rw-r--r-- | src/gallium/targets/d3dadapter9/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/dri/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/egl-static/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/gbm/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/omx/Makefile.am | 11 | ||||
-rw-r--r-- | src/gallium/targets/pipe-loader/Makefile.am | 14 | ||||
-rw-r--r-- | src/gallium/targets/va/Makefile.am | 11 | ||||
-rw-r--r-- | src/gallium/targets/vdpau/Makefile.am | 11 | ||||
-rw-r--r-- | src/gallium/targets/xa/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/xvmc/Makefile.am | 12 |
10 files changed, 29 insertions, 35 deletions
diff --git a/src/gallium/targets/d3dadapter9/Makefile.am b/src/gallium/targets/d3dadapter9/Makefile.am index 62312369adc..65069240d88 100644 --- a/src/gallium/targets/d3dadapter9/Makefile.am +++ b/src/gallium/targets/d3dadapter9/Makefile.am @@ -72,6 +72,7 @@ d3dadapter9_la_LDFLAGS += \ endif # HAVE_LD_VERSION_SCRIPT d3dadapter9_la_LIBADD = \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/state_trackers/nine/libninetracker.la \ $(top_builddir)/src/util/libmesautil.la \ diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am index 13c29ad93f1..3c7140d75b5 100644 --- a/src/gallium/targets/dri/Makefile.am +++ b/src/gallium/targets/dri/Makefile.am @@ -43,6 +43,7 @@ gallium_dri_la_LIBADD = \ $(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \ $(top_builddir)/src/mesa/drivers/dri/common/libmegadriver_stub.la \ $(top_builddir)/src/gallium/state_trackers/dri/libdri.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \ $(top_builddir)/src/gallium/drivers/noop/libnoop.la \ diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am index d5759e6ca30..fb2e570f272 100644 --- a/src/gallium/targets/egl-static/Makefile.am +++ b/src/gallium/targets/egl-static/Makefile.am @@ -65,6 +65,7 @@ egl_gallium_la_SOURCES = \ egl_gallium_la_LIBADD = \ $(top_builddir)/src/loader/libloader.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/drivers/identity/libidentity.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/gbm/Makefile.am b/src/gallium/targets/gbm/Makefile.am index 77f1adb3067..412bc2b9573 100644 --- a/src/gallium/targets/gbm/Makefile.am +++ b/src/gallium/targets/gbm/Makefile.am @@ -33,6 +33,7 @@ gbm_gallium_drm_la_SOURCES = gbm_gallium_drm_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/gbm/libgbm.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(LIBDRM_LIBS) \ diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am index e69b4a21cf2..1e2d239efbe 100644 --- a/src/gallium/targets/omx/Makefile.am +++ b/src/gallium/targets/omx/Makefile.am @@ -1,15 +1,13 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ - $(VL_CFLAGS) \ $(GALLIUM_TARGET_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_SOURCES = libomx_mesa_la_LDFLAGS = \ -shared \ @@ -26,6 +24,7 @@ endif # HAVE_LD_VERSION_SCRIPT libomx_mesa_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/omx/libomxtracker.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(OMX_LIBS) \ @@ -48,16 +47,12 @@ include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc libomx_mesa_la_SOURCES += target.c -libomx_mesa_la_CPPFLAGS = $(TARGET_CPPFLAGS) -DGALLIUM_STATIC_TARGETS=1 +libomx_mesa_la_CPPFLAGS = $(TARGET_CPPFLAGS) libomx_mesa_la_LIBADD += $(TARGET_LIB_DEPS) \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS -libomx_mesa_la_CPPFLAGS = \ - $(GALLIUM_PIPE_LOADER_DEFINES) \ - -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\" - libomx_mesa_la_LIBADD += \ $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \ diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am index 5022550cf67..3d73a51535a 100644 --- a/src/gallium/targets/pipe-loader/Makefile.am +++ b/src/gallium/targets/pipe-loader/Makefile.am @@ -36,9 +36,19 @@ AM_CPPFLAGS = \ pipedir = $(libdir)/gallium-pipe pipe_LTLIBRARIES = -PIPE_LIBS = \ +PIPE_LIBS = + +if NEED_GALLIUM_VL +PIPE_LIBS += \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la +else +PIPE_LIBS += \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la +endif + +PIPE_LIBS += \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/util/libmesautil.la \ + $(top_builddir)/src/util/libmesautil.la \ $(top_builddir)/src/gallium/drivers/rbug/librbug.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ $(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \ diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am index fee89237699..1ade4591b76 100644 --- a/src/gallium/targets/va/Makefile.am +++ b/src/gallium/targets/va/Makefile.am @@ -1,15 +1,13 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ - $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) vadir = $(VA_LIB_INSTALL_DIR) va_LTLIBRARIES = gallium_drv_video.la nodist_EXTRA_gallium_drv_video_la_SOURCES = dummy.cpp -gallium_drv_video_la_SOURCES = \ - $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c +gallium_drv_video_la_SOURCES = gallium_drv_video_la_LDFLAGS = \ -shared \ @@ -27,6 +25,7 @@ endif # HAVE_LD_VERSION_SCRIPT # NOTE: gallium_drv_video does not use(link against) libva gallium_drv_video_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/va/libvatracker.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(VL_LIBS) \ @@ -45,16 +44,12 @@ include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc gallium_drv_video_la_SOURCES += target.c -gallium_drv_video_la_CPPFLAGS = $(TARGET_CPPFLAGS) -DGALLIUM_STATIC_TARGETS=1 +gallium_drv_video_la_CPPFLAGS = $(TARGET_CPPFLAGS) gallium_drv_video_la_LIBADD += $(TARGET_LIB_DEPS) \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS -gallium_drv_video_la_CPPFLAGS = \ - $(GALLIUM_PIPE_LOADER_DEFINES) \ - -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\" - gallium_drv_video_la_LIBADD += \ $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \ diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am index c363114c2bc..1c1a690ccbc 100644 --- a/src/gallium/targets/vdpau/Makefile.am +++ b/src/gallium/targets/vdpau/Makefile.am @@ -1,15 +1,13 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ - $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) vdpaudir = $(VDPAU_LIB_INSTALL_DIR) vdpau_LTLIBRARIES = libvdpau_gallium.la nodist_EXTRA_libvdpau_gallium_la_SOURCES = dummy.cpp -libvdpau_gallium_la_SOURCES = \ - $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c +libvdpau_gallium_la_SOURCES = libvdpau_gallium_la_LDFLAGS = \ -shared \ @@ -32,6 +30,7 @@ endif # HAVE_LD_DYNAMIC_LIST # NOTE: libvdpau_gallium does not use(link against) libvdpau libvdpau_gallium_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(VL_LIBS) \ @@ -55,16 +54,12 @@ include $(top_srcdir)/src/gallium/drivers/radeonsi/Automake.inc if HAVE_GALLIUM_STATIC_TARGETS libvdpau_gallium_la_SOURCES += target.c -libvdpau_gallium_la_CPPFLAGS = $(TARGET_CPPFLAGS) -DGALLIUM_STATIC_TARGETS=1 +libvdpau_gallium_la_CPPFLAGS = $(TARGET_CPPFLAGS) libvdpau_gallium_la_LIBADD += $(TARGET_LIB_DEPS) \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS -libvdpau_gallium_la_CPPFLAGS = \ - $(GALLIUM_PIPE_LOADER_DEFINES) \ - -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\" - libvdpau_gallium_la_LIBADD += \ $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) \ diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am index 3ab788692c1..ab5b28e1425 100644 --- a/src/gallium/targets/xa/Makefile.am +++ b/src/gallium/targets/xa/Makefile.am @@ -35,6 +35,7 @@ libxatracker_la_SOURCES = libxatracker_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/xa/libxatracker.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl_stub.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(LIBDRM_LIBS) \ diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am index 64092f90929..573abd3b7eb 100644 --- a/src/gallium/targets/xvmc/Makefile.am +++ b/src/gallium/targets/xvmc/Makefile.am @@ -1,15 +1,13 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ - $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) xvmcdir = $(XVMC_LIB_INSTALL_DIR) xvmc_LTLIBRARIES = libXvMCgallium.la nodist_EXTRA_libXvMCgallium_la_SOURCES = dummy.cpp -libXvMCgallium_la_SOURCES = \ - $(top_srcdir)/src/gallium/auxiliary/vl/vl_winsys_dri.c +libXvMCgallium_la_SOURCES = libXvMCgallium_la_LDFLAGS = \ -shared \ @@ -26,6 +24,7 @@ endif # HAVE_LD_VERSION_SCRIPT libXvMCgallium_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \ + $(top_builddir)/src/gallium/auxiliary/libgalliumvl.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(XVMC_LIBS) \ @@ -46,16 +45,11 @@ include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc if HAVE_GALLIUM_STATIC_TARGETS libXvMCgallium_la_SOURCES += target.c -libXvMCgallium_la_CPPFLAGS = $(TARGET_CPPFLAGS) -DGALLIUM_STATIC_TARGETS=1 +libXvMCgallium_la_CPPFLAGS = $(TARGET_CPPFLAGS) libXvMCgallium_la_LIBADD += $(TARGET_LIB_DEPS) \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS - -libXvMCgallium_la_CPPFLAGS = \ - $(GALLIUM_PIPE_LOADER_DEFINES) \ - -DPIPE_SEARCH_DIR=\"$(libdir)/gallium-pipe\" - # XXX: Use the pipe-loader-client over pipe-loader ? libXvMCgallium_la_LIBADD += \ $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ |