1RWTexture1D<float> i1D: register(u0); 2RWTexture2D<float> i2D: register(u1); 3RWTexture3D<float> i3D: register(u2); 4RWTexture1DArray<float> i1DArray: register(u3); 5RWTexture2DArray<float> i2DArray: register(u4); 6 7RWTexture1D<int> ii1D: register(u5); 8RWTexture2D<int> ii2D: register(u6); 9RWTexture3D<int> ii3D: register(u7); 10RWTexture1DArray<int> ii1DArray: register(u8); 11RWTexture2DArray<int> ii2DArray: register(u9); 12 13RWTexture3D<float> OUT: register(u10); 14 15[numthreads(8,8,8)] 16void main(uint3 tid: SV_DispatchThreadID) 17{ 18 float f = 0.0; 19 f += i1D[tid.x]; 20 f += i2D[tid.xy]; 21 f += i3D[tid]; 22 f += i1DArray[tid.xy]; 23 f += i2DArray[tid]; 24 25 int i = 0.0; 26 i += ii1D[tid.x]; 27 i += ii2D[tid.xy]; 28 i += ii3D[tid]; 29 i += ii1DArray[tid.xy]; 30 i += ii2DArray[tid]; 31 32 OUT[tid] = f + float(i); 33} 34