【发布时间】:2012-06-13 11:43:25
【问题描述】:
既然您已经定义了调度计算着色器时要执行的线程组,那么着色器文件中的数字表示什么?示例:[numthreads(1, 1, 1)]
【问题讨论】:
标签: hlsl directx-10 directcompute
既然您已经定义了调度计算着色器时要执行的线程组,那么着色器文件中的数字表示什么?示例:[numthreads(1, 1, 1)]
【问题讨论】:
标签: hlsl directx-10 directcompute
进行了更多挖掘,根据官方定义,在调度时定义线程组,而 numthreads 语句定义线程,因此基本上可以将它们视为额外维度。例如,当我将 2,2,1 分派给具有 3,1,1 的函数时,它会生成
enter code here
0, 0, 0 - 0, 0, 0
0, 0, 0 - 1, 0, 0
0, 0, 0 - 2, 0, 0
1, 0, 0 - 0, 0, 0
1, 0, 0 - 1, 0, 0
1, 0, 0 - 2, 0, 0
0, 1, 0 - 0, 0, 0
0, 1, 0 - 1, 0, 0
0, 1, 0 - 2, 0, 0
1, 1, 0 - 0, 0, 0
1, 1, 0 - 1, 0, 0
1, 1, 0 - 2, 0, 0
所以 2*2*1*3*1*1 = 总共 12 个线程
【讨论】: