Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git] / Test / web.separate.frag
1 #version 310 es
2
3 precision highp sampler;
4 precision highp samplerShadow;
5 precision highp texture2DArray;
6 precision highp itexture2D;
7 precision highp itexture3D;
8 precision highp itextureCube;
9 precision highp itexture2DArray;
10 precision highp utexture2D;
11 precision highp utexture3D;
12 precision highp utextureCube;
13 precision highp utexture2DArray;
14 precision highp texture3D;
15 precision highp float;
16
17 layout(binding = 0) uniform sampler s;
18 layout(binding = 1) uniform samplerShadow sShadow;
19 layout(binding = 2) uniform sampler sA[4];
20 layout(binding = 3) uniform texture2D t2d;
21 layout(binding = 4) uniform texture3D t3d[4];
22 layout(location = 0) flat in int i;
23
24 layout(location = 0) out vec4 color;
25
26 void main()
27 {
28     color = texture(sampler2D(t2d, s), vec2(0.5));
29     color += texture(sampler3D(t3d[1], sA[2]), vec3(0.5));
30     color += texture(sampler2D(t2d, s), vec2(0.5));
31 }
32
33 layout(binding =  5) uniform texture2D                 tex2D;
34 layout(binding =  6) uniform textureCube               texCube;
35 layout(binding = 15) uniform texture2DArray            tex2DArray;
36 layout(binding = 16) uniform itexture2D                itex2D;
37 layout(binding = 17) uniform itexture3D                itex3D;
38 layout(binding = 18) uniform itextureCube              itexCube;
39 layout(binding = 19) uniform itexture2DArray           itex2DArray;
40 layout(binding = 20) uniform utexture2D                utex2D;
41 layout(binding = 21) uniform utexture3D                utex3D;
42 layout(binding = 22) uniform utextureCube              utexCube;
43 layout(binding = 23) uniform utexture2DArray           utex2DArray;
44 layout(binding = 36) uniform texture3D                 tex3D;
45
46 void foo()
47 {
48     sampler2D              (tex2D, s);
49     samplerCube            (texCube, s);
50     samplerCubeShadow      (texCube, sShadow);
51     sampler2DArray         (tex2DArray, s);
52     sampler2DArrayShadow   (tex2DArray, sShadow);
53     isampler2D             (itex2D, s);
54     isampler3D             (itex3D, s);
55     isamplerCube           (itexCube, s);
56     isampler2DArray        (itex2DArray, s);
57     usampler2D             (utex2D, s);
58     usampler3D             (utex3D, s);
59     usamplerCube           (utexCube, s);
60     usampler2DArray        (utex2DArray, s);
61     sampler3D              (tex3D, s);
62     sampler2DShadow        (tex2D, sShadow);
63 }