From 8b8d14f9066560d305b8df8244b57f11cd2697e7 Mon Sep 17 00:00:00 2001 From: noasakurajin Date: Fri, 4 Nov 2022 16:39:10 +0000 Subject: [PATCH] add zink to macos ci This commit causes zink to be build in the macos ci on every commit. In addition to that meson will now error if there is no moltenvk-dir given on macos since the build would fail anyways. Reviewed-by: Eric Engestrom Reviewed-by: Erik Faye-Lund Part-of: --- .github/workflows/macos.yml | 3 ++- src/gallium/drivers/zink/meson.build | 13 ++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 5db4ee82ec13b..d1b66ef4cadd6 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -26,6 +26,7 @@ jobs: brew "libxcb" brew "libxdamage" brew "libxext" + brew "molten-vk" brew "ninja" brew "pkg-config" brew "python@3.10" @@ -41,7 +42,7 @@ jobs: [binaries] llvm-config = '/usr/local/opt/llvm/bin/llvm-config' EOL - $MESON_EXEC . build --native-file=native_config -Dbuild-tests=true -Dosmesa=true -Dgallium-drivers=swrast -Dglx=${{ matrix.glx_option }} + $MESON_EXEC . build --native-file=native_config -Dmoltenvk-dir=$(brew --prefix molten-vk) -Dbuild-tests=true -Dosmesa=true -Dgallium-drivers=swrast,zink -Dglx=${{ matrix.glx_option }} - name: Build run: $MESON_EXEC compile -C build - name: Test diff --git a/src/gallium/drivers/zink/meson.build b/src/gallium/drivers/zink/meson.build index f7fc960df6d7a..a1c0c2562b8ff 100644 --- a/src/gallium/drivers/zink/meson.build +++ b/src/gallium/drivers/zink/meson.build @@ -76,11 +76,18 @@ zink_nir_algebraic_c = custom_target( zink_c_args = [] inc_zink_vk = [] -# MoltenVK options -if with_moltenvk_dir != '' - inc_zink_vk = [inc_zink_vk, include_directories( join_paths(with_moltenvk_dir, 'include') )] +if host_machine.system() == 'darwin' + + # MoltenVK options + if with_moltenvk_dir != '' + inc_zink_vk += include_directories(join_paths(with_moltenvk_dir, 'include')) + else + error('moltenvk-dir is required but not set.') + endif + zink_c_args += ['-x','objective-c'] # Put compiler into objective-C mode to allow for MacOS types, like IOSurface and CAMetalLayer zink_c_args += ['-iframework' , 'Foundation'] + endif libzink = static_library(