From acf3d2afab0571b74c0c0d1aee0f631b33fdc7da Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 27 Nov 2016 00:25:28 +0000 Subject: [PATCH] configure: check once for DRI3 dependencies Currently we are having the XCB_DRI3 dependencies duplicated, partially. Just do a once-off check and add all of the respective CFLAGS/LIBS where needed. As a nice side effect this helps us solve a couple of FIXMEs. DRI3 is not a thing w/o X11 so disable it in such cases. Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Emil Velikov Reviewed-by: Eric Engestrom --- configure.ac | 25 +++++++------------- src/amd/vulkan/Makefile.am | 3 +-- src/gallium/auxiliary/Makefile.am | 1 + src/gallium/state_trackers/omx/Makefile.am | 1 + src/gallium/state_trackers/va/Makefile.am | 1 + src/gallium/state_trackers/vdpau/Makefile.am | 1 + src/gallium/state_trackers/xvmc/Makefile.am | 3 ++- src/gallium/targets/omx/Makefile.am | 1 + src/gallium/targets/va/Makefile.am | 1 + src/gallium/targets/vdpau/Makefile.am | 1 + src/gallium/targets/xvmc/Makefile.am | 1 + src/intel/Makefile.vulkan.am | 3 +-- src/vulkan/Makefile.am | 3 +-- 13 files changed, 22 insertions(+), 23 deletions(-) diff --git a/configure.ac b/configure.ac index e6dcea73293..14f0c6e3c80 100644 --- a/configure.ac +++ b/configure.ac @@ -1536,15 +1536,10 @@ xdri) PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED" + if test x"$enable_dri" = xyes; then dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED" fi - - if test x"$enable_dri3" = xyes; then - PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED])) - dri3_modules="xcb xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" - PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules]) - fi fi if test x"$dri_platform" = xapple ; then DEFINES="$DEFINES -DGLX_USE_APPLEGL" @@ -1725,6 +1720,13 @@ if test "x$enable_glx" != xno; then fi fi +if test x"$enable_dri3" = xyes; then + DEFINES="$DEFINES -DHAVE_DRI3" + + dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" + PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules]) +fi + AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11') AM_CONDITIONAL(HAVE_PLATFORM_WAYLAND, echo "$platforms" | grep -q 'wayland') AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm') @@ -1773,10 +1775,6 @@ if test "x$enable_dri" = xyes; then # Platform specific settings and drivers to build case "$host_os" in linux*) - if test "x$enable_dri3" = xyes; then - DEFINES="$DEFINES -DHAVE_DRI3" - fi - case "$host_cpu" in powerpc* | sparc*) # Build only the drivers for cards that exist on PowerPC/sparc @@ -2088,12 +2086,7 @@ if test "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ "x$enable_omx" = xyes -o \ "x$enable_va" = xyes; then - if test x"$enable_dri3" = xyes; then - PKG_CHECK_MODULES([VL], [xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED - xcb-xfixes x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) - else - PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) - fi + PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) need_gallium_vl_winsys=yes fi AM_CONDITIONAL(NEED_GALLIUM_VL_WINSYS, test "x$need_gallium_vl_winsys" = xyes) diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am index fbd9f5a0305..88af9102a3b 100644 --- a/src/amd/vulkan/Makefile.am +++ b/src/amd/vulkan/Makefile.am @@ -70,8 +70,7 @@ AM_CPPFLAGS += \ VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES) -# FIXME: Use pkg-config for X11-xcb ldflags. -VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb +VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) endif diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am index dc4bd4a40cf..e25e31b89ea 100644 --- a/src/gallium/auxiliary/Makefile.am +++ b/src/gallium/auxiliary/Makefile.am @@ -72,6 +72,7 @@ if NEED_GALLIUM_VL COMMON_VL_CFLAGS = \ $(AM_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(DRI2PROTO_CFLAGS) \ $(LIBDRM_CFLAGS) diff --git a/src/gallium/state_trackers/omx/Makefile.am b/src/gallium/state_trackers/omx/Makefile.am index d68746cecbd..e2d9ec72dc6 100644 --- a/src/gallium/state_trackers/omx/Makefile.am +++ b/src/gallium/state_trackers/omx/Makefile.am @@ -27,6 +27,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(OMX_CFLAGS) noinst_LTLIBRARIES = libomxtracker.la diff --git a/src/gallium/state_trackers/va/Makefile.am b/src/gallium/state_trackers/va/Makefile.am index a70eede5374..917839167bf 100644 --- a/src/gallium/state_trackers/va/Makefile.am +++ b/src/gallium/state_trackers/va/Makefile.am @@ -27,6 +27,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(VA_CFLAGS) \ -DVA_DRIVER_INIT_FUNC="__vaDriverInit_$(VA_MAJOR)_$(VA_MINOR)" diff --git a/src/gallium/state_trackers/vdpau/Makefile.am b/src/gallium/state_trackers/vdpau/Makefile.am index d7fd68b3dc6..e91b055177f 100644 --- a/src/gallium/state_trackers/vdpau/Makefile.am +++ b/src/gallium/state_trackers/vdpau/Makefile.am @@ -30,6 +30,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(VDPAU_CFLAGS) AM_CPPFLAGS = \ -I$(top_srcdir)/include \ diff --git a/src/gallium/state_trackers/xvmc/Makefile.am b/src/gallium/state_trackers/xvmc/Makefile.am index 3c7c35c8c37..398eaf6b698 100644 --- a/src/gallium/state_trackers/xvmc/Makefile.am +++ b/src/gallium/state_trackers/xvmc/Makefile.am @@ -27,6 +27,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(XVMC_CFLAGS) noinst_LTLIBRARIES = libxvmctracker.la @@ -45,7 +46,7 @@ noinst_PROGRAMS = \ noinst_HEADERS = tests/testlib.h -TEST_LIBS = $(XVMC_LIBS) -lXvMCW $(VL_LIBS) +TEST_LIBS = $(XVMC_LIBS) -lXvMCW $(VL_LIBS) $(XCB_DRI3_LIBS) tests_test_context_SOURCES = tests/test_context.c tests/testlib.c tests_test_context_LDADD = $(TEST_LIBS) tests_test_surface_SOURCES = tests/test_surface.c tests/testlib.c diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am index 29ba242b362..5912241b38d 100644 --- a/src/gallium/targets/omx/Makefile.am +++ b/src/gallium/targets/omx/Makefile.am @@ -30,6 +30,7 @@ libomx_mesa_la_LIBADD = \ $(top_builddir)/src/util/libmesautil.la \ $(OMX_LIBS) \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am index afaa85bf9a9..f8616406ada 100644 --- a/src/gallium/targets/va/Makefile.am +++ b/src/gallium/targets/va/Makefile.am @@ -30,6 +30,7 @@ gallium_drv_video_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am index cd7ef982aac..26340f114a1 100644 --- a/src/gallium/targets/vdpau/Makefile.am +++ b/src/gallium/targets/vdpau/Makefile.am @@ -35,6 +35,7 @@ libvdpau_gallium_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am index e29dd6a5cad..6937850adb9 100644 --- a/src/gallium/targets/xvmc/Makefile.am +++ b/src/gallium/targets/xvmc/Makefile.am @@ -30,6 +30,7 @@ libXvMCgallium_la_LIBADD = \ $(top_builddir)/src/util/libmesautil.la \ $(XVMC_LIBS) \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am index ba6ab4fc93f..ceea6b83278 100644 --- a/src/intel/Makefile.vulkan.am +++ b/src/intel/Makefile.vulkan.am @@ -121,8 +121,7 @@ VULKAN_CPPFLAGS += \ VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES) -# FIXME: Use pkg-config for X11-xcb ldflags. -VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb +VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) endif diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am index bd66901255d..c48245c22c9 100644 --- a/src/vulkan/Makefile.am +++ b/src/vulkan/Makefile.am @@ -44,8 +44,7 @@ AM_CPPFLAGS += \ VULKAN_WSI_SOURCES += $(VULKAN_WSI_X11_FILES) -# FIXME: Use pkg-config for X11-xcb ldflags. -VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb +VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) endif BUILT_SOURCES += $(VULKAN_WSI_WAYLAND_GENERATED_FILES) -- 2.30.2