我正尝试在我的mac OS (使用我的Intel HD Graphics 5000 1536 Mo)上使用Vulkan API。但是当我使用VkCreateInstance(...)创建一个实例时
VkCreateInstance(...)的结果是VK_ERROR_INCOMPATIBLE_DRIVER。
下面是初始化我的VkInstance的代码:
VkApplicationInfo vkAppInfo = {};
vkAppInfo.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
vkAppInfo.pApplicationName = "S2Engine";
vkAppInfo.applicationVersion = VK_MAKE_VERSION(1, 0, 0);
vkAppInfo.pEngineName = "No Engine"; //TODO plus tard
vkAppInfo.engineVersion = VK_MAKE_VERSION(1, 0, 0);
vkAppInfo.apiVersion = VK_API_VERSION_1_0;
//Obligatoire
VkInstanceCreateInfo vkInstanceCreateInfo = {};
vkInstanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
vkInstanceCreateInfo.pApplicationInfo = &vkAppInfo;
uint32_t glfwExtensionCount = 0;
const char** glfwExtensions ;
glfwExtensions = glfwGetRequiredInstanceExtensions(&glfwExtensionCount);
vkInstanceCreateInfo.enabledExtensionCount = glfwExtensionCount;
vkInstanceCreateInfo.ppEnabledExtensionNames = glfwExtensions;
vkInstanceCreateInfo.enabledLayerCount = 0;
if (vkCreateInstance(&vkInstanceCreateInfo, nullptr /*custom allocator*/, &_vkInstance) != VK_SUCCESS) {
throw std::runtime_error("failed to create instance!");
}所以我的问题是,vulkan API在我的Mac和MoltenVK上是否可用?如果是,我可以做些什么来使我的应用程序正常工作?
发布于 2019-11-07 17:08:52
这里是vulkan论坛的答案,希望它能对其他试图在Mac OS上使用Vulkan进行开发的人有所帮助:
你可以查看link的硬件支持--快速浏览一下,我没有看到你的图形处理器在那里。然而,如果你在macOS上(而不是在硬件上运行不同的操作系统),你不能直接访问Vulkan,因为操作系统不支持它。您可以使用MoltenVK (它是Vulkan SDK的一部分,因此您可能已经拥有它),这是一个将Vulkan API调用转换为相应的Metal API调用的转换层。
发布于 2021-01-19 14:39:00
我遇到了同样的问题,我通过在SDK中运行以下命令解决了它:
sudo ./install_vulkan.py --force-installhttps://stackoverflow.com/questions/58732459
复制相似问题