我试图通过vulkan-tutorial.com学习Vulkan,而且我被困在Validation Layer教程上。出于某种原因,将ppEnabledExtensionNames
设置为任何std::vector
' .data()
会导致该计划崩溃。
问题在于debug.cpp
这是一个链接:https://pastebin.com/j7NTQsH0
如果有人可以请查看代码并告诉我哪些错误,我们将不胜感激。
答案 0 :(得分:2)
您的问题是validationLayers
的范围。它是initDebugging
函数的本地函数,而您在createInfo
中使用该函数中更新的initInstance
(指向该局部向量),此时validationLayers
createInfo->ppEnabledLayerNames
1}}向量超出范围,并且validationLayers
指向的所有值也是如此。
要解决此问题,您需要复制或声明vkCreateInstance
中的值,以便在您致电{{1}}时它们仍然有效。