【问题标题】:Is DirectX 11 compute capable of writing more than 10k vertices to a RWStructuredBuffer?DirectX 11 计算是否能够将超过 10k 的顶点写入 RWStructuredBuffer?
【发布时间】:2013-12-12 22:49:01
【问题描述】:

我有一个带有无序访问视图的顶点缓冲区,我使用计算着色器填充顶点,计算着色器将 UAV 视为 RWStructuredBuffer,使用与顶点定义等效的结构。有 216000 个顶点(即 60 x 60 x 60)。但是我的计算机着色器似乎只填充了大约 8000 个,其余的则保留了它们的初始值。结构化缓冲区中可以以这种方式写入的元素数量是否有限制?

【问题讨论】:

  • 没有这样的限制,但是使用系统语义很容易弄乱最终索引计算。没有一点代码显示它和你的线程组配置,不可能提供更好的答案。
  • 我不会这么说,这是一个是或否的问题。但是在其他地方找到答案后,我将在下面详细说明。

标签: directx directx-11 compute-shader


【解决方案1】:

事实证明,如果您打开 DirectX 错误检查,则将顶点缓冲区的 UAV 分配为着色器中的 RWStructuredBuffer 被认为是错误的。因此,尽管这实际上有效(对于有限数量的顶点),但它不受支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-10
    • 1970-01-01
    • 2010-11-12
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多