vkattachmentReference ::布局的目的是什么



我试图了解为什么我们需要VkAttachmentReference::layout?文档说:

layout是一个 VkImageLayout值指定布局附件 在子通道期间使用。

换句话说,它告诉subpass开始之前,该附件将要过渡到哪种布局。

但是,此信息已经通过VkAttachmentDescription::initialLayout获得。这是文档的报价:

initialLayout是附件图像子资源的布局 在渲染通过实例开始时。

VkAttachmentReference::layout redundand不是因为它精确地重复了 VkAttachmentDescription::initialLayout

no,通过 initialLayout,您指定布局在之前仅在中。它可以是任何事物,例如以前的渲染通行证中的finalLayout。或新创建的图像的undefined布局。或从Swapchain获取的图像的present_src布局。

然后将图像自动从initialLayout自动转移到针对给定子通道指定的布局。如果您有更多的子通道,那么在每个人中,您都可以以不同的方式使用图像,而不必担心手动过渡。

驱动程序需要这两个布局参数才能知道它应该执行什么过渡。Vulkan是一个明确的API,驾驶员不会跟踪任何信息(或跟踪较小的可使(。没有initialLayout布局自动过渡将是不可能的。

相关内容

  • 没有找到相关文章