如需在提交特定命令后查看渲染状态,请点击命令窗格中的相应命令。在 State 窗格中,您可以使用以下各项检查渲染状态。
上次绑定队列(当前绑定的队列)
LastBoundQueue 节点包含用于提交相关命令的 vkQueueSubmit
的队列信息。VulkanHandle
将用于在 LastDrawInfos
中查找当前渲染状态的绘制信息。
VulkanHandle
会显示上次使用的VkQueue
的值,该值实际上是所提交相关命令的当前绑定队列。当前渲染状态的信息存储在
LastDrawInfos
中,并通过VkQueue
值编入索引。
上次绘制信息(当前渲染状态信息)
LastDrawInfos 节点包含每个 VkQueue
的最后一个绘图的信息,包含以下信息:
- 帧缓冲区信息
- 渲染通道信息
- 绑定的描述符集
- 绑定顶点和索引缓冲区
- 图形管道
- 绘制参数
绑定帧缓冲区
Framebuffer 节点:显示当前绑定的帧缓冲区的信息。 在同一队列上执行每个
vkCmdBeginRenderPass
后,此节点会更新。Renderpass 节点:显示用于创建帧缓冲区的渲染通道的信息。请注意,这不是当前用于绘制的渲染通道。
ImageAttachments 节点:列出绑定到帧缓冲区的所有图片附件 (
VkImageViews
)。列表中的每一项都会显示图片视图的信息。Image 节点显示绑定到图片视图的图片信息。
绑定的 renderpass
Renderpass 节点:显示当前用于渲染的 renderpass 的信息。该函数会在每个
VkCmdBeginRenderPass
在同一队列上执行后更新。AttachmentDescriptions 节点:列出当前正在使用的 renderpass 的所有
VkAttachmentDescription
。SubpassDescriptions 节点:列出每个子卡券的
VkSubpassDescription
。SubpassDependencies 节点:列出每个子卡券的
VkSubpassDependency
。
绑定的描述符集
DescriptorSets 节点:列出当前绑定的所有描述符集。有边界描述符集的列表反映了最后一个
vkCmdBindDescriptorSets
在同一队列中发布之后的状态,并且原始描述符集信息将被覆盖,或者系统将根据上次执行的vkCmdBindDescriptorSets
的参数添加新信息。绑定:节点会列出描述符集中所有当前绑定的描述符绑定。
每个描述符绑定还会列出其绑定的描述符。
Layout 节点:显示用于分配描述符集的
VkDescriptorSetLayout
的信息。
绑定图形管道
GraphicsPipeline
节点:包含有关上次绑定图形管道的信息。在当前队列上执行每个 VkCmdBindPipeline
后,此节点都会更新。
绑定缓冲区
BoundVertexBuffers 节点会列出所有绑定的顶点缓冲区。对于每个绑定顶点缓冲区,它会显示后备缓冲区的信息。对同一队列执行每个
vkCmdBindVertexBuffers
后,列表会相应地进行更新。BoundIndexBuffer
节点显示最后一个绑定索引缓冲区,包括索引类型和后备缓冲区的信息。
绘制命令参数
CommandParameters 节点:包含 vkCmdDraw
、vkCmdDrawIndexed
、vkCmdDrawIndirect
和 vkCmdDrawIndirectIndexed
的参数。对于每种类型的绘制命令,都有一个包含参数值的相应子节点。由于这四种绘制命令不能同时使用,因此一次只能填充四个子节点中的一个。在同一队列中执行四个绘制命令中的任意一个后,CommandParameters 的内容会更新。