if test "x$enable_dri" = xyes; then
GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/dri"
GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS"
+ enable_gallium_loader=yes
fi
if test "x$enable_gallium_osmesa" = xyes; then
PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED])
gallium_require_drm_loader
GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau"
- gallium_check_st "nouveau/drm" "dri-nouveau" "xa/nouveau" "xvmc/nouveau" "vdpau/nouveau" "omx/nouveau"
+ gallium_check_st "nouveau/drm" "dri/nouveau" "xa/nouveau" "xvmc/nouveau" "vdpau/nouveau" "omx/nouveau"
;;
xfreedreno)
HAVE_GALLIUM_FREEDRENO=yes
src/gallium/targets/dri-freedreno/Makefile
src/gallium/targets/dri-i915/Makefile
src/gallium/targets/dri-ilo/Makefile
- src/gallium/targets/dri-nouveau/Makefile
src/gallium/targets/dri-swrast/Makefile
src/gallium/targets/dri-vmwgfx/Makefile
+ src/gallium/targets/dri/Makefile
src/gallium/targets/egl-static/Makefile
src/gallium/targets/gbm/Makefile
src/gallium/targets/libgl-xlib/Makefile
if HAVE_LD_VERSION_SCRIPT
GALLIUM_DRI_LINKER_FLAGS += \
- -Wl,--version-script=$(top_srcdir)/src/gallium/targets/dri.sym
+ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/dri/dri.sym
endif
SUBDIRS =
+if HAVE_DRI2
+SUBDIRS += dri
+endif
+
if HAVE_X11_DRIVER
SUBDIRS += libgl-xlib
endif
endif
endif
-if HAVE_GALLIUM_NOUVEAU
-if HAVE_DRI2
-SUBDIRS += dri-nouveau
-endif
-endif
-
if HAVE_GALLIUM_SOFTPIPE
if HAVE_DRISW
SUBDIRS += dri-swrast
+++ /dev/null
-# 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_CFLAGS = \
- $(GALLIUM_DRI_CFLAGS)
-AM_CPPFLAGS = \
- -DGALLIUM_RBUG \
- -DGALLIUM_TRACE
-
-dridir = $(DRI_DRIVER_INSTALL_DIR)
-dri_LTLIBRARIES = nouveau_dri.la
-
-nodist_EXTRA_nouveau_dri_la_SOURCES = dummy.cpp
-nouveau_dri_la_SOURCES = target.c
-
-nouveau_dri_la_LDFLAGS = \
- $(GALLIUM_DRI_LINKER_FLAGS) \
- -Wl,--dynamic-list=$(srcdir)/nouveau_dri.dyn
-
-nouveau_dri_la_LIBADD = \
- $(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \
- $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
- $(top_builddir)/src/gallium/winsys/nouveau/drm/libnouveaudrm.la \
- $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
- $(top_builddir)/src/gallium/drivers/rbug/librbug.la \
- $(top_builddir)/src/gallium/drivers/nouveau/libnouveau.la \
- $(GALLIUM_DRI_LIB_DEPS) \
- $(LIBDRM_LIBS) \
- $(NOUVEAU_LIBS)
-
-include $(top_srcdir)/install-gallium-links.mk
+++ /dev/null
-{
- nouveau_drm_screen_create;
-};
+++ /dev/null
-
-#include "target-helpers/inline_debug_helper.h"
-#include "state_tracker/drm_driver.h"
-#include "nouveau/drm/nouveau_drm_public.h"
-
-static struct pipe_screen *
-create_screen(int fd)
-{
- struct pipe_screen *screen;
-
- screen = nouveau_drm_screen_create(fd);
- if (!screen)
- return NULL;
-
- screen = debug_screen_wrap(screen);
-
- return screen;
-}
-
-static const struct drm_conf_ret share_fd_ret = {
- .type = DRM_CONF_BOOL,
- .val.val_int = true,
-};
-
-static const struct drm_conf_ret *drm_configuration(enum drm_conf conf)
-{
- switch (conf) {
- case DRM_CONF_SHARE_FD:
- return &share_fd_ret;
- default:
- break;
- }
- return NULL;
-}
-
-DRM_DRIVER_DESCRIPTOR("nouveau", "nouveau", create_screen, drm_configuration)
+++ /dev/null
-{
- global:
- __driDriverExtensions;
- nouveau_drm_screen_create;
- radeon_drm_winsys_create;
- local:
- *;
-};
--- /dev/null
+include $(top_srcdir)/src/gallium/Automake.inc
+
+AM_CFLAGS = \
+ $(GALLIUM_TARGET_CFLAGS)
+
+AM_CPPFLAGS = \
+ -DGALLIUM_GALAHAD \
+ -DGALLIUM_NOOP \
+ -DGALLIUM_RBUG \
+ -DGALLIUM_TRACE
+
+dridir = $(DRI_DRIVER_INSTALL_DIR)
+dri_LTLIBRARIES = gallium_dri.la
+
+nodist_EXTRA_gallium_dri_la_SOURCES = dummy.cpp
+gallium_dri_la_SOURCES =
+
+gallium_dri_la_LDFLAGS = \
+ -shared \
+ -shrext .so \
+ -module \
+ -avoid-version \
+ -Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn \
+ $(GC_SECTIONS)
+
+if HAVE_LD_VERSION_SCRIPT
+gallium_dri_la_LDFLAGS += \
+ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/dri/dri.sym
+endif # HAVE_LD_VERSION_SCRIPT
+
+# XXX: Fold libdridrm/libdrisw as drivers become megadriver (__dri*DriverExtension) aware
+gallium_dri_la_LIBADD = \
+ $(top_builddir)/src/mesa/libmesagallium.la \
+ $(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \
+ $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm_s.la \
+ $(top_builddir)/src/gallium/auxiliary/libgallium.la \
+ $(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \
+ $(top_builddir)/src/gallium/drivers/noop/libnoop.la \
+ $(top_builddir)/src/gallium/drivers/rbug/librbug.la \
+ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \
+ $(SELINUX_LIBS) \
+ $(EXPAT_LIBS) \
+ $(LIBDRM_LIBS) \
+ $(GALLIUM_COMMON_LIB_DEPS)
+
+if HAVE_GALLIUM_STATIC_TARGETS
+
+MEGADRIVERS =
+STATIC_TARGET_CPPFLAGS =
+STATIC_TARGET_LIB_DEPS = \
+ $(top_builddir)/src/loader/libloader.la
+
+if HAVE_GALLIUM_NOUVEAU
+MEGADRIVERS += 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
+
+gallium_dri_la_SOURCES += target.c
+AM_CPPFLAGS += $(STATIC_TARGET_CPPFLAGS)
+gallium_dri_la_LIBADD += $(STATIC_TARGET_LIB_DEPS)
+
+else # HAVE_GALLIUM_STATIC_TARGETS
+
+gallium_dri_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
+gallium_dri_la_LIBADD += $(LLVM_LIBS)
+gallium_dri_la_LDFLAGS += $(LLVM_LDFLAGS)
+endif
+
+if HAVE_COMPAT_SYMLINKS
+# Add a link to allow setting LIBGL_DRIVERS_PATH to /lib/gallium of the build tree.
+all-local: $(dri_LTLIBRARIES)
+ $(AM_V_GEN)link_dir=$(top_builddir)/$(LIB_DIR)/gallium; \
+ $(MKDIR_P) $${link_dir}; \
+ for i in $(MEGADRIVERS); do \
+ j=gallium_dri.so; \
+ k=$${i}_dri.so; \
+ ln -f .libs/$${j} \
+ $${link_dir}/$${k}; \
+ done
+endif
+
+# hardlink each megadriver instance, but don't actually have
+# gallium_dri.so in the set of final installed files.
+install-data-hook:
+ $(AM_V_GEN)dest_dir=$(DESTDIR)/$(dridir); \
+ for i in $(MEGADRIVERS); do \
+ j=gallium_dri.so; \
+ k=$${i}_dri.so; \
+ ln -f $${dest_dir}/$${j} \
+ $${dest_dir}/$${k}; \
+ done; \
+ $(RM) -f $$dest_dir/gallium_dri.*
--- /dev/null
+{
+ global:
+ __driDriverExtensions;
+ nouveau_drm_screen_create;
+ radeon_drm_winsys_create;
+ local:
+ *;
+};
--- /dev/null
+#include "target-helpers/inline_drm_helper.h"