| Texture1D<float> i1D: register(t0); |
| Texture2D<float> i2D: register(t1); |
| Texture3D<float> i3D: register(t2); |
| Texture1DArray<float> i1DArray: register(t3); |
| Texture2DArray<float> i2DArray: register(t4); |
| Texture2DMS<float> i2DMS: register(t5); |
| Texture2DMSArray<float> i2DMSArray: register(t6); |
| |
| Texture1D<int> ii1D: register(t7); |
| Texture2D<int> ii2D: register(t8); |
| Texture3D<int> ii3D: register(t9); |
| Texture1DArray<int> ii1DArray: register(t10); |
| Texture2DArray<int> ii2DArray: register(t11); |
| Texture2DMS<int> ii2DMS: register(t12); |
| Texture2DMSArray<int> ii2DMSArray: register(t13); |
| |
| RWTexture3D<float> OUT: register(u0); |
| |
| [numthreads(8,8,8)] |
| void main(uint3 tid: SV_DispatchThreadID) |
| { |
| float f = 0.0; |
| f += i1D[tid.x]; |
| f += i2D[tid.xy]; |
| f += i3D[tid]; |
| f += i1DArray[tid.xy]; |
| f += i2DArray[tid]; |
| f += i2DMS.Load(tid.xy, 1); |
| f += i2DMSArray.Load(tid, 3); |
| |
| int i = 0.0; |
| i += ii1D[tid.x]; |
| i += ii2D[tid.xy]; |
| i += ii3D[tid]; |
| i += ii1DArray[tid.xy]; |
| i += ii2DArray[tid]; |
| i += ii2DMS.Load(tid.xy, 1); |
| i += ii2DMSArray.Load(tid, 3); |
| |
| OUT[tid] = f + float(i); |
| } |