From: Rob Clark <robcl...@freedesktop.org> v2: now building both _static and _dynamic variants of libpipe_loader, targets can link appropriate version depending on whether they want to statically link or dynamically load pipe drivers.
TODO probably we should just move inline_{drm,sw}_helper.h into pipe- loader but there look to be a handful of sw-only (?) targets (graw, haiku, etc) which I didn't touch yet. Also didn't look very much at all at the sw renderers yet, so they might be broken at the moment. Not completely decided how I want to handle those.. I guess in theory if pipe_loader_drm_probe_fd() fails the target should fall back to pipe_loader_probe() which tries the sw backend? Need to dig through how all that stuff works and fun long named fxns like wrapper_sw_winsys_wrap_pipe_screen().. Signed-off-by: Rob Clark <robcl...@freedesktop.org> --- configure.ac | 7 ----- src/gallium/Makefile.am | 2 -- src/gallium/auxiliary/Makefile.am | 2 -- src/gallium/auxiliary/pipe-loader/Makefile.am | 35 ++++++++++++++-------- src/gallium/auxiliary/pipe-loader/pipe_loader.c | 4 +-- src/gallium/auxiliary/pipe-loader/pipe_loader.h | 4 --- .../auxiliary/pipe-loader/pipe_loader_drm.c | 13 ++++++++ src/gallium/auxiliary/pipe-loader/target.c | 2 ++ src/gallium/auxiliary/vl/vl_winsys_dri.c | 8 ----- src/gallium/state_trackers/dri/dri2.c | 13 -------- src/gallium/state_trackers/dri/dri_screen.c | 2 -- src/gallium/state_trackers/xa/xa_tracker.c | 10 +------ src/gallium/targets/d3dadapter9/Makefile.am | 4 +-- src/gallium/targets/d3dadapter9/drm.c | 26 +++++----------- src/gallium/targets/dri/Makefile.am | 4 +-- src/gallium/targets/dri/dri.sym | 3 ++ src/gallium/targets/dri/target.c | 2 -- src/gallium/targets/omx/Makefile.am | 4 +-- src/gallium/targets/omx/target.c | 1 - src/gallium/targets/opencl/Makefile.am | 2 +- src/gallium/targets/osmesa/Makefile.am | 3 +- src/gallium/targets/va/Makefile.am | 4 +-- src/gallium/targets/va/target.c | 1 - src/gallium/targets/vdpau/Makefile.am | 4 +-- src/gallium/targets/vdpau/target.c | 1 - src/gallium/targets/xa/Makefile.am | 6 ++-- src/gallium/targets/xa/target.c | 1 - src/gallium/targets/xvmc/Makefile.am | 4 +-- src/gallium/targets/xvmc/target.c | 1 - 29 files changed, 68 insertions(+), 105 deletions(-) create mode 100644 src/gallium/auxiliary/pipe-loader/target.c delete mode 100644 src/gallium/targets/dri/target.c delete mode 100644 src/gallium/targets/omx/target.c delete mode 100644 src/gallium/targets/va/target.c delete mode 100644 src/gallium/targets/vdpau/target.c delete mode 100644 src/gallium/targets/xa/target.c delete mode 100644 src/gallium/targets/xvmc/target.c diff --git a/configure.ac b/configure.ac index 1ef5fbc..1fe510f 100644 --- a/configure.ac +++ b/configure.ac @@ -2044,7 +2044,6 @@ gallium_require_drm_loader() { if test "x$need_pci_id$have_pci_id" = xyesno; then AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED or sysfs]) fi - enable_gallium_drm_loader=yes fi if test "x$enable_va" = xyes && test "x$7" != x; then GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS $7" @@ -2248,10 +2247,6 @@ if test "x$enable_gallium_loader" = xyes; then GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRI" fi - if test "x$enable_gallium_drm_loader" = xyes; then - GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES -DHAVE_PIPE_LOADER_DRM" - fi - AC_SUBST([GALLIUM_PIPE_LOADER_DEFINES]) fi @@ -2268,8 +2263,6 @@ AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \ AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes) AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes) -AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes) -AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes) AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1) AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes) diff --git a/src/gallium/Makefile.am b/src/gallium/Makefile.am index a7c3606..cc099d5 100644 --- a/src/gallium/Makefile.am +++ b/src/gallium/Makefile.am @@ -115,9 +115,7 @@ EXTRA_DIST = \ ## Gallium state trackers and their users (targets) ## -if HAVE_LOADER_GALLIUM SUBDIRS += targets/pipe-loader -endif if HAVE_CLOVER SUBDIRS += state_trackers/clover targets/opencl diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am index a728162..dcd51bf 100644 --- a/src/gallium/auxiliary/Makefile.am +++ b/src/gallium/auxiliary/Makefile.am @@ -1,6 +1,4 @@ -if HAVE_LOADER_GALLIUM SUBDIRS := pipe-loader -endif include Makefile.sources include $(top_srcdir)/src/gallium/Automake.inc diff --git a/src/gallium/auxiliary/pipe-loader/Makefile.am b/src/gallium/auxiliary/pipe-loader/Makefile.am index 8c83799..a9f159b 100644 --- a/src/gallium/auxiliary/pipe-loader/Makefile.am +++ b/src/gallium/auxiliary/pipe-loader/Makefile.am @@ -5,24 +5,35 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ -I$(top_srcdir)/src/loader \ -I$(top_srcdir)/src/gallium/winsys \ + $(LIBDRM_CFLAGS) \ $(GALLIUM_PIPE_LOADER_DEFINES) \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) -noinst_LTLIBRARIES = libpipe_loader.la +noinst_LTLIBRARIES = \ + libpipe_loader_dynamic.la \ + libpipe_loader_static.la -libpipe_loader_la_SOURCES = \ - $(COMMON_SOURCES) - -if HAVE_DRM_LOADER_GALLIUM -AM_CFLAGS += \ - $(LIBDRM_CFLAGS) - -libpipe_loader_la_SOURCES += \ +libpipe_loader_dynamic_la_SOURCES = \ + $(COMMON_SOURCES) \ $(DRM_SOURCES) -libpipe_loader_la_LIBADD = \ - $(top_builddir)/src/loader/libloader.la +libpipe_loader_static_la_CFLAGS = \ + -I$(top_srcdir)/include \ + -I$(top_srcdir)/src \ + -I$(top_srcdir)/src/loader \ + -I$(top_srcdir)/src/gallium/include \ + -I$(top_srcdir)/src/gallium/auxiliary \ + -I$(top_srcdir)/src/gallium/winsys \ + $(LIBDRM_CFLAGS) \ + -DGALLIUM_STATIC_TARGETS=1 -endif +libpipe_loader_static_la_LIBADD = \ + $(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \ + $(top_builddir)/src/gallium/winsys/sw/wrapper/libwsw.la \ + $(LIBDRM_LIBS) +libpipe_loader_static_la_SOURCES = \ + target.c \ + $(COMMON_SOURCES) \ + $(DRM_SOURCES) diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.c b/src/gallium/auxiliary/pipe-loader/pipe_loader.c index 8e79f85..bb4e061 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.c @@ -25,6 +25,8 @@ * **************************************************************************/ +#include <linux/limits.h> + #include "pipe_loader_priv.h" #include "util/u_inlines.h" @@ -35,9 +37,7 @@ #define MODULE_PREFIX "pipe_" static int (*backends[])(struct pipe_loader_device **, int) = { -#ifdef HAVE_PIPE_LOADER_DRM &pipe_loader_drm_probe, -#endif &pipe_loader_sw_probe }; diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader.h b/src/gallium/auxiliary/pipe-loader/pipe_loader.h index 9b87126..cf0c51b 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader.h +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader.h @@ -158,8 +158,6 @@ boolean pipe_loader_sw_probe_wrapped(struct pipe_loader_device **dev, struct pipe_screen *screen); -#ifdef HAVE_PIPE_LOADER_DRM - /** * Get a list of known DRM devices. * @@ -180,8 +178,6 @@ pipe_loader_drm_probe(struct pipe_loader_device **devs, int ndev); bool pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd); -#endif - #ifdef __cplusplus } #endif diff --git a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c index 1799df7..f1e2534 100644 --- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c +++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c @@ -34,6 +34,7 @@ #include <stdio.h> #include <xf86drm.h> #include <unistd.h> +#include <linux/limits.h> #include "loader.h" #include "state_tracker/drm_driver.h" @@ -50,7 +51,9 @@ struct pipe_loader_drm_device { struct pipe_loader_device base; +#if !GALLIUM_STATIC_TARGETS struct util_dl_library *lib; +#endif int fd; }; @@ -132,8 +135,10 @@ pipe_loader_drm_release(struct pipe_loader_device **dev) { struct pipe_loader_drm_device *ddev = pipe_loader_drm_device(*dev); +#if !GALLIUM_STATIC_TARGETS if (ddev->lib) util_dl_close(ddev->lib); +#endif close(ddev->fd); FREE(ddev->base.driver_name); @@ -145,6 +150,9 @@ static const struct drm_conf_ret * pipe_loader_drm_configuration(struct pipe_loader_device *dev, enum drm_conf conf) { +#if GALLIUM_STATIC_TARGETS + return dd_configuration(conf); +#else struct pipe_loader_drm_device *ddev = pipe_loader_drm_device(dev); const struct drm_driver_descriptor *dd; @@ -162,6 +170,7 @@ pipe_loader_drm_configuration(struct pipe_loader_device *dev, return NULL; return dd->configuration(conf); +#endif } static struct pipe_screen * @@ -169,6 +178,9 @@ pipe_loader_drm_create_screen(struct pipe_loader_device *dev, const char *library_paths) { struct pipe_loader_drm_device *ddev = pipe_loader_drm_device(dev); +#if GALLIUM_STATIC_TARGETS + return dd_create_screen(ddev->fd); +#else const struct drm_driver_descriptor *dd; if (!ddev->lib) @@ -184,6 +196,7 @@ pipe_loader_drm_create_screen(struct pipe_loader_device *dev, return NULL; return dd->create_screen(ddev->fd); +#endif } static struct pipe_loader_ops pipe_loader_drm_ops = { diff --git a/src/gallium/auxiliary/pipe-loader/target.c b/src/gallium/auxiliary/pipe-loader/target.c new file mode 100644 index 0000000..32a11ef --- /dev/null +++ b/src/gallium/auxiliary/pipe-loader/target.c @@ -0,0 +1,2 @@ +#include "target-helpers/inline_drm_helper.h" +#include "target-helpers/inline_sw_helper.h" diff --git a/src/gallium/auxiliary/vl/vl_winsys_dri.c b/src/gallium/auxiliary/vl/vl_winsys_dri.c index 3b1b87f..c5c87c8 100644 --- a/src/gallium/auxiliary/vl/vl_winsys_dri.c +++ b/src/gallium/auxiliary/vl/vl_winsys_dri.c @@ -387,12 +387,8 @@ vl_screen_create(Display *display, int screen) if (authenticate == NULL || !authenticate->authenticated) goto free_authenticate; -#if GALLIUM_STATIC_TARGETS - scrn->base.pscreen = dd_create_screen(fd); -#else if (pipe_loader_drm_probe_fd(&scrn->base.dev, fd)) scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev, PIPE_SEARCH_DIR); -#endif // GALLIUM_STATIC_TARGETS if (!scrn->base.pscreen) goto release_pipe; @@ -409,10 +405,8 @@ vl_screen_create(Display *display, int screen) return &scrn->base; release_pipe: -#if !GALLIUM_STATIC_TARGETS if (scrn->base.dev) pipe_loader_release(&scrn->base.dev, 1); -#endif // !GALLIUM_STATIC_TARGETS free_authenticate: free(authenticate); free_connect: @@ -440,8 +434,6 @@ void vl_screen_destroy(struct vl_screen *vscreen) vl_dri2_destroy_drawable(scrn); scrn->base.pscreen->destroy(scrn->base.pscreen); -#if !GALLIUM_STATIC_TARGETS pipe_loader_release(&scrn->base.dev, 1); -#endif // !GALLIUM_STATIC_TARGETS FREE(scrn); } diff --git a/src/gallium/state_trackers/dri/dri2.c b/src/gallium/state_trackers/dri/dri2.c index 91b4431..a24acdd 100644 --- a/src/gallium/state_trackers/dri/dri2.c +++ b/src/gallium/state_trackers/dri/dri2.c @@ -1454,19 +1454,12 @@ dri2_init_screen(__DRIscreen * sPriv) sPriv->driverPrivate = (void *)screen; -#if GALLIUM_STATIC_TARGETS - pscreen = dd_create_screen(screen->fd); - - throttle_ret = dd_configuration(DRM_CONF_THROTTLE); - dmabuf_ret = dd_configuration(DRM_CONF_SHARE_FD); -#else if (pipe_loader_drm_probe_fd(&screen->dev, screen->fd)) { pscreen = pipe_loader_create_screen(screen->dev, PIPE_SEARCH_DIR); throttle_ret = pipe_loader_configuration(screen->dev, DRM_CONF_THROTTLE); dmabuf_ret = pipe_loader_configuration(screen->dev, DRM_CONF_SHARE_FD); } -#endif // GALLIUM_STATIC_TARGETS if (throttle_ret && throttle_ret->val.val_int != -1) { screen->throttling_enabled = TRUE; @@ -1492,11 +1485,7 @@ dri2_init_screen(__DRIscreen * sPriv) /* dri_init_screen_helper checks pscreen for us */ -#if GALLIUM_STATIC_TARGETS - configs = dri_init_screen_helper(screen, pscreen, dd_driver_name()); -#else configs = dri_init_screen_helper(screen, pscreen, screen->dev->driver_name); -#endif // GALLIUM_STATIC_TARGETS if (!configs) goto fail; @@ -1508,10 +1497,8 @@ dri2_init_screen(__DRIscreen * sPriv) return configs; fail: dri_destroy_screen_helper(screen); -#if !GALLIUM_STATIC_TARGETS if (screen->dev) pipe_loader_release(&screen->dev, 1); -#endif // !GALLIUM_STATIC_TARGETS FREE(screen); return NULL; } diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c index c4c2d9c..cf0f265 100644 --- a/src/gallium/state_trackers/dri/dri_screen.c +++ b/src/gallium/state_trackers/dri/dri_screen.c @@ -390,9 +390,7 @@ dri_destroy_screen(__DRIscreen * sPriv) dri_destroy_screen_helper(screen); -#if !GALLIUM_STATIC_TARGETS pipe_loader_release(&screen->dev, 1); -#endif // !GALLIUM_STATIC_TARGETS free(screen); sPriv->driverPrivate = NULL; diff --git a/src/gallium/state_trackers/xa/xa_tracker.c b/src/gallium/state_trackers/xa/xa_tracker.c index 4fdbdc9..598d540 100644 --- a/src/gallium/state_trackers/xa/xa_tracker.c +++ b/src/gallium/state_trackers/xa/xa_tracker.c @@ -157,16 +157,12 @@ xa_tracker_create(int drm_fd) if (!xa) return NULL; -#if GALLIUM_STATIC_TARGETS - xa->screen = dd_create_screen(drm_fd); - (void) loader_fd; /* silence unused var warning */ -#else loader_fd = dup(drm_fd); if (loader_fd == -1) return NULL; if (pipe_loader_drm_probe_fd(&xa->dev, loader_fd)) xa->screen = pipe_loader_create_screen(xa->dev, PIPE_SEARCH_DIR); -#endif + if (!xa->screen) goto out_no_screen; @@ -214,10 +210,8 @@ xa_tracker_create(int drm_fd) out_no_pipe: xa->screen->destroy(xa->screen); out_no_screen: -#if !GALLIUM_STATIC_TARGETS if (xa->dev) pipe_loader_release(&xa->dev, 1); -#endif free(xa); return NULL; } @@ -228,9 +222,7 @@ xa_tracker_destroy(struct xa_tracker *xa) free(xa->supported_formats); xa_context_destroy(xa->default_ctx); xa->screen->destroy(xa->screen); -#if !GALLIUM_STATIC_TARGETS pipe_loader_release(&xa->dev, 1); -#endif free(xa); } diff --git a/src/gallium/targets/d3dadapter9/Makefile.am b/src/gallium/targets/d3dadapter9/Makefile.am index e26ca33..1548c72 100644 --- a/src/gallium/targets/d3dadapter9/Makefile.am +++ b/src/gallium/targets/d3dadapter9/Makefile.am @@ -79,7 +79,6 @@ d3dadapter9_la_LIBADD = \ $(top_builddir)/src/libglsl_util.la \ $(top_builddir)/src/gallium/state_trackers/nine/libninetracker.la \ $(top_builddir)/src/util/libmesautil.la \ - $(top_builddir)/src/gallium/winsys/sw/wrapper/libwsw.la \ $(EXPAT_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) @@ -113,12 +112,13 @@ if HAVE_GALLIUM_STATIC_TARGETS d3dadapter9_la_CPPFLAGS = $(AM_CPPFLAGS) $(TARGET_CPPFLAGS) d3dadapter9_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS d3dadapter9_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/d3dadapter9/drm.c b/src/gallium/targets/d3dadapter9/drm.c index fabc820..ce55137 100644 --- a/src/gallium/targets/d3dadapter9/drm.c +++ b/src/gallium/targets/d3dadapter9/drm.c @@ -29,8 +29,6 @@ #include "pipe/p_screen.h" #include "pipe/p_state.h" -#include "target-helpers/inline_drm_helper.h" -#include "target-helpers/inline_sw_helper.h" #include "state_tracker/drm_driver.h" #include "d3dadapter/d3dadapter9.h" @@ -91,12 +89,10 @@ drm_destroy( struct d3dadapter9_context *ctx ) else if (ctx->hal) ctx->hal->destroy(ctx->hal); -#if !GALLIUM_STATIC_TARGETS if (drm->swdev) pipe_loader_release(&drm->swdev, 1); if (drm->dev) pipe_loader_release(&drm->dev, 1); -#endif close(drm->fd); FREE(ctx); @@ -214,14 +210,16 @@ drm_create_adapter( int fd, driOptionCache defaultInitOptions; driOptionCache userInitOptions; int throttling_value_user = -2; + unsigned i; -#if !GALLIUM_STATIC_TARGETS const char *paths[] = { getenv("D3D9_DRIVERS_PATH"), getenv("D3D9_DRIVERS_DIR"), +#ifdef PIPE_SEARCH_DIR + /* TODO just drop paths param to pipe_loader_create_screen()? */ PIPE_SEARCH_DIR - }; #endif + }; if (!ctx) { return E_OUTOFMEMORY; } @@ -231,9 +229,6 @@ drm_create_adapter( int fd, ctx->fd = fd; ctx->base.linear_framebuffer = !!different_device; -#if GALLIUM_STATIC_TARGETS - ctx->base.hal = dd_create_screen(fd); -#else /* use pipe-loader to dlopen appropriate drm driver */ if (!pipe_loader_drm_probe_fd(&ctx->dev, fd)) { ERR("Failed to probe drm fd %d.\n", fd); @@ -248,20 +243,16 @@ drm_create_adapter( int fd, if (!paths[i]) { continue; } ctx->base.hal = pipe_loader_create_screen(ctx->dev, paths[i]); } -#endif + if (!ctx->base.hal) { ERR("Unable to load requested driver.\n"); drm_destroy(&ctx->base); return D3DERR_DRIVERINTERNALERROR; } -#if GALLIUM_STATIC_TARGETS - dmabuf_ret = dd_configuration(DRM_CONF_SHARE_FD); - throttle_ret = dd_configuration(DRM_CONF_THROTTLE); -#else dmabuf_ret = pipe_loader_configuration(ctx->dev, DRM_CONF_SHARE_FD); throttle_ret = pipe_loader_configuration(ctx->dev, DRM_CONF_THROTTLE); -#endif // GALLIUM_STATIC_TARGETS + if (!dmabuf_ret || !dmabuf_ret->val.val_bool) { ERR("The driver is not capable of dma-buf sharing." "Abandon to load nine state tracker\n"); @@ -308,9 +299,6 @@ drm_create_adapter( int fd, driDestroyOptionCache(&userInitOptions); driDestroyOptionInfo(&defaultInitOptions); -#if GALLIUM_STATIC_TARGETS - ctx->base.ref = ninesw_create_screen(ctx->base.hal); -#else /* wrap it to create a software screen that can share resources */ if (pipe_loader_sw_probe_wrapped(&ctx->swdev, ctx->base.hal)) { ctx->base.ref = NULL; @@ -319,7 +307,7 @@ drm_create_adapter( int fd, ctx->base.ref = pipe_loader_create_screen(ctx->swdev, paths[i]); } } -#endif + if (!ctx->base.ref) { ERR("Couldn't wrap drm screen to swrast screen. Software devices " "will be unavailable.\n"); diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am index 7f945d1..dcbce2f 100644 --- a/src/gallium/targets/dri/Makefile.am +++ b/src/gallium/targets/dri/Makefile.am @@ -88,15 +88,15 @@ include $(top_srcdir)/src/gallium/drivers/llvmpipe/Automake.inc if HAVE_GALLIUM_STATIC_TARGETS -gallium_dri_la_SOURCES += target.c gallium_dri_la_CPPFLAGS = $(AM_CPPFLAGS) $(TARGET_CPPFLAGS) gallium_dri_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS gallium_dri_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/dri/dri.sym b/src/gallium/targets/dri/dri.sym index 1fdf18b..497f4bd 100644 --- a/src/gallium/targets/dri/dri.sym +++ b/src/gallium/targets/dri/dri.sym @@ -2,6 +2,9 @@ global: __driDriverExtensions; __driDriverGetExtensions*; + pipe_loader_drm_probe_fd; + pipe_loader_create_screen; + pipe_loader_configuration; nouveau_drm_screen_create; radeon_drm_winsys_create; amdgpu_winsys_create; diff --git a/src/gallium/targets/dri/target.c b/src/gallium/targets/dri/target.c deleted file mode 100644 index 32a11ef..0000000 --- a/src/gallium/targets/dri/target.c +++ /dev/null @@ -1,2 +0,0 @@ -#include "target-helpers/inline_drm_helper.h" -#include "target-helpers/inline_sw_helper.h" diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am index a4dff48..5d574b5 100644 --- a/src/gallium/targets/omx/Makefile.am +++ b/src/gallium/targets/omx/Makefile.am @@ -48,15 +48,15 @@ include $(top_srcdir)/src/gallium/drivers/nouveau/Automake.inc 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) libomx_mesa_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS libomx_mesa_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/omx/target.c b/src/gallium/targets/omx/target.c deleted file mode 100644 index fde4a4a..0000000 --- a/src/gallium/targets/omx/target.c +++ /dev/null @@ -1 +0,0 @@ -#include "target-helpers/inline_drm_helper.h" diff --git a/src/gallium/targets/opencl/Makefile.am b/src/gallium/targets/opencl/Makefile.am index 4ab706e..c435bd0 100644 --- a/src/gallium/targets/opencl/Makefile.am +++ b/src/gallium/targets/opencl/Makefile.am @@ -15,7 +15,7 @@ lib@OPENCL_LIBNAME@_la_LDFLAGS += \ endif lib@OPENCL_LIBNAME@_la_LIBADD = \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(top_builddir)/src/gallium/state_trackers/clover/libclover.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ diff --git a/src/gallium/targets/osmesa/Makefile.am b/src/gallium/targets/osmesa/Makefile.am index 38e515f..b45c77a 100644 --- a/src/gallium/targets/osmesa/Makefile.am +++ b/src/gallium/targets/osmesa/Makefile.am @@ -39,7 +39,6 @@ AM_CPPFLAGS = \ lib_LTLIBRARIES = lib@OSMESA_LIB@.la nodist_EXTRA_lib@OSMESA_LIB@_la_SOURCES = dummy.cpp -lib@OSMESA_LIB@_la_SOURCES = target.c lib@OSMESA_LIB@_la_LDFLAGS = \ -no-undefined \ @@ -57,9 +56,9 @@ SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la endif lib@OSMESA_LIB@_la_LIBADD = \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(top_builddir)/src/mesa/libmesagallium.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ - $(top_builddir)/src/gallium/winsys/sw/null/libws_null.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ $(top_builddir)/src/gallium/drivers/softpipe/libsoftpipe.la \ $(top_builddir)/src/gallium/state_trackers/osmesa/libosmesa.la \ diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am index 9613f04..3c4dc32 100644 --- a/src/gallium/targets/va/Makefile.am +++ b/src/gallium/targets/va/Makefile.am @@ -45,15 +45,15 @@ TARGET_LIB_DEPS = $(top_builddir)/src/loader/libloader.la 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) gallium_drv_video_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS gallium_drv_video_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/va/target.c b/src/gallium/targets/va/target.c deleted file mode 100644 index fde4a4a..0000000 --- a/src/gallium/targets/va/target.c +++ /dev/null @@ -1 +0,0 @@ -#include "target-helpers/inline_drm_helper.h" diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am index 7eb62c1..f60522a 100644 --- a/src/gallium/targets/vdpau/Makefile.am +++ b/src/gallium/targets/vdpau/Makefile.am @@ -57,15 +57,15 @@ 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) libvdpau_gallium_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS libvdpau_gallium_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/vdpau/target.c b/src/gallium/targets/vdpau/target.c deleted file mode 100644 index fde4a4a..0000000 --- a/src/gallium/targets/vdpau/target.c +++ /dev/null @@ -1 +0,0 @@ -#include "target-helpers/inline_drm_helper.h" diff --git a/src/gallium/targets/xa/Makefile.am b/src/gallium/targets/xa/Makefile.am index 92173de..146ba0e 100644 --- a/src/gallium/targets/xa/Makefile.am +++ b/src/gallium/targets/xa/Makefile.am @@ -73,14 +73,14 @@ include $(top_srcdir)/src/gallium/drivers/svga/Automake.inc include $(top_srcdir)/src/gallium/drivers/freedreno/Automake.inc -libxatracker_la_SOURCES += target.c libxatracker_la_CPPFLAGS = $(TARGET_CPPFLAGS) -libxatracker_la_LIBADD += $(TARGET_LIB_DEPS) +libxatracker_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la else # HAVE_GALLIUM_STATIC_TARGETS libxatracker_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/xa/target.c b/src/gallium/targets/xa/target.c deleted file mode 100644 index fde4a4a..0000000 --- a/src/gallium/targets/xa/target.c +++ /dev/null @@ -1 +0,0 @@ -#include "target-helpers/inline_drm_helper.h" diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am index b328589..54353ee 100644 --- a/src/gallium/targets/xvmc/Makefile.am +++ b/src/gallium/targets/xvmc/Makefile.am @@ -46,14 +46,14 @@ include $(top_srcdir)/src/gallium/drivers/r600/Automake.inc if HAVE_GALLIUM_STATIC_TARGETS -libXvMCgallium_la_SOURCES += target.c libXvMCgallium_la_CPPFLAGS = $(TARGET_CPPFLAGS) libXvMCgallium_la_LIBADD += $(TARGET_LIB_DEPS) \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_static.la \ $(TARGET_RADEON_WINSYS) $(TARGET_RADEON_COMMON) else # HAVE_GALLIUM_STATIC_TARGETS libXvMCgallium_la_LIBADD += \ - $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \ + $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader_dynamic.la \ $(GALLIUM_PIPE_LOADER_WINSYS_LIBS) endif # HAVE_GALLIUM_STATIC_TARGETS diff --git a/src/gallium/targets/xvmc/target.c b/src/gallium/targets/xvmc/target.c deleted file mode 100644 index fde4a4a..0000000 --- a/src/gallium/targets/xvmc/target.c +++ /dev/null @@ -1 +0,0 @@ -#include "target-helpers/inline_drm_helper.h" -- 2.4.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev