I have couple of questions for the following compute shader program
Buffer<float> InputBuf : register( t0 );
RWBuffer<fIoat> OutputBuf : register( u0 );
// Group size
#define size_x 20
#define size_y 1
// Declare one thread fo r each texel of the input texture.
[numthreads(size_x, size_y, 1)]
void CSMAIN( uint3 DispatchThreadID : SV_DispatchThreadID )
{
float Value = InputBuf.Load( DispatchThreadID.x );
OutputBuf[DispatchThreadID.x] = 2.0f * Value;
}
1. Is this program executed by single thread?
2. What DispatchThread.x is doing?