About Social Code
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoasakurajin <dev@noasakurajin.de>2022-11-04 16:39:10 +0000
committerMarge Bot <emma+marge@anholt.net>2022-11-22 19:04:13 +0000
commit8b8d14f9066560d305b8df8244b57f11cd2697e7 (patch)
treeda4ce03692097a6e3d304b9769795e08046489dc
parente244b0f8b20a136182cfbd9f4360d90882c14799 (diff)
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 <eric@igalia.com> Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19531>
-rw-r--r--.github/workflows/macos.yml3
-rw-r--r--src/gallium/drivers/zink/meson.build13
2 files changed, 12 insertions, 4 deletions
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index 5db4ee82ec1..d1b66ef4cad 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 f7fc960df6d..a1c0c2562b8 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(