1Texture1D<float> i1D: register(t0); 2Texture2D<float> i2D: register(t1); 3Texture3D<float> i3D: register(t2); 4Texture1DArray<float> i1DArray: register(t3); 5Texture2DArray<float> i2DArray: register(t4); 6Texture2DMS<float> i2DMS: register(t5); 7Texture2DMSArray<float> i2DMSArray: register(t6); 8 9Texture1D<int> ii1D: register(t7); 10Texture2D<int> ii2D: register(t8); 11Texture3D<int> ii3D: register(t9); 12Texture1DArray<int> ii1DArray: register(t10); 13Texture2DArray<int> ii2DArray: register(t11); 14Texture2DMS<int> ii2DMS: register(t12); 15Texture2DMSArray<int> ii2DMSArray: register(t13); 16 17RWTexture3D<float> OUT: register(u0); 18 19[numthreads(8,8,8)] 20void main(uint3 tid: SV_DispatchThreadID) 21{ 22 float f = 0.0; 23 f += i1D[tid.x]; 24 f += i2D[tid.xy]; 25 f += i3D[tid]; 26 f += i1DArray[tid.xy]; 27 f += i2DArray[tid]; 28 f += i2DMS.Load(tid.xy, 1); 29 f += i2DMSArray.Load(tid, 3); 30 31 int i = 0.0; 32 i += ii1D[tid.x]; 33 i += ii2D[tid.xy]; 34 i += ii3D[tid]; 35 i += ii1DArray[tid.xy]; 36 i += ii2DArray[tid]; 37 i += ii2DMS.Load(tid.xy, 1); 38 i += ii2DMSArray.Load(tid, 3); 39 40 OUT[tid] = f + float(i); 41} 42