0

我正在尝试在我的 mac OS 上使用 Vulkan API(使用我的 Intel HD Graphics 5000 1536 Mo)。但是当我创建一个实例时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 在我的带有 MoltenVK 的 Mac OS 上可用吗?如果是,我该怎么做才能使我的应用程序正常工作?

4

2 回答 2

0

我遇到了同样的问题,我通过在 SDK 中运行这个命令解决了这个问题:

sudo ./install_vulkan.py --force-install
于 2021-01-19T06:39:00.147 回答
0

这是来自 vulkan 论坛的答案,希望它对尝试在 Mac OS 上使用 Vulkan 进行开发的其他人有所帮助:

您可以查看硬件支持链接- 快速浏览一下,我看不到您的 GPU。但是,如果您在 macOS 上(而不是在硬件上运行不同的操作系统),您将无法直接访问 Vulkan,因为操作系统不支持它。您可以使用 MoltenVK(它是 Vulkan SDK 的一部分,因此您可能已经拥有它),这是一个将 Vulkan API 调用转换为相应 Metal API 调用的翻译层。

于 2019-11-07T09:08:51.700 回答