如果子通行证中不需要附件,则不包括附件,并相应地在VkSubpassDescription
中更新附件计数。
我看到VK_ATTACHMENT_UNUSED
是VkAttachmentReference.attachment
的可能值。它在原始路线上提供了哪些功能?
(最初,我认为这可能是保留子通道之间附件值的一种方法,但是pPreserveAttachments
已经做到了。)
答案 0 :(得分:3)
片段着色器输出绑定到Location
索引。这是子通道的pColorAttachments
数组的索引。
如果您的着色器出于任何原因写入位置0和2,则意味着pColorAttachments
必须具有3个条目。条目索引1为VK_ATTACHMENT_UNUSED
。
现在,为什么您的着色器会这样做?好吧,可以在用于不同子通道的不同管线中使用相同的着色器模块。在一个子通道中,可能有3个附件,并且此着色器根本不写入位置1(作为管道设置的一部分,它关闭了对该附件的写入)。在另一个子通道中,只有2个附件,但是您想使用相同的着色器。
是的,理论上您可以使用特殊化常数来更改Location
索引。我不会说这是一个广泛使用或非常有用的功能。但是没有理由不支持它。