I’ve been making my way through the Vulkan tutorials, but I’m running into trouble trying to create a window surface as per this step. I’ve essentially copied and pasted the example code, so I’m mostly confident that it’s not a transcription issue on my part. I’m running macOS Catalina on a 2016 15’ MBP with an AMD GPU, and the latest stable Vulkan SDK version 1.2.148.0. Here is the code that throws the error:
if (glfwCreateWindowSurface(instance, window, nullptr, &surface) != VK_SUCCESS) {
throw std::runtime_error("failed to create window surface!");
}
Here is the terminal output:
2020-08-05 14:46:54.336613+0800 Server[25129:848558] Metal API Validation Enabled
2020-08-05 14:46:54.381875+0800 Server[25129:848972] flock failed to lock maps file: errno = 35
2020-08-05 14:46:54.383147+0800 Server[25129:848972] flock failed to lock maps file: errno = 35
validation layer: ReadDataFilesInSearchPaths: Searching the following paths for manifest files: /Users/myusername/Library/Developer/Xcode/DerivedData/mygame-aqamkhipllkgvfbgrniquerbvgsw/Build/Products/Debug/vulkan/implicit_layer.d:/etc/xdg/vulkan/implicit_layer.d:/tmp/macos-sdk-build/Vulkan-Loader/build/install/etc/vulkan/implicit_layer.d:/etc/vulkan/implicit_layer.d:/usr/local/share/vulkan/implicit_layer.d:/usr/share/vulkan/implicit_layer.d:/Users/myusername/.local/share/vulkan/implicit_layer.d
validation layer: ReadDataFilesInSearchPaths: Searching the following paths for manifest files: /Users/myusername/Library/Developer/Xcode/DerivedData/mygame-aqamkhipllkgvfbgrniquerbvgsw/Build/Products/Debug/vulkan/explicit_layer.d:/etc/xdg/vulkan/explicit_layer.d:/tmp/macos-sdk-build/Vulkan-Loader/build/install/etc/vulkan/explicit_layer.d:/etc/vulkan/explicit_layer.d:/usr/local/share/vulkan/explicit_layer.d:/usr/share/vulkan/explicit_layer.d:/Users/myusername/.local/share/vulkan/explicit_layer.d
validation layer: ReadDataFilesInSearchPaths: Searching the following paths for manifest files: /Users/myusername/Library/Developer/Xcode/DerivedData/mygame-aqamkhipllkgvfbgrniquerbvgsw/Build/Products/Debug/vulkan/icd.d:/etc/xdg/vulkan/icd.d:/tmp/macos-sdk-build/Vulkan-Loader/build/install/etc/vulkan/icd.d:/etc/vulkan/icd.d:/usr/local/share/vulkan/icd.d:/usr/share/vulkan/icd.d:/Users/myusername/.local/share/vulkan/icd.d
validation layer: Searching for ICD drivers named ../../../lib/libMoltenVK.dylib
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.25
validation layer: Instance Extension: VK_EXT_debug_report (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.9
validation layer: Instance Extension: VK_EXT_debug_utils (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2
validation layer: Instance Extension: VK_EXT_metal_surface (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_EXT_swapchain_colorspace (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4
validation layer: Instance Extension: VK_MVK_macos_surface (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2
validation layer: Instance Extension: VK_MVK_moltenvk (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.27
validation layer: Loading layer library /usr/local/share/vulkan/explicit_layer.d/../../../lib/libVkLayer_khronos_validation.dylib
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.25
validation layer: Instance Extension: VK_EXT_debug_report (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.9
validation layer: Instance Extension: VK_EXT_debug_utils (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2
validation layer: Instance Extension: VK_EXT_metal_surface (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.1
validation layer: Instance Extension: VK_EXT_swapchain_colorspace (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.4
validation layer: Instance Extension: VK_MVK_macos_surface (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.2
validation layer: Instance Extension: VK_MVK_moltenvk (/usr/local/share/vulkan/icd.d/../../../lib/libMoltenVK.dylib) version 0.0.27
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: failed to create window surface!
Program ended with exit code: 9