为什么 Debug Utils Extension 需要交换链设备扩展?

Why does Debug Utils Extension requires swap chain device extension?

我想使用新的 VK_EXT_debug_utils。我已经在几个项目中做到了并且运行良好,但今天我发现 vkSetDebugUtilsObjectNameEXT 抛出 SIGSEGV。我花了很多时间试图找出新项目和旧项目之间的区别。通过盲目尝试,我发现在新项目中我在创建设备时没有指定 VK_KHR_SWAPCHAIN_EXTENSION_NAME (因为我不需要它)并且不知何故导致了崩溃。我在文档中搜索但找不到任何提及此行为的信息。我错过了什么重要的事情吗?

更新:Windows,问题也存在。

(已编辑:现已修复)我刚刚看到这个问题。我通过修改 Sascha Willems 的一个示例快速调查了它,并且能够重现它。这是 Vulkan 加载程序错误,而不是驱动程序错误。我创建了一个 Vulkan 加载程序错误 here 并解决了该问题。

如果您构建了自己的 Vulkan 加载器,您现在可以获得修复。否则,您将不得不等待我们的下一个 SDK 版本。

抱歉,非常感谢您看到这个。