您好,我在编译时遇到错误。显然我缺少一个扩展:
验证层:验证错误:[VUID-VkDeviceCreateInfo-pProperties-04451]对象0:句柄= 0x1055040c0,类型= VK_OBJECT_TYPE_PHYSICAL_DEVICE;| 消息 ID = 0x3a3b6ca0 | vkCreateDevice:必须启用 VK_KHR_portability_subset,因为物理设备 VkPhysicalDevice 0x1055040c0[] 支持它 Vulkan 规范规定:如果 [VK_KHR_portability_subset] 扩展包含在 vkEnumerateDeviceExtensionProperties 的 pProperties 中,则 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,类型= VK_OBJECT_TYPE_INSTANCE;| 消息 ID = 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 芯片,但现在设备上没有显示任何信息:(