diff options
author | Emil Velikov <[email protected]> | 2016-11-27 00:25:28 +0000 |
---|---|---|
committer | Juan A. Suarez Romero <[email protected]> | 2017-05-31 22:32:03 +0200 |
commit | 60297c97cd297edaab9563dcd521c7a39b0e753b (patch) | |
tree | 0db8e0d40909f2f9d585ce1080fe456ba3f8a92b | |
parent | 4c0010e93cf24aa1a0ae87c912dfa469076a2cae (diff) |
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: [email protected]
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit acf3d2afab0571b74c0c0d1aee0f631b33fdc7da)
Signed-off-by: Juan A. Suarez Romero <[email protected]>
squashed with:
configure.ac: add xcb-fixes to the XCB DRI3 list
The XCB module is used by the VL targets. Thus omitting it can lead to
link-time errors due to unresolved symbols.
Other DRI3 users such as the Vulkan WSI and the dri3 loader helper do
not use an update region in their xcb_present_pixmap() call. We will
look into that at a later stage.
Fixes: acf3d2afab0 ("configure: check once for DRI3 dependencies")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101110
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 9a90d6a9d4ee1632aa357a2ac9be150e058e2c10)
Signed-off-by: Juan A. Suarez Romero <[email protected]>
squashed with:
configure.ac: s/xcb-fixes/xcb-xfixes/
Former is not a thing, even if I have a hacked xcb-fixes.pc on my system.
Thanks for spotting it Mark!
Fixes: 9a90d6a9d4e ("configure.ac: add xcb-fixes to the XCB DRI3 list")
Signed-off-by: Emil Velikov <[email protected]>
(cherry picked from commit 48cd1919ff1584c211ec7958864cac2e1cb347cf)
Signed-off-by: Juan A. Suarez Romero <[email protected]>
-rw-r--r-- | configure.ac | 25 | ||||
-rw-r--r-- | src/amd/vulkan/Makefile.am | 3 | ||||
-rw-r--r-- | src/gallium/auxiliary/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/omx/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/va/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/vdpau/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/state_trackers/xvmc/Makefile.am | 3 | ||||
-rw-r--r-- | src/gallium/targets/omx/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/va/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/vdpau/Makefile.am | 1 | ||||
-rw-r--r-- | src/gallium/targets/xvmc/Makefile.am | 1 | ||||
-rw-r--r-- | src/intel/Makefile.vulkan.am | 3 | ||||
-rw-r--r-- | src/vulkan/Makefile.am | 3 |
13 files changed, 22 insertions, 23 deletions
diff --git a/configure.ac b/configure.ac index 85da8305aeb..08513e106c9 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-xfixes 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) |