4

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ようですが、そうではないようですどこにでも実装があるように。この機能は何らかの方法でアクセスできますか?

4

1 に答える 1

4

Vulkan はドライバーのオーバーヘッドを最小限に抑えて構築されているため、ドライバーの処理は最小限に抑えられ、そのような組み込み機能はありません。既存のオブジェクトに関する情報を取得する唯一の方法は、オブジェクトを自分で追跡するか、それを行うレイヤーを作成することです。

そのような機能を持つ既存のレイヤーはないようです。検証レイヤーを作成するには、既存のVulkan 検証レイヤーを参照することをお勧めします。

于 2016-03-04T15:30:01.997 に答える