Hypothetically, say I wanted to use a compute shader to run Kernel_X using thread dimensions of (8, 1, 1).
I could set it up as:
In Script:
Shader.Dispatch(Kernel_X, 8, 1, 1);
In Shader:
[numthreads(1,1,1)]
void Kernel_X(uint id : SV_DispatchThreadID) { ... }
or I could set it up like this:
In Script:
Shader.Dispatch(Kernel_X, 1, 1, 1);
In Shader:
[numthreads(8,1,1)]
void Kernel_X(uint id : SV_DispatchThreadID) { ... }
I understand that at the end of this code, the dimensions would come out to be (8, 1, 1); however, I was wondering how switching up the numbers actually differed from each other. My guess would be that running Dispatch (Kernel_X, 8, 1, 1), "ran" a kernel of 1x1x1 8 times, while running numthreads(8,1,1) would run an 8x1x1 kernel once.