Cómo verificar el estado de renderización de Vulkan

Para verificar el estado de renderización después de un comando enviado específico, haz clic en el comando que aparece en el panel Comandos. El panel State (Estado) te permite examinar el estado de renderización con los siguientes elementos.

texto alternativo

Última cola vinculada (cola vinculada actualmente)

El nodo LastBoundQueue contiene la información de la cola usada para vkQueueSubmit, que envía el comando en cuestión. VulkanHandle se usará para encontrar la información del dibujo del estado de renderización actual en LastDrawInfos.

texto alternativo

  1. VulkanHandle muestra el valor del último VkQueue usado, que en realidad es la cola vinculada actualmente para el comando enviado en cuestión.

  2. La información del estado de renderización actual se almacena en LastDrawInfos y se indexa mediante el valor VkQueue.

Información del último dibujo (información del estado de renderización actual)

El nodo LastDrawInfos contiene la información del último dibujo de cada VkQueue y también incluye la siguiente información:

  • Información del búfer de fotogramas
  • Información de la transferencia de procesamiento
  • Conjuntos de descriptores vinculados
  • Búferes de índice y vértice vinculados
  • Canalización de gráficos
  • Parámetros de dibujo

Búfer de fotogramas vinculado

texto alternativo

  • Nodo FrameBuffer: Muestra la información del búfer de fotogramas actualmente vinculado. Este nodo se actualiza después de que cada vkCmdBeginRenderPass se ejecuta en la misma cola.

  • Nodo Renderpass: Muestra la información del pase de renderización que se usa para crear el búfer de fotogramas. Ten en cuenta que este no es el pase de renderización que se vincula actualmente para el dibujo.

  • Nodo ImageAttachments: Enumera todos los archivos adjuntos de imágenes (VkImageViews) vinculados al búfer de fotogramas. Cada elemento de la lista muestra información de la vista de imagen.

  • El nodo Image muestra la información de la imagen vinculada a la vista de imagen.

Renderpass vinculado

texto alternativo

  • Nodo Renderpass: Muestra la información del renderpass que se usa actualmente para la renderización. Se actualiza después de que cada VkCmdBeginRenderPass se ejecuta en la misma cola.

  • Nodo AttachmentDescriptions: enumera todos los VkAttachmentDescription del renderpass actual en uso.

  • Nodo SubpassDescriptions: enumera el VkSubpassDescription para cada pase secundario.

  • Nodo SubpassDependencies: Muestra el VkSubpassDependency de cada pase secundario.

Conjuntos de descriptores vinculados

texto alternativo

  • Nodo DescriptorSets: enumera todos los conjuntos de descriptores vinculados actualmente. La lista de conjuntos de descriptores limitados refleja el estado después del último vkCmdBindDescriptorSets que se lanza en la misma cola, y la información del conjunto de descriptores original se reemplazará o se agregará de acuerdo con los parámetros de la última vkCmdBindDescriptorSets ejecutada.

  • Vinculaciones: El nodo enumera todas las vinculaciones de descriptores vinculadas actualmente en el conjunto descriptor.

    Cada vinculación de descriptor también enumera sus descriptores vinculados.

  • Nodo Layout: Muestra la información de VkDescriptorSetLayout que se usa para asignar el conjunto de descriptores.

Canalización de gráficos vinculados

texto alternativo

Nodo GraphicsPipeline: Contiene la información sobre la última canalización de gráficos vinculada. Este nodo se actualiza después de que cada VkCmdBindPipeline se ejecuta en la cola actual.

Búferes vinculados

texto alternativo

  • El nodo BoundVertexBuffers enumera todos los búferes de Vertex vinculados. Muestra la información del búfer de respaldo para cada búfer de vértice vinculado. La lista se actualiza en consecuencia después de que cada vkCmdBindVertexBuffers se ejecuta en la misma cola.

  • El nodo BoundIndexBuffer muestra el último búfer de índice vinculado, incluidos el tipo de índice y la información del búfer de copia de seguridad.

Parámetros del comando de dibujo

texto alternativo

Nodo CommandParameters: Contiene los parámetros de vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect y vkCmdDrawIndirectIndexed. Para cada tipo de comando de dibujo, hay un subnodo correspondiente que contiene los valores del parámetro. Como estos cuatro tipos de comandos de dibujo no se pueden usar al mismo tiempo, solo se puede propagar uno de los cuatro subnodos a la vez. El contenido de CommandParameters se actualiza después de que se ejecuta cualquiera de los cuatro comandos de dibujo en la misma cola.