使用验证层打印到stdout的错误,但没有回调

时间:2016-10-21 14:44:46

标签: vulkan

我已经关注了this tutorial,在设置验证图层时,作者说we have to setup debug callbacks因此可以在标准输出中打印日志。

我没有设置它们但是应用程序在我的终端中打印了各种错误消息:例如Swapchain(ERROR): object 0x1cdd2d0 type: 1 location: 292 msgCode: 3: VkDestroyInstance() called before all of its associated VkSurfaceKHRs were destroyed,省略了对vkDestroySurfaceKHR的调用。

我使用VK_LAYER_LUNARG_standard_validation,没有特定的扩展名(只有VK_KHR_surfaceVK_KHR_xcb_surface)。

这是预期的行为吗?

1 个答案:

答案 0 :(得分:5)

验证层的默认日志记录行为在6月1日左右被更改回来,因为人们希望邮件转到stdout而不必提供回调或将vk_layer_settings.txt放在应用程序的目录中。教程网站可能已经过时了。

如果这是不需要的行为,更改它的最简单方法是获取vk_layer_settings.txt的副本(在SDK中附带)并编辑它以将行为更改为您想要的行为,然后将其置于当前的行为中应用程序启动时的目录。

作为替代方案,您还可以编写调试回调代码。

有关详细信息,请参阅LunarXchange website上的图层文档。