gpt4 book ai didi

graphics - 从输入附件中读取并在同一个 drawcall 中写入同一个附件是否可以?

转载 作者:行者123 更新时间:2023-12-04 01:36:23 24 4
gpt4 key购买 nike

我想知道附件是否同时用作输入附件和颜色/ds 附件,从输入附件读取的绘图调用然后写入相同的颜色/ds 附件,是否允许?
如果下一个 drawcall 也在做同样的事情,从规范中我看到我需要一个 vkCmdPipelineBarrier 来使下一个 drawcall 获取正确的结果,但不确定相同的 drawcall 情况。

另一个问题是我可以在第一个子 channel 中使用输入附件吗?就像我附加从 pre-z pass 生成的深度纹理作为深度附件和输入附件?

最佳答案

可以通过着色器中的颜色/输入附件对同一图像执行读/修改/写 (RMW),只要:

  • 您确保只有一个片段着色器将为颜色附件中的特定输出值执行 RMW。这基本上归结为“没有 overdraw ”。
  • 如果您需要 overdraw (即:多个 FS 对相同的输入/输出执行重复的 RMW 操作),那么在子 channel 内的每组 overdraw 操作之间,您必须有一个管道屏障。所以你必须把你的渲染命令分解成小块。请注意,要使屏障起作用,您必须将子传递自依赖作为此子传递的依赖关系图的一部分,并且屏障需要调用它。此外,您的自我依赖性应该是每个区域的,因为您只关心屏幕上各个位置之间的依赖性。毕竟,您不能随机访问输入附件。

  • 您可以使用任何附件作为任何子 channel 的输入附件,只要这样做有意义。如果您的 loadOp 说您不想加载数据,那么显然从具有未定义值的图像中读取是没有意义的。

    关于graphics - 从输入附件中读取并在同一个 drawcall 中写入同一个附件是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59385129/

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