xref: /aosp_15_r20/external/angle/third_party/glslang/src/Test/hlsl.imagefetch-subvec4.comp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
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