vulkan: factor out wsi dependencies

In commit 530927d3f6 ("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: 530927d3f6 ("vulkan/util: generate instance/device dispatch tables")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
This commit is contained in:
Lionel Landwerlin 2019-03-17 16:57:48 +00:00
parent 791198a54b
commit 5abe488d18
4 changed files with 15 additions and 24 deletions

View 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

View 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],

View 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,
)

View File

@ -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,