檢查 Vulkan 轉譯狀態

如要在特定的提交指令之後查看轉譯狀態,請按一下「Commands」(指令) 窗格中的指令。「State」窗格可讓您使用以下項目檢查轉譯狀態。

替代文字

最後一個繫結佇列 (目前繫結的佇列)

LastBoundQueue 節點包含用於 vkQueueSubmit 的佇列資訊,藉此提交相關的指令。VulkanHandle 會用來尋找 LastDrawInfos 中目前算繪狀態的繪圖資訊。

替代文字

  1. VulkanHandle 會顯示上次使用的 VkQueue 值,這實際上是相關指令目前繫結的佇列。

  2. 目前轉譯狀態的資訊會儲存在 LastDrawInfos 中,並依 VkQueue 值建立索引。

上次繪製資訊 (目前轉譯狀態資訊)

LastDrawInfos 節點含有每個 VkQueue 的最後一個繪圖資訊,包含下列資訊:

  • Framebuffer 資訊
  • 算繪票證資訊
  • 已繫結的描述元集
  • 繫結頂點和索引緩衝區
  • 圖形管線
  • 繪製參數

繫結影格緩衝區

替代文字

  • Framebuffer 節點:顯示目前繫結的 framebuffer 的資訊。 每次 vkCmdBeginRenderPass 在同一個佇列上執行之後,這個節點都會更新。

  • Renderpass 節點:顯示用來建立影格緩衝區的轉譯傳遞資訊。請注意,這並非目前繫結的算繪傳遞。

  • ImageAttachments 節點:列出繫結至 framebuffer 的所有圖片附件 (VkImageViews)。清單的每個項目都會顯示圖片檢視的資訊。

  • 「Image」節點會顯示與圖片檢視畫面繫結的圖片資訊。

邊界算繪通道

替代文字

  • Renderpass 節點:顯示目前用於轉譯的轉譯通道資訊。每次在相同佇列上執行每個 VkCmdBeginRenderPass 後,這個例項都會更新。

  • AttachmentDescriptions 節點:列出目前使用中的轉譯通道所有 VkAttachmentDescription

  • SubpassDescriptions 節點:列出每個子類別的 VkSubpassDescription

  • SubpassDependencies 節點:列出每個子傳遞的 VkSubpassDependency

已繫結的描述元集

替代文字

  • DescriptorSet 節點:列出所有目前繫結的描述元集。繫結的描述元集清單反映最後一個 vkCmdBindDescriptorSets 發布到相同佇列之後的狀態,系統會覆寫原始描述元集資訊,或根據上次執行 vkCmdBindDescriptorSets 的參數新增資訊。

  • 繫結:節點會列出描述元集中目前繫結的所有描述元繫結。

    每個描述元繫結也會列出其繫結的描述元。

  • 「Layout」節點:顯示用於分配描述元集的 VkDescriptorSetLayout 資訊。

已繫結的圖形管線

替代文字

GraphicsPipeline 節點:包含最後一個繫結的圖形管道相關資訊。每次在目前佇列上執行每個 VkCmdBindPipeline 後,這個節點都會更新。

繫結緩衝區

替代文字

  • BoundVertexBuffers 節點會列出所有繫結的頂點緩衝區。針對每個繫結的頂點緩衝區,系統會顯示備份緩衝區的資訊。每次 vkCmdBindVertexBuffers 在同一個佇列上執行後,清單就會隨之更新。

  • BoundIndexBuffer 節點會顯示最後一個繫結的索引緩衝區,包括索引類型和備份緩衝區的資訊。

繪製指令參數

替代文字

CommandParameters 節點:包含 vkCmdDrawvkCmdDrawIndexedvkCmdDrawIndirectvkCmdDrawIndirectIndexed 的參數。每種繪圖指令都有對應的子節點,當中包含參數值。由於無法同時使用這四種繪圖指令,一次只能填入四個子節點的其中之一。在同一個佇列中執行四個繪圖指令之一之後,CommandParameters 的內容會更新。