我正在通过IO匹配"IOPCIDevice"搜索GPU信息,并且应该很高兴获得有关Metal的信息,即是否支持(我仍然支持几年前的MacPro(。我看到Metal 2有一个名为registryID的新属性,我试图匹配IOIteratorNext,但它没有。我使用的代码与 @rsharma 在这里描述的代码相同(功劳归 @trojanfoe(,只需稍作修改。 所以我的问题是:如何使用注册表ID来确保是相同的图形卡?
附言我已经有一系列使用 MTLCopyAllDevices 支持 Metal 的 i/GPU。
给定注册表项 ID,可以使用IORegistryEntryIDMatching()
创建匹配的字典。然后,将其传递给IOServiceGetMatchingService()
(假设只有一个(或IOServiceGetMatchingServices()
来检索对象。