Sprawdzanie stanu renderowania Vulkan

Aby sprawdzić stan renderowania po przesłaniu konkretnego polecenia, kliknij polecenie w panelu Polecenia. Panel Stan umożliwia sprawdzenie stanu renderowania za pomocą tych elementów:

tekst alternatywny

Ostatnia powiązana kolejka (obecnie powiązana kolejka)

Węzeł LastBoundQueue zawiera informacje o kolejce używanej przez vkQueueSubmit, która przesyła dane polecenie. Wartość VulkanHandle będzie używana do wyszukiwania informacji o rysowaniu bieżącego stanu renderowania w LastDrawInfos.

tekst alternatywny

  1. Symbol VulkanHandle pokazuje wartość ostatnio użytego VkQueue, czyli aktualnie powiązanej kolejki dla przesłanego polecenia.

  2. Informacje o bieżącym stanie renderowania są przechowywane w LastDrawInfos i indeksowane według wartości VkQueue.

Informacje o ostatnim rysowaniu (informacje o bieżącym stanie renderowania)

Węzeł LastDrawInfos zawiera informacje o ostatnim losowaniu dla każdego VkQueue i obejmuje te informacje:

  • Informacje o buforze ramki
  • Renderowanie informacji o karcie
  • Powiązane zestawy deskryptorów
  • Powiązane bufory wierzchołków i indeksów
  • Potok graficzny
  • Parametry rysowania

Bound Framebuffer

tekst alternatywny

  • Węzeł Framebuffer: wyświetla informacje o aktualnie powiązanym buforze ramki. Ten węzeł jest aktualizowany po każdym wykonaniu funkcji vkCmdBeginRenderPass w tej samej kolejce.

  • Węzeł Renderpass: wyświetla informacje o przekazywaniu renderowania używanym do tworzenia bufora ramki. Pamiętaj, że nie jest to obecnie powiązany z rysowaniem etap renderowania.

  • Węzeł ImageAttachments: zawiera listę wszystkich załączników obrazów (VkImageViews) powiązanych z buforem ramki. Każdy element listy zawiera informacje o widoku obrazu.

  • Węzeł Obraz zawiera informacje o obrazie powiązanym z widokiem obrazu.

Bound renderpass

tekst alternatywny

  • Węzeł Renderpass: wyświetla informacje o obecnie używanym do renderowania procesie renderowania. Jest aktualizowany po każdym wykonaniu funkcji VkCmdBeginRenderPass w tej samej kolejce.

  • Węzeł AttachmentDescriptions: zawiera listę wszystkich VkAttachmentDescription używanych w bieżącym renderpassie.

  • Węzeł SubpassDescriptions: zawiera listę VkSubpassDescription dla każdego podetapu.

  • Węzeł SubpassDependencies: zawiera listę VkSubpassDependency dla każdego podetapu.

Zestawy powiązanych deskryptorów

tekst alternatywny

  • Węzeł DescriptorSets: zawiera listę wszystkich obecnie powiązanych zestawów deskryptorów. Lista ograniczonych zestawów deskryptorów odzwierciedla stan po wdrożeniu ostatniego elementu vkCmdBindDescriptorSets w tej samej kolejce. Informacje o pierwotnym zestawie deskryptorów zostaną zastąpione lub dodane zgodnie z parametrami ostatniego wykonanego elementu vkCmdBindDescriptorSets.

  • Wiązania: węzeł zawiera listę wszystkich obecnie powiązanych wiązań deskryptora w zestawie deskryptorów.

    Każde powiązanie deskryptora zawiera też listę powiązanych deskryptorów.

  • Węzeł Layout: zawiera informacje o VkDescriptorSetLayout używanym do przydzielania zestawu deskryptorów.

Powiązany potok graficzny

tekst alternatywny

GraphicsPipeline node: zawiera informacje o ostatnim powiązanym potoku graficznym. Ten węzeł jest aktualizowany po każdym wykonaniu funkcji VkCmdBindPipeline w bieżącej kolejce.

Bound Buffers

tekst alternatywny

  • Węzeł BoundVertexBuffers zawiera listę wszystkich powiązanych buforów wierzchołków. W przypadku każdego powiązanego bufora wierzchołków wyświetla informacje o buforze zapasowym. Lista jest odpowiednio aktualizowana po każdym wykonaniu funkcji vkCmdBindVertexBuffers w tej samej kolejce.

  • Węzeł BoundIndexBuffer pokazuje ostatni powiązany bufor indeksu, w tym typ indeksu i informacje o buforze zapasowym.

Parametry polecenia rysowania

tekst alternatywny

Węzeł CommandParameters: zawiera parametry dla vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirectvkCmdDrawIndirectIndexed. Dla każdego typu polecenia rysowania istnieje odpowiedni węzeł podrzędny, który zawiera wartości parametrów. Ponieważ tych 4 rodzajów poleceń rysowania nie można używać jednocześnie, w danym momencie można wypełnić tylko jeden z 4 węzłów podrzędnych. Zawartość elementu CommandParameters jest aktualizowana po wykonaniu w tej samej kolejce jednego z 4 poleceń rysowania.