vkEnumeratePhysicalDevices 如何检索有关系统配置的信息?

Posted

技术标签:

【中文标题】vkEnumeratePhysicalDevices 如何检索有关系统配置的信息?【英文标题】:How does vkEnumeratePhysicalDevices retrieve information about the system configuration? 【发布时间】:2020-05-24 01:08:07 【问题描述】:

我最近在 linux 上安装了一个新的 Nvidia 专有驱动程序,一切正常,除了现在 Vulkan 报告说有两个显卡具有相同的驱动程序版本、相同的名称、相同的队列系列等等,虽然我只有一个单显卡安装。我现在真的很好奇为什么会这样。我尝试在https://github.com/KhronosGroup/Vulkan-Loader 上查看 Vulkan 加载程序的实现,但我无法理解它。

【问题讨论】:

【参考方案1】:

Linux 上的 ICD 发现根据本文档工作:https://github.com/KhronosGroup/Vulkan-Loader/blob/master/loader/LoaderAndLayerInterface.md#icd-discovery-on-linux

在预定路径中基本上可以有json 文件。一个这样的 json 文件包含驱动程序文件的路径。

此外,驱动程序可以报告更多物理设备。加载器只需调用每个驱动程序的vkEnumeratePhysicalDevices 并将结果汇​​集在一起​​。

您的问题可能是重复的 json 文件。您可能同时安装了专有驱动程序和免费驱动程序。

【讨论】:

以上是关于vkEnumeratePhysicalDevices 如何检索有关系统配置的信息?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 vulkan 在集成显卡和 GPU 的系统中报告单个设备?