DirectX compute shader: how to write a function with variable array size argument?
问题 I'm trying to write a function within a compute shader (HLSL) that accept an argument being an array on different size. The compiler always reject it. Example (not working!): void TestFunc(in uint SA[]) { int K; for (K = 0; SA[K] != 0; K++) { // Some code using SA array } } [numthreads(1, 1, 1)] void CSMain( uint S1[] = {1, 2, 3, 4 }; // Compiler happy and discover the array size uint S2[] = {10, 20}; // Compiler happy and discover the array size TestFunc(S1); TestFunc(S2); } If I give an