Vulkan 렌더링 상태 확인

제출된 특정 명령어 뒤의 렌더링 상태를 확인하려면 명령어에서 명령어를 클릭합니다. State 창에서는 다음 항목을 사용하여 렌더링 상태를 검사할 수 있습니다.

대체 텍스트

마지막으로 바인딩된 큐 (현재 바인딩된 큐)

LastBoundQueue 노드에는 문제의 명령어를 제출하는 vkQueueSubmit에 사용되는 큐의 정보가 포함됩니다. VulkanHandleLastDrawInfos에서 현재 렌더링 상태의 그리기 정보를 찾는 데 사용됩니다.

대체 텍스트

  1. VulkanHandle는 마지막으로 사용된 VkQueue의 값을 보여주며, 이는 실제로 해당 제출된 명령어에 관해 현재 바인드된 큐입니다.

  2. 현재 렌더링 상태 정보는 LastDrawInfos에 저장되고 VkQueue 값으로 색인이 생성됩니다.

마지막 그리기 정보 (현재 렌더링 상태 정보)

LastDrawInfos 노드에는 각 VkQueue의 마지막 그리기 정보와 다음 정보가 포함됩니다.

  • Framebuffer 정보
  • 렌더링 패스 정보
  • 바인드된 설명어 집합
  • 바인드된 꼭짓점 및 색인 버퍼
  • 그래픽 파이프라인
  • 그리기 매개변수

바인드된 프레임 버퍼

대체 텍스트

  • Framebuffer 노드: 현재 결합된 프레임 버퍼의 정보를 표시합니다. 이 노드는 각 vkCmdBeginRenderPass이 동일한 큐에서 실행된 후에 업데이트됩니다.

  • Renderpass 노드: 프레임 버퍼를 만드는 데 사용된 렌더링 패스 정보를 표시합니다. 이는 현재 그리기에 바인딩된 렌더링 패스가 아닙니다.

  • ImageAttachments 노드: 프레임 버퍼에 바인딩된 모든 이미지 첨부파일 (VkImageViews)을 나열합니다. 목록의 각 항목에는 이미지 뷰의 정보가 표시됩니다.

  • Image 노드에는 이미지 뷰에 결합된 이미지 정보가 표시됩니다.

바인드된 렌더링 패스

대체 텍스트

  • Renderpass 노드: 현재 렌더링에 사용되는 RenderScript의 정보를 표시합니다. 각 VkCmdBeginRenderPass가 동일한 큐에서 실행된 후에 업데이트됩니다.

  • AttachmentDescriptions 노드: 현재 사용 중인 RenderScript의 모든 VkAttachmentDescription를 나열합니다.

  • SubpassDescriptions 노드: 각 서브패스의 VkSubpassDescription를 나열합니다.

  • SubpassDependencies 노드: 각 서브패스의 VkSubpassDependency를 나열합니다.

바인드된 설명어 집합

대체 텍스트

  • DescriptorSets 노드: 현재 바인드된 모든 설명어 집합을 나열합니다. 제한된 설명어 집합 목록은 마지막 vkCmdBindDescriptorSets가 동일한 대기열에 출시된 이후의 상태를 반영하며, 원래 설명어 집합 정보를 덮어쓰거나 새 정보가 마지막으로 실행된 vkCmdBindDescriptorSets의 매개변수에 따라 추가됩니다.

  • 결합: 노드는 설명어 집합에서 현재 바인드된 설명어 결합을 모두 나열합니다.

    각 설명자 바인딩은 바인딩된 설명자도 나열합니다.

  • 레이아웃 노드: 설명어 집합을 할당하는 데 사용되는 VkDescriptorSetLayout의 정보를 표시합니다.

바인드된 그래픽 파이프라인

대체 텍스트

GraphicsPipeline 노드: 마지막으로 결합된 그래픽 파이프라인에 관한 정보를 포함합니다. 이 노드는 현재 큐에서 각 VkCmdBindPipeline가 실행될 때마다 업데이트됩니다.

바인드된 버퍼

대체 텍스트

  • BoundVertexBuffers 노드는 결합된 모든 꼭짓점 버퍼를 나열합니다. 바인딩된 각 꼭짓점 버퍼에는 지원 버퍼의 정보가 표시됩니다. 목록은 각 vkCmdBindVertexBuffers가 동일한 큐에서 실행될 때마다 적절하게 업데이트됩니다.

  • BoundIndexBuffer 노드는 색인 유형과 지원 버퍼의 정보를 비롯하여 마지막으로 바인딩된 색인 버퍼를 표시합니다.

그리기 명령어 매개변수

대체 텍스트

CommandParameters 노드: vkCmdDraw, vkCmdDrawIndexed, vkCmdDrawIndirect, vkCmdDrawIndirectIndexed의 매개변수를 포함합니다. 각 그리기 명령어 유형에는 매개변수 값을 포함하는 상응하는 하위 노드가 있습니다. 이 네 가지 유형의 그리기 명령어는 동시에 사용할 수 없으므로 한 번에 네 개의 하위 노드 중 하나만 채울 수 있습니다. 같은 큐에서 그리기 명령어 4개 중 하나가 실행되고 나면 CommandParameters의 콘텐츠가 업데이트됩니다.