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(