Vulkan のレンダリング状態を確認する

送信した特定のコマンドの後にレンダリング状態を確認するには、[Commands] ペインでコマンドをクリックします。[State] ペインでは、次の項目を使用してレンダリング状態を調べることができます。

代替テキスト

最後にバインドされたキュー(現在バインドされているキュー)

LastBoundQueue ノードには、vkQueueSubmit で使用されたキューの情報が含まれています。これにより、該当するコマンドが送信されます。VulkanHandle は、LastDrawInfos の現在のレンダリング状態の描画情報を検索するために使用されます。

代替テキスト

  1. VulkanHandle は最後に使用された VkQueue の値を示します。これは実際には、送信されたコマンドに対して現在バインドされているキューです。

  2. 現在のレンダリング状態の情報は LastDrawInfos に保存され、VkQueue 値でインデックス化されます。

最終描画情報(現在のレンダリング状態情報)

LastDrawInfos ノードには、各 VkQueue の最後の描画の情報が含まれています。これには次の情報が含まれます。

  • フレームバッファ情報
  • レンダリングパス情報
  • バインドされた記述子セット
  • バインドされた頂点バッファとインデックス バッファ
  • グラフィック パイプライン
  • 描画パラメータ

バインドされたフレームバッファ

代替テキスト

  • フレームバッファ ノード: 現在バインドされているフレームバッファの情報を表示します。このノードは、各 vkCmdBeginRenderPass が同じキューで実行された後に更新されます。

  • Renderpass ノード: フレームバッファの作成に使用されるレンダリングパスの情報を表示します。これは、現在描画にバインドされているレンダリング パスではありません。

  • ImageAttachments ノード: フレームバッファにバインドされたすべての画像アタッチメント(VkImageViews)を一覧表示します。リストの各項目には、画像ビューの情報が表示されます。

  • Image ノードは、画像ビューにバインドされた画像の情報を表示します。

バインドされたレンダリング パス

代替テキスト

  • Renderpass ノード: 現在レンダリングに使用されているレンダーパスの情報を表示します。これは、各 VkCmdBeginRenderPass が同じキューで実行された後に更新されます。

  • AttachmentDescriptions ノード: 現在使用中のレンダリングパスのすべての VkAttachmentDescription をリストします。

  • SubpassDescriptions ノード: 各サブパスの VkSubpassDescription をリストします。

  • SubpassDependencies ノード: 各サブパスの VkSubpassDependency をリストします。

バインドされた記述子セット

代替テキスト

  • DescriptorSets ノード: 現在バインドされているすべての記述子セットをリストします。制限付き記述子セットのリストは、最後の vkCmdBindDescriptorSets が同じキューにロールアウトされた後の状態を反映します。元の記述子セット情報は上書きされるか、最後に実行された vkCmdBindDescriptorSets のパラメータに従って新しい情報が追加されます。

  • Bindings: ノードは現在、記述子セット内でバインドされているすべての記述子バインディングを一覧表示します。

    各記述子バインディングは、バインドされた記述子もリストします。

  • レイアウト ノード: 記述子セットの割り当てに使用される VkDescriptorSetLayout の情報を表示します。

バインドされたグラフィック パイプライン

代替テキスト

GraphicsPipeline ノード: 最後にバインドされたグラフィック パイプラインに関する情報が含まれます。このノードは、各 VkCmdBindPipeline が現在のキューで実行されるたびに更新されます。

バインドされたバッファ

代替テキスト

  • BoundVertexBuffers ノードは、バインドされたすべての頂点バッファを一覧表示します。バインドされた頂点バッファごとに、バッキング バッファの情報を表示します。各 vkCmdBindVertexBuffers が同じキューで実行されると、それに応じてリストが更新されます。

  • BoundIndexBuffer ノードは、インデックス タイプとバッキング バッファの情報など、最後にバインドされたインデックス バッファを表示します。

描画コマンド パラメータ

代替テキスト

CommandParameters ノード: vkCmdDrawvkCmdDrawIndexedvkCmdDrawIndirectvkCmdDrawIndirectIndexed のパラメータが含まれます。各タイプの描画コマンドに対応するサブノードにパラメータ値が格納されます。この 4 種類の描画コマンドは同時に使用できないため、一度に入力できるのは 4 つのサブノードのうち 1 つのみです。CommandParameters の内容は、4 つの描画コマンドのいずれかが同じキューで実行された後に更新されます。