[Mesa-dev] [PATCH mesa] vulkan: EXT_acquire_xlib_display requires libXrandr headers to build

Eric Engestrom eric.engestrom at intel.com
Wed Jun 20 17:16:24 UTC 2018


On Tuesday, 2018-06-19 16:06:14 -0700, Keith Packard wrote:
> 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>

Fixes: dbac8e25f851ed44c51f "radv: Add EXT_acquire_xlib_display to radv driver [v2]"
Reviewed-by: Eric Engestrom <eric.engestrom at intel.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
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list