我已经关注了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_surface
和VK_KHR_xcb_surface
)。
这是预期的行为吗?
答案 0 :(得分:5)
验证层的默认日志记录行为在6月1日左右被更改回来,因为人们希望邮件转到stdout而不必提供回调或将vk_layer_settings.txt放在应用程序的目录中。教程网站可能已经过时了。
如果这是不需要的行为,更改它的最简单方法是获取vk_layer_settings.txt的副本(在SDK中附带)并编辑它以将行为更改为您想要的行为,然后将其置于当前的行为中应用程序启动时的目录。
作为替代方案,您还可以编写调试回调代码。
有关详细信息,请参阅LunarXchange website上的图层文档。