This fixes building on macOS:
Disable ZINK_USE_DMABUF on macOS, it is unsupported.
Import vk_mvk_moltenvk.h for MVK_VERSION in zink_resource.c.
Add additional build arguments (see meson.build) to build properly.
To build on macOS, you will probably need to run:
brew install bison llvm cmake libxext xquartz ninja xorgproto meson
And you also need to setup meson with something like:
-Dmoltenvk-dir=/Users/<Username>/VulkanSDK/<VersionNumber>/MoltenVK
-Dc_std=c11
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14255>
c_args += '-DVK_USE_PLATFORM_DISPLAY_KHR'
cpp_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'
+ #macOS seems to need beta extensions to build for now:
+ c_args += '-DVK_ENABLE_BETA_EXTENSIONS'
+ cpp_args += '-DVK_ENABLE_BETA_EXTENSIONS'
+endif
_egl = get_option('egl')
if _egl == 'true'
#include "util/os_file.h"
#include "frontend/sw_winsys.h"
-#ifndef _WIN32
+#if !defined(_WIN32) && !defined(__APPLE__)
#define ZINK_USE_DMABUF
#endif
#define DRM_FORMAT_MOD_LINEAR 0
#endif
+#if defined(__APPLE__)
+// Source of MVK_VERSION
+#include "MoltenVK/vk_mvk_moltenvk.h"
+#endif
static bool
equals_ivci(const void *a, const void *b)