Mesa (master): vulkan: factor out wsi dependencies

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Mar 18 12:19:42 UTC 2019


Module: Mesa
Branch: master
Commit: 5abe488d185461261275cb2f957871a04e03dab8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5abe488d185461261275cb2f957871a04e03dab8

Author: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Date:   Sun Mar 17 16:57:48 2019 +0000

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 <lionel.g.landwerlin at intel.com>
Fixes: 530927d3f6a303 ("vulkan/util: generate instance/device dispatch tables")
Reviewed-by: Eric Engestrom <eric at engestrom.ch>

---

 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,




More information about the mesa-commit mailing list