Closed Bizzarrus closed 4 months ago
Proper description of the issue: Using Vulkan and NIS, when destroying the vulkan device with the verification layer enabled, the verification layer prints numerous errors about child objects still being alive.
Repro:
-vk -debug
from visual studio or similar (so you get the output log after the app closes)Fixed in v2.4.10 (c709dd9)
Hi :) I'm trying to integrate Streamline into our Vulkan renderer (currently only using NIS), and when shutting down the rendering engine, I get a lot of validation errors, saying that various objects have not been destroyed at the time the device itself was destroyed:
VUID-vkDestroyDevice-device-00378(ERROR / SPEC): msgNum: 1901072314 - Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x20386c803b0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x8a50150000001582, name = const buffer, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x20386c803b0[], VkBuffer 0x8a50150000001582[const buffer] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.3.211.0/windows/1.3-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378) Objects: 2 [0] 0x20386c803b0, type: 3, name: NULL [1] 0x8a50150000001582, type: 9, name: const buffer
I can track back, that these constant buffer(s) was allocated by Streamline (thanks to the name). There are also many messages about other objects (without any name), which I assume also come from Streamline, but I can't validate that for sure. This is not really a blocking issue for me, but it would be nice to fix it.