每当Vulkan中的对象被销毁,并且VK_LAYER_LUNARG_object_tracker
图层被启用,并且安装了调试报告时,它将报告destroy调用并通过回调给出剩余的对象总数。例如:
INFO: [OBJTRACK]: OBJ_STAT Destroy VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT obj 0xcf43130 (217 total objs remain & 1 VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT objs).
有没有办法获取有关仍然分配的对象的信息?
修改:
检查object_tracker层(https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/blob/master/layers/object_tracker.h)的来源,似乎有objTrackGetObjectsOfTypeCount
的原型,但它们看起来似乎没有任何实现。这个功能是否可以访问?
答案 0 :(得分:3)
Vulkan是以最小的驱动程序开销构建的,因此驱动程序尽可能少地执行,并且没有这样的内置功能。 获取有关现有对象的信息的唯一方法是自己跟踪对象或编写一个图层来为您完成。
似乎没有任何现有的图层,这种功能。 要编写验证图层,您可能需要查看现有的Vulkan validation layers。