Mesa (main): meson: Add and use an idep for Vulkan WSI

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Oct 13 00:36:58 UTC 2021


Module: Mesa
Branch: main
Commit: 916c9335b41fab51ec17b2bbb918de732461e426
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=916c9335b41fab51ec17b2bbb918de732461e426

Author: Jason Ekstrand <jason at jlekstrand.net>
Date:   Wed Oct  6 09:32:17 2021 -0500

meson: Add and use an idep for Vulkan WSI

Acked-by: Chia-I Wu <olvaffe at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13234>

---

 src/amd/vulkan/meson.build                 |  7 ++++---
 src/broadcom/vulkan/meson.build            |  6 +++---
 src/freedreno/vulkan/meson.build           |  5 +----
 src/gallium/drivers/zink/meson.build       |  7 +++++--
 src/gallium/frontends/lavapipe/meson.build |  5 ++---
 src/intel/vulkan/meson.build               | 29 +++++++++++++++++------------
 src/panfrost/vulkan/meson.build            |  5 ++---
 src/virtio/vulkan/meson.build              |  4 ++--
 src/vulkan/device-select-layer/meson.build |  7 +++++--
 src/vulkan/meson.build                     |  1 -
 src/vulkan/wsi/meson.build                 |  9 +++++++++
 11 files changed, 50 insertions(+), 35 deletions(-)

diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build
index a99f00fd2e7..2437d2bce7e 100644
--- a/src/amd/vulkan/meson.build
+++ b/src/amd/vulkan/meson.build
@@ -150,15 +150,16 @@ libvulkan_radeon = shared_library(
   [libradv_files, radv_entrypoints, sha1_h],
   vs_module_defs : vulkan_radv_def,
   include_directories : [
-    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_amd, inc_amd_common, inc_amd_common_llvm, inc_compiler, inc_util, inc_vulkan_wsi,
+    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_amd, inc_amd_common, inc_amd_common_llvm, inc_compiler, inc_util,
   ],
   link_with : [
-    libamd_common, libamd_common_llvm, libamdgpu_addrlib, libvulkan_wsi,
+    libamd_common, libamd_common_llvm, libamdgpu_addrlib,
   ],
   dependencies : [
     dep_llvm, dep_libdrm_amdgpu, dep_thread, dep_elf, dep_dl, dep_m,
     dep_valgrind, radv_deps, idep_aco,
-    idep_mesautil, idep_nir, idep_vulkan_util, idep_amdgfxregs_h, idep_xmlconfig,
+    idep_mesautil, idep_nir, idep_vulkan_util, idep_vulkan_wsi,
+    idep_amdgfxregs_h, idep_xmlconfig,
   ],
   c_args : [no_override_init_args, radv_flags, c_msvc_compat_args],
   cpp_args : [radv_flags, cpp_msvc_compat_args],
diff --git a/src/broadcom/vulkan/meson.build b/src/broadcom/vulkan/meson.build
index 1a01482372d..11995a7ccbd 100644
--- a/src/broadcom/vulkan/meson.build
+++ b/src/broadcom/vulkan/meson.build
@@ -85,6 +85,7 @@ v3dv_deps = [
   idep_nir,
   idep_nir_headers,
   idep_vulkan_util,
+  idep_vulkan_wsi,
 ]
 
 if with_platform_x11
@@ -109,7 +110,7 @@ foreach ver : v3d_versions
     [files_per_version, v3d_xml_pack, v3dv_entrypoints[0]],
     include_directories : [
       inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom,
-      inc_compiler, inc_util, inc_vulkan_wsi,
+      inc_compiler, inc_util,
     ],
     c_args : [v3dv_flags, '-DV3D_VERSION=' + ver],
     gnu_symbol_visibility : 'hidden',
@@ -121,12 +122,11 @@ libvulkan_broadcom = shared_library(
   'vulkan_broadcom',
   [libv3dv_files, v3dv_entrypoints, sha1_h],
   include_directories : [
-    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_broadcom, inc_compiler, inc_util, inc_vulkan_wsi,
+    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_broadcom, inc_compiler, inc_util,
   ],
   link_with : [
     libbroadcom_cle,
     libbroadcom_v3d,
-    libvulkan_wsi,
     per_version_libs,
   ],
   dependencies : v3dv_deps,
diff --git a/src/freedreno/vulkan/meson.build b/src/freedreno/vulkan/meson.build
index e1365eb828a..ec63bf5dbfa 100644
--- a/src/freedreno/vulkan/meson.build
+++ b/src/freedreno/vulkan/meson.build
@@ -56,7 +56,6 @@ libtu_files = files(
 
 tu_deps = []
 tu_flags = []
-tu_link_with = []
 
 tu_wsi = false
 
@@ -79,7 +78,6 @@ endif
 
 if tu_wsi
   libtu_files += 'tu_wsi.c'
-  tu_link_with += libvulkan_wsi
 endif
 
 if with_platform_android
@@ -129,11 +127,9 @@ libvulkan_freedreno = shared_library(
     inc_gallium,
     inc_gallium_aux,
     inc_compiler,
-    inc_vulkan_wsi,
     inc_freedreno,
   ],
   link_with : [
-    tu_link_with,
     libfreedreno_ir3,
     libfreedreno_layout,
     libfreedreno_perfcntrs,
@@ -148,6 +144,7 @@ libvulkan_freedreno = shared_library(
     idep_nir,
     tu_deps,
     idep_vulkan_util,
+    idep_vulkan_wsi,
     idep_mesautil,
   ],
   c_args : [no_override_init_args, tu_flags],
diff --git a/src/gallium/drivers/zink/meson.build b/src/gallium/drivers/zink/meson.build
index 8da0092bbce..9dafc4f9692 100644
--- a/src/gallium/drivers/zink/meson.build
+++ b/src/gallium/drivers/zink/meson.build
@@ -92,8 +92,11 @@ libzink = static_library(
   'zink',
   [files_libzink, zink_device_info, zink_instance, zink_nir_algebraic_c, vk_dispatch_table],
   gnu_symbol_visibility : 'hidden',
-  include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_vulkan_wsi, inc_vulkan_util, inc_zink_vk],
-  dependencies: [dep_vulkan, idep_nir_headers, idep_mesautil, idep_vulkan_util_headers, dep_libdrm],
+  include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_vulkan_util, inc_zink_vk],
+  dependencies: [
+    dep_vulkan, idep_nir_headers, idep_mesautil, idep_vulkan_util_headers,
+    idep_vulkan_wsi_headers, dep_libdrm
+  ],
   c_args: zink_c_args,
 )
 
diff --git a/src/gallium/frontends/lavapipe/meson.build b/src/gallium/frontends/lavapipe/meson.build
index 7bb9fe8df12..4fc38ff308e 100644
--- a/src/gallium/frontends/lavapipe/meson.build
+++ b/src/gallium/frontends/lavapipe/meson.build
@@ -58,9 +58,8 @@ endif
 liblavapipe_st = static_library(
   'lavapipe_st',
   [liblvp_files, lvp_entrypoints, lvp_commands, sha1_h],
-  link_with : [ libvulkan_wsi ],
   c_args : [ c_msvc_compat_args, lvp_flags ],
   gnu_symbol_visibility : 'hidden',
-  include_directories : [ inc_include, inc_src, inc_util, inc_gallium, inc_compiler, inc_gallium_aux, inc_vulkan_wsi ],
-  dependencies : [ idep_nir, idep_mesautil, idep_vulkan_util, lvp_deps ]
+  include_directories : [ inc_include, inc_src, inc_util, inc_gallium, inc_compiler, inc_gallium_aux ],
+  dependencies : [ idep_nir, idep_mesautil, idep_vulkan_util, idep_vulkan_wsi, lvp_deps ]
 )
diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build
index 90ff0a02329..ac385a61a94 100644
--- a/src/intel/vulkan/meson.build
+++ b/src/intel/vulkan/meson.build
@@ -67,7 +67,7 @@ foreach g : [['70', ['gfx7_cmd_buffer.c']], ['75', ['gfx7_cmd_buffer.c']],
     'anv_per_hw_ver at 0@'.format(_gfx_ver),
     [anv_per_hw_ver_files, g[1], anv_entrypoints[0]],
     include_directories : [
-      inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_compiler, inc_intel, inc_vulkan_wsi,
+      inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_compiler, inc_intel,
     ],
     c_args : [
       no_override_init_args, c_sse2_args,
@@ -75,7 +75,8 @@ foreach g : [['70', ['gfx7_cmd_buffer.c']], ['75', ['gfx7_cmd_buffer.c']],
     ],
     gnu_symbol_visibility : 'hidden',
     dependencies : [
-      dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml, idep_vulkan_util_headers,
+      dep_libdrm, dep_valgrind, idep_nir_headers, idep_genxml,
+      idep_vulkan_util_headers, idep_vulkan_wsi_headers,
     ],
   )
 endforeach
@@ -117,6 +118,7 @@ anv_deps = [
   idep_genxml,
   idep_nir_headers,
   idep_vulkan_util_headers,
+  idep_vulkan_wsi_headers,
 ]
 anv_flags = [
   no_override_init_args,
@@ -155,7 +157,7 @@ libanv_common = static_library(
   ],
   include_directories : [
     inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
-    inc_vulkan_wsi, inc_util,
+    inc_util,
   ],
   c_args : anv_flags,
   gnu_symbol_visibility : 'hidden',
@@ -166,16 +168,16 @@ libvulkan_intel = shared_library(
   'vulkan_intel',
   [files('anv_gem.c'), anv_entrypoints[0]],
   include_directories : [
-    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler, inc_vulkan_wsi,
+    inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
   ],
   link_whole : [libanv_common, libanv_per_hw_ver_libs],
   link_with : [
-    libintel_compiler, libintel_dev, libisl, libblorp, libvulkan_wsi,
-    libintel_perf,
+    libintel_compiler, libintel_dev, libisl, libblorp, libintel_perf,
   ],
   dependencies : [
     dep_thread, dep_dl, dep_m, anv_deps, idep_libintel_common,
-    idep_nir, idep_genxml, idep_vulkan_util, idep_mesautil, idep_xmlconfig,
+    idep_nir, idep_genxml, idep_vulkan_util, idep_vulkan_wsi,
+    idep_mesautil, idep_xmlconfig,
   ],
   c_args : anv_flags,
   gnu_symbol_visibility : 'hidden',
@@ -201,16 +203,16 @@ if with_tests
     'vulkan_intel_test',
     [files('anv_gem_stubs.c'), anv_entrypoints[0]],
     include_directories : [
-      inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler, inc_vulkan_wsi,
+      inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
     ],
     link_whole : libanv_common,
     link_with : [
       libanv_per_hw_ver_libs, libintel_compiler, libintel_common, libintel_dev,
-      libisl, libblorp, libvulkan_wsi, libintel_perf,
+      libisl, libblorp, libintel_perf,
     ],
     dependencies : [
       dep_thread, dep_dl, dep_m, anv_deps,
-      idep_nir, idep_vulkan_util, idep_mesautil,
+      idep_nir, idep_vulkan_util, idep_vulkan_wsi, idep_mesautil,
     ],
     c_args : anv_flags,
     gnu_symbol_visibility : 'hidden',
@@ -226,9 +228,12 @@ if with_tests
         ['tests/@0 at .c'.format(t), anv_entrypoints[0]],
         c_args : [ c_sse2_args ],
         link_with : libvulkan_intel_test,
-        dependencies : [dep_libdrm, dep_thread, dep_m, dep_valgrind, idep_vulkan_util, ],
+        dependencies : [
+          dep_libdrm, dep_thread, dep_m, dep_valgrind,
+          idep_vulkan_util, idep_vulkan_wsi_headers,
+        ],
         include_directories : [
-          inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler, inc_vulkan_wsi,
+          inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_intel, inc_compiler,
         ],
       ),
       suite : ['intel'],
diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build
index 07f2fca25fb..6d6514ad22c 100644
--- a/src/panfrost/vulkan/meson.build
+++ b/src/panfrost/vulkan/meson.build
@@ -80,13 +80,13 @@ foreach arch : ['5', '6', '7']
       inc_compiler,
       inc_gallium, # XXX: pipe/p_format.h
       inc_gallium_aux, # XXX: renderonly
-      inc_vulkan_wsi,
       inc_panfrost,
     ],
     dependencies : [
       idep_nir_headers,
       idep_pan_packers,
       idep_vulkan_util_headers,
+      idep_vulkan_wsi_headers,
       dep_libdrm,
       dep_valgrind,
     ],
@@ -113,12 +113,10 @@ libvulkan_panfrost = shared_library(
     inc_compiler,
     inc_gallium, # XXX: pipe/p_format.h
     inc_gallium_aux, # XXX: renderonly
-    inc_vulkan_wsi,
     inc_panfrost,
   ],
   link_whole : [panvk_per_arch_libs],
   link_with : [
-    libvulkan_wsi,
     libpanfrost_shared,
     libpanfrost_midgard,
     libpanfrost_bifrost,
@@ -137,6 +135,7 @@ libvulkan_panfrost = shared_library(
     idep_pan_packers,
     panvk_deps,
     idep_vulkan_util,
+    idep_vulkan_wsi,
     idep_mesautil,
   ],
   c_args : [no_override_init_args, panvk_flags],
diff --git a/src/virtio/vulkan/meson.build b/src/virtio/vulkan/meson.build
index 9ce40dfd883..3990dffdeae 100644
--- a/src/virtio/vulkan/meson.build
+++ b/src/virtio/vulkan/meson.build
@@ -56,6 +56,7 @@ vn_deps = [
   dep_thread,
   idep_mesautil,
   idep_vulkan_util,
+  idep_vulkan_wsi,
   idep_xmlconfig,
 ]
 
@@ -68,7 +69,6 @@ vn_libs = []
 if with_platform_wayland or with_platform_x11
   libvn_files += files('vn_wsi.c')
   vn_flags += '-DVN_USE_WSI_PLATFORM'
-  vn_libs += libvulkan_wsi
 endif
 
 if with_platform_wayland
@@ -90,7 +90,7 @@ libvulkan_virtio = shared_library(
   'vulkan_virtio',
   [libvn_files, vn_entrypoints, sha1_h],
   include_directories : [
-    inc_include, inc_src, inc_vulkan_wsi, inc_virtio,
+    inc_include, inc_src, inc_virtio,
   ],
   link_with : vn_libs,
   dependencies : [vn_deps],
diff --git a/src/vulkan/device-select-layer/meson.build b/src/vulkan/device-select-layer/meson.build
index 9b6747bf090..b0fc05bd79c 100644
--- a/src/vulkan/device-select-layer/meson.build
+++ b/src/vulkan/device-select-layer/meson.build
@@ -41,8 +41,11 @@ vklayer_mesa_device_select = shared_library(
   vklayer_files,
   c_args : [no_override_init_args, vklayer_flags],
   gnu_symbol_visibility : 'hidden',
-  dependencies : [idep_vulkan_util, idep_mesautil, vklayer_deps, dep_libdrm, dep_dl],
-  include_directories : [inc_include, inc_util, inc_src, inc_vulkan_wsi],
+  dependencies : [
+    idep_vulkan_util, idep_vulkan_wsi_headers, idep_mesautil, vklayer_deps,
+    dep_libdrm, dep_dl
+  ],
+  include_directories : [inc_include, inc_util, inc_src],
   link_args : cc.get_supported_link_arguments(['-Wl,-Bsymbolic-functions', '-Wl,-z,relro']),
   install : true
 )
diff --git a/src/vulkan/meson.build b/src/vulkan/meson.build
index f087804ffbe..65280502295 100644
--- a/src/vulkan/meson.build
+++ b/src/vulkan/meson.build
@@ -21,7 +21,6 @@
 vk_api_xml = files('registry/vk.xml')
 vulkan_icd_symbols = files('vulkan-icd-symbols.txt')
 
-inc_vulkan_wsi = include_directories('wsi')
 inc_vulkan_util = include_directories('util')
 
 vulkan_wsi_args = []
diff --git a/src/vulkan/wsi/meson.build b/src/vulkan/wsi/meson.build
index 6900b0d971a..3b3abf7b815 100644
--- a/src/vulkan/wsi/meson.build
+++ b/src/vulkan/wsi/meson.build
@@ -53,3 +53,12 @@ libvulkan_wsi = static_library(
   gnu_symbol_visibility : 'hidden',
   build_by_default : false,
 )
+
+idep_vulkan_wsi_headers = declare_dependency(
+  include_directories : include_directories('.')
+)
+
+idep_vulkan_wsi = declare_dependency(
+  link_with : libvulkan_wsi,
+  dependencies : idep_vulkan_wsi_headers
+)



More information about the mesa-commit mailing list