diff --git a/meson.build b/meson.build index e19acb3993a..e8cd1b8f6fb 100644 --- a/meson.build +++ b/meson.build @@ -362,38 +362,28 @@ with_xlib_lease = get_option('xlib-lease') \ .require(with_platform_x11 and system_has_kms_drm, error_message : 'xlib-lease requires X11 and KMS/DRM support') \ .allowed() +vk_wsi_args = [] + if with_platform_wayland - c_args += '-DVK_USE_PLATFORM_WAYLAND_KHR' - #add this once aco and other places can build with it - #cpp_args += '-DVK_USE_PLATFORM_WAYLAND_KHR' + vk_wsi_args += '-DVK_USE_PLATFORM_WAYLAND_KHR' endif if with_platform_x11 and host_machine.system() != 'darwin' - c_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR'] - #add this once aco and other places can build with it - #cpp_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR'] + vk_wsi_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR'] endif if with_platform_windows - c_args += '-DVK_USE_PLATFORM_WIN32_KHR' - cpp_args += '-DVK_USE_PLATFORM_WIN32_KHR' + vk_wsi_args += '-DVK_USE_PLATFORM_WIN32_KHR' endif if with_platform_android - c_args += '-DVK_USE_PLATFORM_ANDROID_KHR' - cpp_args += '-DVK_USE_PLATFORM_ANDROID_KHR' + vk_wsi_args += '-DVK_USE_PLATFORM_ANDROID_KHR' endif if with_xlib_lease - c_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT' - #add this once aco and other places can build with it - #cpp_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT' + vk_wsi_args += '-DVK_USE_PLATFORM_XLIB_XRANDR_EXT' endif if system_has_kms_drm and not with_platform_android - c_args += '-DVK_USE_PLATFORM_DISPLAY_KHR' - cpp_args += '-DVK_USE_PLATFORM_DISPLAY_KHR' + vk_wsi_args += '-DVK_USE_PLATFORM_DISPLAY_KHR' endif if host_machine.system() == 'darwin' - c_args += '-DVK_USE_PLATFORM_MACOS_MVK' - cpp_args += '-DVK_USE_PLATFORM_MACOS_MVK' - c_args += '-DVK_USE_PLATFORM_METAL_EXT' - cpp_args += '-DVK_USE_PLATFORM_METAL_EXT' + vk_wsi_args += ['-DVK_USE_PLATFORM_MACOS_MVK', '-DVK_USE_PLATFORM_METAL_EXT'] endif with_egl = get_option('egl') \ diff --git a/src/amd/vulkan/meson.build b/src/amd/vulkan/meson.build index c1f4ee4f08f..2ffd6c578f6 100644 --- a/src/amd/vulkan/meson.build +++ b/src/amd/vulkan/meson.build @@ -196,7 +196,7 @@ libvulkan_radeon = shared_library( idep_vulkan_runtime, idep_amdgfxregs_h, idep_xmlconfig, idep_vulkan_common_entrypoints_h, idep_vulkan_wsi_entrypoints_h ], - c_args : [no_override_init_args, radv_flags, c_msvc_compat_args], + c_args : [no_override_init_args, vk_wsi_args, radv_flags, c_msvc_compat_args], cpp_args : [radv_flags, cpp_msvc_compat_args], link_args : [ ld_args_build_id, ld_args_bsymbolic, ld_args_gc_sections, libvulkan_radeon_ld_args, diff --git a/src/egl/meson.build b/src/egl/meson.build index 948dcd90670..01fccf9912c 100644 --- a/src/egl/meson.build +++ b/src/egl/meson.build @@ -106,6 +106,10 @@ if with_dri2 'drivers/dri2/platform_device.c', 'drivers/dri2/platform_surfaceless.c', ) + + c_args_for_egl += vk_wsi_args + cpp_args_for_egl += vk_wsi_args + if with_platform_x11 files_egl += files('drivers/dri2/platform_x11.c') if with_dri3 diff --git a/src/freedreno/vulkan/meson.build b/src/freedreno/vulkan/meson.build index 421c2ffca49..34534bc9621 100644 --- a/src/freedreno/vulkan/meson.build +++ b/src/freedreno/vulkan/meson.build @@ -127,7 +127,7 @@ libvulkan_freedreno = shared_library( idep_vulkan_wsi, idep_mesautil, ], - c_args : [no_override_init_args, tu_flags], + c_args : [no_override_init_args, tu_flags, vk_wsi_args], gnu_symbol_visibility : 'hidden', link_args : [ld_args_bsymbolic, ld_args_gc_sections, ld_args_build_id], install : true, diff --git a/src/gallium/drivers/zink/meson.build b/src/gallium/drivers/zink/meson.build index e054f5a23d1..5f9d4e55002 100644 --- a/src/gallium/drivers/zink/meson.build +++ b/src/gallium/drivers/zink/meson.build @@ -100,7 +100,7 @@ libzink = static_library( idep_nir_headers, idep_mesautil, idep_vulkan_util_headers, idep_vulkan_wsi_headers, idep_vulkan_util, dep_libdrm ], - c_args: zink_c_args, + c_args: [zink_c_args, vk_wsi_args], ) driver_zink = declare_dependency( diff --git a/src/gallium/frontends/dri/meson.build b/src/gallium/frontends/dri/meson.build index 47dcdfd295b..04aafb2f378 100644 --- a/src/gallium/frontends/dri/meson.build +++ b/src/gallium/frontends/dri/meson.build @@ -51,6 +51,7 @@ if with_gallium_zink and not with_platform_android libdri_c_args += '-DKOPPER_LIB_NAMES="libEGL and libGLX"' endif files_libdri += files('kopper.c') + libdri_c_args += vk_wsi_args endif if with_gallium_softpipe diff --git a/src/gallium/frontends/lavapipe/meson.build b/src/gallium/frontends/lavapipe/meson.build index 8215cf0dacb..2ed4abfe4b6 100644 --- a/src/gallium/frontends/lavapipe/meson.build +++ b/src/gallium/frontends/lavapipe/meson.build @@ -42,7 +42,7 @@ endif liblavapipe_st = static_library( 'lavapipe_st', [liblvp_files, lvp_entrypoints, sha1_h], - c_args : [ c_msvc_compat_args, lvp_flags ], + c_args : [ c_msvc_compat_args, lvp_flags, vk_wsi_args], gnu_symbol_visibility : 'hidden', include_directories : [ inc_include, inc_src, inc_util, inc_gallium, inc_compiler, inc_gallium_aux ], dependencies : [ dep_llvm, idep_nir, idep_mesautil, idep_vulkan_util, idep_vulkan_wsi, diff --git a/src/gallium/frontends/wgl/meson.build b/src/gallium/frontends/wgl/meson.build index 5c39bf32a8d..5423c5872a6 100644 --- a/src/gallium/frontends/wgl/meson.build +++ b/src/gallium/frontends/wgl/meson.build @@ -25,6 +25,10 @@ if not with_shared_glapi _c_args_wgl += '-D_GLAPI_NO_EXPORTS' endif +if with_gallium_zink + _c_args_wgl += vk_wsi_args +endif + files_libwgl = files( 'stw_context.c', 'stw_device.c', diff --git a/src/glx/meson.build b/src/glx/meson.build index 20f04742894..60ae7d436fc 100644 --- a/src/glx/meson.build +++ b/src/glx/meson.build @@ -128,6 +128,7 @@ libglx = static_library( include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_glapi, inc_loader], c_args : [ '-DGL_LIB_NAME="lib@0@.so.@1@"'.format(gl_lib_name, gl_lib_version.split('.')[0]), + vk_wsi_args ], gnu_symbol_visibility : 'hidden', link_with : [ diff --git a/src/imagination/vulkan/meson.build b/src/imagination/vulkan/meson.build index ba4538239fe..3e39b155593 100644 --- a/src/imagination/vulkan/meson.build +++ b/src/imagination/vulkan/meson.build @@ -83,6 +83,7 @@ pvr_deps = [ pvr_flags = [ no_override_init_args, + vk_wsi_args, ] if with_imagination_srv diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build index 1886ea0904a..a27e5db40ac 100644 --- a/src/intel/vulkan/meson.build +++ b/src/intel/vulkan/meson.build @@ -25,6 +25,7 @@ inc_anv = include_directories('.') anv_flags = [ no_override_init_args, c_sse2_args, + vk_wsi_args, ] anv_cpp_flags = [] diff --git a/src/intel/vulkan_hasvk/meson.build b/src/intel/vulkan_hasvk/meson.build index 0d53080a2f0..fbcfbb0a355 100644 --- a/src/intel/vulkan_hasvk/meson.build +++ b/src/intel/vulkan_hasvk/meson.build @@ -139,6 +139,7 @@ anv_deps = [ anv_flags = [ no_override_init_args, c_sse2_args, + vk_wsi_args, ] anv_cpp_flags = [] diff --git a/src/microsoft/vulkan/meson.build b/src/microsoft/vulkan/meson.build index 998f0d06b15..64d8c2f1856 100644 --- a/src/microsoft/vulkan/meson.build +++ b/src/microsoft/vulkan/meson.build @@ -85,7 +85,7 @@ libvulkan_dzn = shared_library( inc_compiler, inc_util ], dependencies : [dzn_deps, idep_vulkan_wsi, idep_xmlconfig], - c_args : dzn_flags, + c_args : [dzn_flags, vk_wsi_args], cpp_args : dzn_cpp_flags, gnu_symbol_visibility : 'hidden', link_args : [ld_args_bsymbolic, ld_args_gc_sections], diff --git a/src/panfrost/vulkan/meson.build b/src/panfrost/vulkan/meson.build index 8d7cc5e2b11..8629627f8c8 100644 --- a/src/panfrost/vulkan/meson.build +++ b/src/panfrost/vulkan/meson.build @@ -134,7 +134,7 @@ libvulkan_panfrost = shared_library( idep_vulkan_wsi, idep_mesautil, ], - c_args : [no_override_init_args, panvk_flags], + c_args : [no_override_init_args, panvk_flags, vk_wsi_args], link_args : [ld_args_bsymbolic, ld_args_gc_sections], install : true, ) diff --git a/src/virtio/vulkan/meson.build b/src/virtio/vulkan/meson.build index 3f9456a146b..e360e80cd73 100644 --- a/src/virtio/vulkan/meson.build +++ b/src/virtio/vulkan/meson.build @@ -82,6 +82,7 @@ vn_deps = [ vn_flags = [ no_override_init_args, + vk_wsi_args, ] vn_libs = [] diff --git a/src/vulkan/device-select-layer/meson.build b/src/vulkan/device-select-layer/meson.build index 4a2228eedfc..257b8708adf 100644 --- a/src/vulkan/device-select-layer/meson.build +++ b/src/vulkan/device-select-layer/meson.build @@ -39,7 +39,7 @@ endif vklayer_mesa_device_select = shared_library( 'VkLayer_MESA_device_select', vklayer_files, - c_args : [no_override_init_args, vklayer_flags], + c_args : [no_override_init_args, vklayer_flags, vk_wsi_args], gnu_symbol_visibility : 'hidden', dependencies : [ idep_vulkan_util, idep_vulkan_wsi_headers, idep_mesautil, vklayer_deps, diff --git a/src/vulkan/runtime/meson.build b/src/vulkan/runtime/meson.build index c5a0b42d205..e992a844c47 100644 --- a/src/vulkan/runtime/meson.build +++ b/src/vulkan/runtime/meson.build @@ -189,7 +189,7 @@ libvulkan_runtime = static_library( dependencies : vulkan_runtime_deps, # For glsl_type_singleton link_with : libcompiler, - c_args : [c_msvc_compat_args], + c_args : [c_msvc_compat_args, vk_wsi_args], gnu_symbol_visibility : 'hidden', build_by_default : false, ) diff --git a/src/vulkan/wsi/meson.build b/src/vulkan/wsi/meson.build index a79e3a34789..cca907999ba 100644 --- a/src/vulkan/wsi/meson.build +++ b/src/vulkan/wsi/meson.build @@ -60,6 +60,8 @@ wsi_entrypoints = custom_target( libvulkan_wsi = static_library( 'vulkan_wsi', [files_vulkan_wsi, wsi_entrypoints], + c_args: [vk_wsi_args], + cpp_args: [vk_wsi_args], include_directories : [inc_include, inc_src, inc_gallium], dependencies : [ vulkan_wsi_deps, dep_libdrm, dep_libudev, idep_vulkan_util_headers,