4

每当 Vulkan 中的对象被销毁、VK_LAYER_LUNARG_object_tracker层启用并安装调试报告时,它将报告销毁调用并通过回调给出剩余对象的总数。例如:

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,但似乎没有就像他们在任何地方都有实现一样。这个功能是否可以访问?

4

1 回答 1

4

Vulkan 是用最少的驱动程序开销构建的,所以驱动程序做的尽可能少,并且没有这样的内置功能。获取有关现有对象的信息的唯一方法是自己跟踪对象或编写一个层来为您完成。

似乎没有任何现有的层,具有这样的功能。要编写验证层,您可能需要查看现有的Vulkan 验证层

于 2016-03-04T15:30:01.997 回答