vulkan: factor out wsi dependencies
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Sun, 17 Mar 2019 16:57:48 +0000 (16:57 +0000)
committerLionel Landwerlin <lionel.g.landwerlin@intel.com>
Mon, 18 Mar 2019 12:05:13 +0000 (12:05 +0000)
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@intel.com>
Fixes: 530927d3f6a303 ("vulkan/util: generate instance/device dispatch tables")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
src/vulkan/meson.build
src/vulkan/overlay-layer/meson.build
src/vulkan/util/meson.build
src/vulkan/wsi/meson.build

index a287c308ed20a0b4f3237bba87d176a2d4344f5f..3d4f80e2e39a32c5c5492c4bf11c3afcb7008826 100644 (file)
@@ -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
 
index ddca85fc7cad774e90da62e37616ce9e0e2bf96f..3fd3a105b895d341406965a3f623edfb7646fc62 100644 (file)
@@ -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],
index 7679b2bdda8a6a610adf26575ab60bf7ba9f8650..1e15fcb8dda6aea57dd2994441ff6199005af137 100644 (file)
@@ -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,
 )
index 37555da6be030c4399ed13b0a6939013c109c973..9adc4d47c5a528075d10a32ad72cfc9f271bce61 100644 (file)
 # 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,