gpt4 book ai didi

Vulkan错误vkCreateDevice : VK_ERROR_EXTENSION_NOT_PRESENT

转载 作者:行者123 更新时间:2023-12-02 01:45:22 43 4
gpt4 key购买 nike

我从 Vulkan 开始,并遵循 YouTube 上的 Niko Kauppi 教程。

我使用 vkCreateDevice 创 build 备时出错,它返回 VK_ERROR_EXTENSION_NOT_PRESENT

这是我的代码的一部分:

  1. 调用 vkCreateDevice

    _gpu_count = 0;
    vkEnumeratePhysicalDevices(instance, &_gpu_count, nullptr);
    std::vector<VkPhysicalDevice> gpu_list(_gpu_count);
    vkEnumeratePhysicalDevices(instance, &_gpu_count, gpu_list.data());
    _gpu = gpu_list[0];

    vkGetPhysicalDeviceProperties(_gpu, &_gpu_properties);

    VkDeviceCreateInfo device_create_info = _CreateDeviceInfo();

    vulkanCheckError(vkCreateDevice(_gpu, &device_create_info, nullptr, &_device));

_gpu_count = 1 和 _gpu_properties 似乎可以很好地识别我的 nvidia gpu(不是最新的)

  • device_create_info

    VkDeviceCreateInfo _createDeviceInfo;

    _createDeviceInfo.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
    _createDeviceInfo.queueCreateInfoCount = 1;
    VkDeviceQueueCreateInfo _queueInfo = _CreateDeviceQueueInfo();
    _createDeviceInfo.pQueueCreateInfos = &_queueInfo;
  • 我不明白错误的含义:根据 Khronos 文档,“不支持请求的扩展”。

    感谢您的帮助

    最佳答案

    当驱动程序不支持您提供的 [enabledExtensionCount, ppEnabledExtensionNames] 向量中的扩展之一时,将返回

    VK_ERROR_EXTENSION_NOT_PRESENT(如查询)通过vkEnumerateDeviceExtensionProperties())。

    扩展也可以具有依赖项,因此当列表中的扩展的扩展依赖项也缺失时,也会返回 VK_ERROR_EXTENSION_NOT_PRESENT

    如果您不需要设备扩展,请确保 VkDeviceCreateInfoenabledExtensionCount0(而不是某些未初始化的值)。

    我假设 2. 是 _CreateDeviceInfo() 的整体,这将证实“未初始化值”的怀疑。

    通常,您希望交换链扩展能够直接渲染到屏幕。

    关于Vulkan错误vkCreateDevice : VK_ERROR_EXTENSION_NOT_PRESENT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39829464/

    43 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com