金属阵列索引使用文字作品,但使用变量崩溃



i在计算内核中具有一个存储一系列值的数组(目前仅大约10个)。我将值分配给以下数组:

int count = uniforms;
int i = 0;
float pointsx[count];
float pointsy[count];
for (i = 0; i < count; i++){
  pointsx[i] = simplex3D(i*2,1,1);
  pointsy[i] = simplex3D(1,i*2,1);
}
然后,我使用类似的循环继续迭代这些点。当我尝试以任何索引访问数组时,在运行时报告了编译器错误,但是,如果我用整数替换i,则它可以工作。

我觉得我缺少一些很明显的东西,任何帮助都将不胜感激。

金属中不支持可变长度阵列。由于数组中的条目数量很小,因此您可以声明该大小的数组。使用缓冲区更灵活,但要求您从设备内存中读取。

最新更新