[Mesa-dev] [PATCH mesa] vulkan: EXT_acquire_xlib_display requires libXrandr headers to build
Keith Packard
keithp at keithp.com
Tue Jun 19 23:06:14 UTC 2018
When VK_USE_PLATFORM_XLIB_XRANDR_EXT is defined, vulkan.h includes
X11/extensions/Xrandr.h for the RROutput typedef which is used in
the vkGetRandROutputDisplayEXT interface.
Make sure we have the required header by checking during the build,
and also set CFLAGS to point at the right directory.
We don't need to link against the library as we don't use any
functions from there, so don't add the _LIBS value in the autotools
build.
Signed-off-by: Keith Packard <keithp at keithp.com>
---
configure.ac | 2 ++
meson.build | 2 ++
src/amd/vulkan/Makefile.am | 3 ++-
src/amd/vulkan/meson.build | 2 +-
src/intel/Makefile.vulkan.am | 3 ++-
src/intel/vulkan/meson.build | 2 +-
src/vulkan/Makefile.am | 2 ++
src/vulkan/wsi/meson.build | 2 +-
8 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index 06524107786..e4320e8da7a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1877,6 +1877,8 @@ fi
if test x"$have_xlease" = xyes; then
randr_modules="x11-xcb xcb-randr"
PKG_CHECK_MODULES([XCB_RANDR], [$randr_modules])
+ xlib_randr_modules="xrandr"
+ PKG_CHECK_MODULES([XLIB_RANDR], [$xlib_randr_modules])
fi
AM_CONDITIONAL(HAVE_PLATFORM_X11, echo "$platforms" | grep -q 'x11')
diff --git a/meson.build b/meson.build
index ce54393fded..82279aad26c 100644
--- a/meson.build
+++ b/meson.build
@@ -1301,6 +1301,7 @@ dep_xcb_sync = null_dep
dep_xcb_xfixes = null_dep
dep_xshmfence = null_dep
dep_xcb_xrandr = null_dep
+dep_xlib_xrandr = null_dep
if with_platform_x11
if with_glx == 'xlib' or with_glx == 'gallium-xlib'
dep_x11 = dependency('x11')
@@ -1349,6 +1350,7 @@ if with_platform_x11
endif
if with_xlib_lease
dep_xcb_xrandr = dependency('xcb-randr', version : '>= 1.12')
+ dep_xlib_xrandr = dependency('xrandr', version : '>= 1.3')
endif
endif
diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am
index 8279fe4a81f..f9d3622f744 100644
--- a/src/amd/vulkan/Makefile.am
+++ b/src/amd/vulkan/Makefile.am
@@ -90,7 +90,8 @@ endif
if HAVE_XLIB_LEASE
AM_CPPFLAGS += \
-DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
- $(XCB_RANDR_CFLAGS)
+ $(XCB_RANDR_CFLAGS) \
+ $(XLIB_RANDR_CFLAGS)
VULKAN_LIB_DEPS += $(XCB_RANDR_LIBS)
endif
diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build
index bcdf83e0609..22857926fa1 100644
--- a/src/amd/vulkan/meson.build
+++ b/src/amd/vulkan/meson.build
@@ -121,7 +121,7 @@ if with_platform_drm
endif
if with_xlib_lease
- radv_deps += dep_xcb_xrandr
+ radv_deps += [dep_xcb_xrandr, dep_xlib_xrandr]
radv_flags += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT'
endif
diff --git a/src/intel/Makefile.vulkan.am b/src/intel/Makefile.vulkan.am
index ae625695814..4a80c3ae412 100644
--- a/src/intel/Makefile.vulkan.am
+++ b/src/intel/Makefile.vulkan.am
@@ -202,7 +202,8 @@ endif
if HAVE_XLIB_LEASE
VULKAN_CPPFLAGS += \
-DVK_USE_PLATFORM_XLIB_XRANDR_EXT \
- $(XCB_RANDR_CFLAGS)
+ $(XCB_RANDR_CFLAGS) \
+ $(XLIB_RANDR_CFLAGS)
VULKAN_LIB_DEPS += $(XCB_RANDR_LIBS)
endif
diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
index 4b0652f757b..e427c7471f4 100644
--- a/src/intel/vulkan/meson.build
+++ b/src/intel/vulkan/meson.build
@@ -170,7 +170,7 @@ if with_platform_drm
endif
if with_xlib_lease
- anv_deps += dep_xcb_xrandr
+ anv_deps += [dep_xcb_xrandr, dep_xlib_xrandr]
anv_flags += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT'
endif
diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am
index 9deb6e18ff0..ce1a79d0c48 100644
--- a/src/vulkan/Makefile.am
+++ b/src/vulkan/Makefile.am
@@ -63,6 +63,8 @@ endif
if HAVE_XLIB_LEASE
AM_CPPFLAGS += \
+ $(XCB_RANDR_CFLAGS) \
+ $(XLIB_RANDR_CFLAGS) \
-DVK_USE_PLATFORM_XLIB_XRANDR_EXT
endif
diff --git a/src/vulkan/wsi/meson.build b/src/vulkan/wsi/meson.build
index 3501a864e18..d073b23dc25 100644
--- a/src/vulkan/wsi/meson.build
+++ b/src/vulkan/wsi/meson.build
@@ -68,7 +68,7 @@ if with_platform_drm
endif
if with_xlib_lease
- vulkan_wsi_deps += dep_xcb_xrandr
+ vulkan_wsi_deps += [dep_xcb_xrandr, dep_xlib_xrandr]
vulkan_wsi_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT'
endif
--
2.17.1
More information about the mesa-dev
mailing list