summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac12
-rw-r--r--src/gallium/drivers/swr/Makefile.am50
2 files changed, 50 insertions, 12 deletions
diff --git a/configure.ac b/configure.ac
index e236a3c54f6..7c1fbe0ed10 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2640,6 +2640,11 @@ if test -n "$with_gallium_drivers"; then
AC_MSG_ERROR([swr enabled but no swr architectures selected])
fi
+ # test if more than one swr arch configured
+ if test `echo $swr_archs | wc -w` -eq 1; then
+ HAVE_SWR_BUILTIN=yes
+ fi
+
HAVE_GALLIUM_SWR=yes
;;
xvc4)
@@ -2689,6 +2694,7 @@ AM_CONDITIONAL(HAVE_SWR_AVX, test "x$HAVE_SWR_AVX" = xyes)
AM_CONDITIONAL(HAVE_SWR_AVX2, test "x$HAVE_SWR_AVX2" = xyes)
AM_CONDITIONAL(HAVE_SWR_KNL, test "x$HAVE_SWR_KNL" = xyes)
AM_CONDITIONAL(HAVE_SWR_SKX, test "x$HAVE_SWR_SKX" = xyes)
+AM_CONDITIONAL(HAVE_SWR_BUILTIN, test "x$HAVE_SWR_BUILTIN" = xyes)
dnl We need to validate some needed dependencies for renderonly drivers.
@@ -3153,7 +3159,11 @@ fi
echo ""
if test "x$HAVE_GALLIUM_SWR" != x; then
- echo " SWR archs: $swr_archs"
+ if test "x$HAVE_SWR_BUILTIN" = xyes; then
+ echo " SWR archs: $swr_archs (builtin)"
+ else
+ echo " SWR archs: $swr_archs"
+ fi
fi
dnl Libraries
diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am
index c995f1b84a1..ace4e1d4e46 100644
--- a/src/gallium/drivers/swr/Makefile.am
+++ b/src/gallium/drivers/swr/Makefile.am
@@ -26,13 +26,9 @@ AM_CXXFLAGS = $(GALLIUM_DRIVER_CFLAGS) $(CXX11_CXXFLAGS)
noinst_LTLIBRARIES = libmesaswr.la
-# gen_knobs.* included here to provide driver access to swr configuration
libmesaswr_la_SOURCES = \
$(CXX_SOURCES) \
- $(COMMON_CXX_SOURCES) \
$(JITTER_CXX_SOURCES) \
- rasterizer/codegen/gen_knobs.cpp \
- rasterizer/codegen/gen_knobs.h \
$(LOADER_SOURCES)
COMMON_CXXFLAGS = \
@@ -243,8 +239,6 @@ COMMON_LDFLAGS = \
lib_LTLIBRARIES =
if HAVE_SWR_AVX
-lib_LTLIBRARIES += libswrAVX.la
-
libswrAVX_la_CXXFLAGS = \
$(PTHREAD_CFLAGS) \
$(SWR_AVX_CXXFLAGS) \
@@ -262,7 +256,6 @@ libswrAVX_la_LDFLAGS = \
endif
if HAVE_SWR_AVX2
-lib_LTLIBRARIES += libswrAVX2.la
libswrAVX2_la_CXXFLAGS = \
$(PTHREAD_CFLAGS) \
$(SWR_AVX2_CXXFLAGS) \
@@ -280,8 +273,6 @@ libswrAVX2_la_LDFLAGS = \
endif
if HAVE_SWR_KNL
-lib_LTLIBRARIES += libswrKNL.la
-
libswrKNL_la_CXXFLAGS = \
$(PTHREAD_CFLAGS) \
$(SWR_KNL_CXXFLAGS) \
@@ -299,8 +290,6 @@ libswrKNL_la_LDFLAGS = \
endif
if HAVE_SWR_SKX
-lib_LTLIBRARIES += libswrSKX.la
-
libswrSKX_la_CXXFLAGS = \
$(PTHREAD_CFLAGS) \
$(SWR_SKX_CXXFLAGS) \
@@ -317,6 +306,45 @@ libswrSKX_la_LDFLAGS = \
$(COMMON_LDFLAGS)
endif
+if HAVE_SWR_BUILTIN
+libmesaswr_la_CXXFLAGS += -DHAVE_SWR_BUILTIN
+libmesaswr_la_LIBADD =
+if HAVE_SWR_AVX
+noinst_LTLIBRARIES += libswrAVX.la
+libmesaswr_la_LIBADD += libswrAVX.la
+endif
+if HAVE_SWR_AVX2
+noinst_LTLIBRARIES += libswrAVX2.la
+libmesaswr_la_LIBADD += libswrAVX2.la
+endif
+if HAVE_SWR_KNL
+noinst_LTLIBRARIES += libswrKNL.la
+libmesaswr_la_LIBADD += libswrKNL.la
+endif
+if HAVE_SWR_SKX
+noinst_LTLIBRARIES += libswrSKX.la
+libmesaswr_la_LIBADD += libswrSKX.la
+endif
+else # !HAVE_SWR_BUILTIN
+# gen_knobs.* included here to provide driver access to swr configuration
+libmesaswr_la_SOURCES += \
+ $(COMMON_CXX_SOURCES) \
+ rasterizer/codegen/gen_knobs.cpp \
+ rasterizer/codegen/gen_knobs.h
+if HAVE_SWR_AVX
+lib_LTLIBRARIES += libswrAVX.la
+endif
+if HAVE_SWR_AVX2
+lib_LTLIBRARIES += libswrAVX2.la
+endif
+if HAVE_SWR_KNL
+lib_LTLIBRARIES += libswrKNL.la
+endif
+if HAVE_SWR_SKX
+lib_LTLIBRARIES += libswrSKX.la
+endif
+endif
+
include $(top_srcdir)/install-gallium-links.mk
# Generated gen_builder.hpp is not backwards compatible. So ship only one