嗨,我在编译时出错了。显然我错过了一个分机:
验证层:验证错误:VkDeviceCreateInfo pProperties -04451对象0:句柄= 0x1055040c0,type = VK_OBJECT_TYPE_PHYSICAL_DEVICE;MessageID = 0x3a3b6ca0 vkCreateDevice: VK_KHR_portability_subset必须启用,因为物理设备VkPhysicalDevice 0x1055040c0[]支持它:如果VK_KHR_portability_subset扩展包含在pProperties of vkEnumerateDeviceExtensionProperties中,ppEnabledExtensions必须包含"VK_KHR_portability_subset“。(https://vulkan.lunarg.com/doc/view/1.2.176.1/mac/1.2-extensions/vkspec.html#VUID-VkDeviceCreateInfo-pProperties-04451)
我天真地将其添加到deviceExtension向量"VK_KHR_portability_subset“中,然后得到了与前一个类似的第二个错误。
验证层:验证错误: VUID-vkCreateDevice-ppEnabledExtensionNames-01387对象0: VK_NULL_HANDLE,type = VK_OBJECT_TYPE_INSTANCE;{
MessageID = 0x12537a2c }缺少设备扩展VK_KHR_portability_subset: VK_KHR_get_physical_device_properties2所需的扩展。Vulkan规范声明: VkDeviceCreateInfo::ppEnabledExtensionNames列表中每个扩展所需的所有扩展都必须存在于该列表(https://vulkan.lunarg.com/doc/view/1.2.176.1/mac/1.2-extensions/vkspec.html#VUID-vkCreateDevice-ppEnabledExtensionNames-01387)中。
我在deviceExtension向量"VK_KHR_get_physical_device_properties2“中添加了第三个错误:
libc++abi:终止异常类型std::runtime_error:未能找到合适的GPU!
事情是,以前他认识到我在使用m1芯片,但现在设备上没有任何信息显示:
发布于 2021-08-05 19:58:05
i添加到deviceExtension向量"VK_KHR_get_physical_device_properties2“中
VK_KHR_get_physical_device_properties2是一个实例扩展,因此属于vkCreateInstance (而不是设备)。
据报道这解决了你的问题。
发布于 2022-03-07 01:20:01
我在同一台设备上遇到了同样的信息,在一些研究表明这不是错误,只是一个警告。如果你真的不需要处理这个特殊情况,你可以忽略它。
https://stackoverflow.com/questions/68127785
复制相似问题