gpt4 book ai didi

graphics - VkAttachmentReference::layout 的目的是什么?

转载 作者:行者123 更新时间:2023-12-03 22:17:07 25 4
gpt4 key购买 nike

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

layout is a VkImageLayout value specifying the layout the attachment uses during the subpass.



换句话说,它告诉在子 channel 开始之前附件将转换到哪个布局。

但是这些信息已经可以通过 VkAttachmentDescription::initialLayout 获得.这是文档中的引用:

initialLayout is the layout the attachment image subresource will be in when a render pass instance begins.



不是 VkAttachmentReference::layout冗余,因为它完全重复 VkAttachmentDescription::initialLayout ?

最佳答案

不,通过 initialLayout您指定图像的布局只是 之前 渲染 channel 。它可以是任何东西,例如 finalLayout来自之前的渲染 channel 。或 undefined新创建的图像的布局。或 present_src从交换链获取的图像的布局。

然后图像会自动从 initialLayout 过渡到为给定子 channel 指定的布局。如果您有更多子 channel ,那么在每个子 channel 中您可以以不同的方式使用图像,而不必担心手动转换。

驱动程序需要这两个布局参数才能知道它应该执行什么转换。 Vulkan 是一个显式 API,驱动程序不跟踪任何信息(或跟踪尽可能少)。没有 initialLayout布局自动过渡是不可能的。

关于graphics - VkAttachmentReference::layout 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49652207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com