From 5abe488d185461261275cb2f957871a04e03dab8 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Sun, 17 Mar 2019 16:57:48 +0000 Subject: [PATCH] vulkan: factor out wsi dependencies In commit 530927d3f6a303d9 ("vulkan/util: generate instance/device dispatch tables") we started generating instance dispatch tables some of them (like wayland) require external headers. This commit moves the dependencies up one level so that they apply the whole vulkan directory. We use them for both the util & overlay layer. Signed-off-by: Lionel Landwerlin Fixes: 530927d3f6a303 ("vulkan/util: generate instance/device dispatch tables") Reviewed-by: Eric Engestrom --- src/vulkan/meson.build | 13 +++++++++++++ src/vulkan/overlay-layer/meson.build | 2 +- src/vulkan/util/meson.build | 8 +------- src/vulkan/wsi/meson.build | 16 ---------------- 4 files changed, 15 insertions(+), 24 deletions(-) diff --git a/src/vulkan/meson.build b/src/vulkan/meson.build index a287c308ed2..3d4f80e2e39 100644 --- a/src/vulkan/meson.build +++ b/src/vulkan/meson.build @@ -24,22 +24,35 @@ inc_vulkan_util = include_directories('util') inc_vulkan_wsi = include_directories('wsi') vulkan_wsi_args = [] +vulkan_wsi_deps = [] vulkan_wsi_list = [] if with_platform_x11 vulkan_wsi_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR'] + vulkan_wsi_deps += [ + dep_xcb, + dep_x11_xcb, + dep_xcb_dri2, + dep_xcb_dri3, + dep_xcb_present, + dep_xcb_sync, + dep_xshmfence, + ] vulkan_wsi_list += ['xcb', 'x11'] endif if with_platform_wayland vulkan_wsi_args += ['-DVK_USE_PLATFORM_WAYLAND_KHR'] + vulkan_wsi_deps += dep_wayland_client vulkan_wsi_list += ['wayland'] endif if with_platform_drm vulkan_wsi_args += '-DVK_USE_PLATFORM_DISPLAY_KHR' + vulkan_wsi_deps += [dep_libdrm] vulkan_wsi_list += ['drm'] endif if with_xlib_lease vulkan_wsi_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT' + vulkan_wsi_deps += [dep_xcb_xrandr, dep_xlib_xrandr] vulkan_wsi_list += ['xlib_xrandr'] endif diff --git a/src/vulkan/overlay-layer/meson.build b/src/vulkan/overlay-layer/meson.build index ddca85fc7ca..3fd3a105b89 100644 --- a/src/vulkan/overlay-layer/meson.build +++ b/src/vulkan/overlay-layer/meson.build @@ -41,7 +41,7 @@ vklayer_mesa_overlay = shared_library( vklayer_files, overlay_spv, c_args : [c_vis_args, no_override_init_args, vulkan_wsi_args], cpp_args : [cpp_vis_args, vulkan_wsi_args], - dependencies : [libimgui_core_dep, dep_dl], + dependencies : [vulkan_wsi_deps, libimgui_core_dep, dep_dl], include_directories : [inc_common, inc_vulkan_util], link_args : cc.get_supported_link_arguments(['-Wl,-Bsymbolic-functions', '-Wl,-z,relro']), link_with : [libmesa_util, libvulkan_util], diff --git a/src/vulkan/util/meson.build b/src/vulkan/util/meson.build index 7679b2bdda8..1e15fcb8dda 100644 --- a/src/vulkan/util/meson.build +++ b/src/vulkan/util/meson.build @@ -36,17 +36,11 @@ vk_enum_to_str = custom_target( ], ) -vulkan_util_deps = [] - -if with_platform_wayland - vulkan_util_deps += dep_wayland_client -endif - libvulkan_util = static_library( 'vulkan_util', [files_vulkan_util, vk_enum_to_str], include_directories : inc_common, - dependencies : vulkan_util_deps, + dependencies : vulkan_wsi_deps, c_args : [c_vis_args, vulkan_wsi_args], build_by_default : false, ) diff --git a/src/vulkan/wsi/meson.build b/src/vulkan/wsi/meson.build index 37555da6be0..9adc4d47c5a 100644 --- a/src/vulkan/wsi/meson.build +++ b/src/vulkan/wsi/meson.build @@ -18,25 +18,13 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -vulkan_wsi_deps = [] - files_vulkan_wsi = files('wsi_common.c') if with_platform_x11 - vulkan_wsi_deps += [ - dep_xcb, - dep_x11_xcb, - dep_xcb_dri2, - dep_xcb_dri3, - dep_xcb_present, - dep_xcb_sync, - dep_xshmfence, - ] files_vulkan_wsi += files('wsi_common_x11.c') endif if with_platform_wayland - vulkan_wsi_deps += dep_wayland_client files_vulkan_wsi += files('wsi_common_wayland.c') files_vulkan_wsi += [ wayland_drm_client_protocol_h, @@ -50,10 +38,6 @@ if with_platform_drm files_vulkan_wsi += files('wsi_common_display.c') endif -if with_xlib_lease - vulkan_wsi_deps += [dep_xcb_xrandr, dep_xlib_xrandr] -endif - libvulkan_wsi = static_library( 'vulkan_wsi', files_vulkan_wsi, -- 2.30.2