To check the render state after a specific submitted command, click the command in the Commands pane. The State pane lets you examine the render state using the following items.
Last bound queue (currently bound queue)
The LastBoundQueue node contains the information of the queue used for the
vkQueueSubmit, which submits the command in question. The
be used to find the drawing information of the current render state in
VulkanHandleshows the value of the last used
VkQueue, which is actually the currently bound queue for the submitted command in question.
The information of the current render state is stored in
LastDrawInfos, and indexed by the
Last draw infos (current render state info)
The LastDrawInfos node contains the information of the last drawing for each
VkQueue, and includes the following information:
- Framebuffer information
- Render pass information
- Bound descriptor sets
- Bound vertex and index buffers
- Graphics pipeline
- Drawing parameters
Framebuffer node: shows the info of the currently bound framebuffer. This node gets updated after each
vkCmdBeginRenderPassexecutes on the same queue.
Renderpass node: shows the info of the render pass used to create the framebuffer. Note that this is not the render pass currently bound for drawing.
ImageAttachments node: lists all the image attachments (
VkImageViews) bound to the framebuffer. Each item of the list shows the info of the image view.
Image node shows the info of the image bound to the image view.
Renderpass node: shows the info of the renderpass currently used for rendering. It gets updated after each
VkCmdBeginRenderPassexecutes on the same queue.
AttachmentDescriptions node: lists all the
VkAttachmentDescriptionof the current renderpass in use.
SubpassDescriptions node: lists the
VkSubpassDescriptionfor each subpass.
SubpassDependencies node: lists the
VkSubpassDependencyfor each subpass.
Bound descriptor sets
DescriptorSets node: lists all the currently bound descriptor sets. The list of bounded descriptor sets reflect the state after the last
vkCmdBindDescriptorSetsbeing rolled out on the same queue, and the original descriptor set info will be overwritten or new info will be added according to the parameters of the last executed
Bindings: node lists all the currently bound descriptor bindings in the descriptor set.
Each descriptor binding also lists its bound descriptors.
Layout node: shows the info of the
VkDescriptorSetLayoutused to allocate the descriptor set.
Bound graphics pipeline
GraphicsPipeline node: contains the info about the last bound graphics pipeline. This node gets updated after each
VkCmdBindPipeline executes on the current queue.
BoundVertexBuffers node lists all the bound vertex buffers. For each bound vertex buffer, it shows the info of the backing buffer. The list gets updated accordingly after each
vkCmdBindVertexBuffersexecutes on the same queue.
BoundIndexBuffernode shows the last bound index buffer, including the index type and the info of the backing buffer.
Draw Command Parameters
CommandParameters node: contains the parameters to
vkCmdDrawIndirectIndexed. For each type of drawing command, there is a corresponding sub-node to contains the parameter values. As these four types of drawining commands cannot be used at the same time, only one of the four sub-nodes can be populated at a time. The content of CommandParameters gets updated after any one of the four drawining commands being executed on the same queue.