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).
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 throughpNext
ofvkCreateInstance
. The reason is all the child objects must be destroyed beforevkDestroyInstance
, including your debug callback, so it is not usable duringvkDestroyInstance
.So, also chain your
VkDebugReportCallbackCreateInfoEXT
to thepNext
chain ofvkCreateInstance
.