Why validation layer doesn't say me I forgot t

2019-07-20 04:21发布

I added VK_LAYER_LUNARG_standard_validation validation layers to my instance. Next I created a debug callback and other vulkan objects. For the test case the only object I'm clearing is the instance (because validation layers should report on instance destruction). And from all of the objects I have the layer reports only about VkDebugReportCallbackEXT:

validation layer: Debug Report callbacks not removed before DestroyInstance

Why it doesn't say me about VkSurfaceKHR and VkDevice (they are created for sure).

标签: vulkan
1条回答
Luminary・发光体
2楼-- · 2019-07-20 04:49

Some of it was fixed in head, but not yet released as SDK.

Other thing is that vkDestroyInstance related messages can only be reported through temporary debug report callback provided through pNext of vkCreateInstance. The reason is all the child objects must be destroyed before vkDestroyInstance, including your debug callback, so it is not usable during vkDestroyInstance.

So, also chain your VkDebugReportCallbackCreateInfoEXT to the pNext chain of vkCreateInstance.

查看更多
登录 后发表回答