关于 Vulkan 中渲染过程的兼容性

About render pass compatibility in Vulkan

我阅读了 Vulkan 规范中与 "Render Pass Compatibility" 相关的部分。不知道我的理解对不对。

在渲染过程中记录一些命令,其中存在对VkFrameBuffer和VkPipeline的调用。 VkFrameBuffer 或 VkPipeline 与 VkRenderPass 密切相关。它们只能与该渲染通道对象或与其兼容的对象一起使用。我可以在兼容的渲染过程中重用 VkFrameBuffer 或 VkPipeline 吗?请告诉我更多关于这个话题的信息。

除了回答 "yes".

之外,不确定如何处理你的问题

VkRenderPassBeginInfo似曾相识:

renderPass must be compatible with the renderPass member of the VkFramebufferCreateInfo structure specified when creating framebuffer.

例如vkCmdDraw似曾相识:

The current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS.

VkFramebuffer 分别。 VkPipeline 必须与 "only" 兼容的渲染通道一起使用,不一定是相同的对象句柄。