summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLionel Landwerlin <[email protected]>2019-03-17 16:57:48 +0000
committerLionel Landwerlin <[email protected]>2019-03-18 12:05:13 +0000
commit5abe488d185461261275cb2f957871a04e03dab8 (patch)
treec9b85f3f85f9c902cf8e2f80b2af8e9251abb4f2
parent791198a54b1182860e240d57f35cb02b1bcceca3 (diff)
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 <[email protected]> Fixes: 530927d3f6a303 ("vulkan/util: generate instance/device dispatch tables") Reviewed-by: Eric Engestrom <[email protected]>
-rw-r--r--src/vulkan/meson.build13
-rw-r--r--src/vulkan/overlay-layer/meson.build2
-rw-r--r--src/vulkan/util/meson.build8
-rw-r--r--src/vulkan/wsi/meson.build16
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,