设置ppEnabledExtensionNames会导致Vulkan崩溃

时间:2017-08-01 01:21:19

标签: c++ runtime-error vulkan

我试图通过vulkan-tutorial.com学习Vulkan,而且我被困在Validation Layer教程上。出于某种原因,将ppEnabledExtensionNames设置为任何std::vector' .data()会导致该计划崩溃。

问题在于debug.cpp

这是一个链接:https://pastebin.com/j7NTQsH0

如果有人可以查看代码并告诉我哪些错误,我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

您的问题是validationLayers的范围。它是initDebugging函数的本地函数,而您在createInfo中使用该函数中更新的initInstance(指向该局部向量),此时validationLayers createInfo->ppEnabledLayerNames 1}}向量超出范围,并且validationLayers指向的所有值也是如此。

要解决此问题,您需要复制或声明vkCreateInstance中的值,以便在您致电{{1}}时它们仍然有效。