关于 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" 兼容的渲染通道一起使用,不一定是相同的对象句柄。
我阅读了 Vulkan 规范中与 "Render Pass Compatibility" 相关的部分。不知道我的理解对不对。
在渲染过程中记录一些命令,其中存在对VkFrameBuffer和VkPipeline的调用。 VkFrameBuffer 或 VkPipeline 与 VkRenderPass 密切相关。它们只能与该渲染通道对象或与其兼容的对象一起使用。我可以在兼容的渲染过程中重用 VkFrameBuffer 或 VkPipeline 吗?请告诉我更多关于这个话题的信息。
除了回答 "yes".
之外,不确定如何处理你的问题VkRenderPassBeginInfo
似曾相识:
renderPass
must be compatible with therenderPass
member of theVkFramebufferCreateInfo
structure specified when creatingframebuffer
.
例如vkCmdDraw
似曾相识:
The current render pass must be compatible with the
renderPass
member of theVkGraphicsPipelineCreateInfo
structure specified when creating theVkPipeline
bound toVK_PIPELINE_BIND_POINT_GRAPHICS
.
即VkFramebuffer
分别。 VkPipeline
必须与 "only" 兼容的渲染通道一起使用,不一定是相同的对象句柄。