Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.separate.frag
1 #version 400\r
2 \r
3 uniform sampler s;\r
4 uniform samplerShadow sShadow;\r
5 uniform sampler sA[4];\r
6 uniform texture2D t2d;\r
7 uniform texture3D t3d[4];\r
8 flat in int i;\r
9 \r
10 out vec4 color;\r
11 \r
12 void main()\r
13 {\r
14     color = texture(sampler2D(t2d, s), vec2(0.5));\r
15     color += texture(sampler3D(t3d[i], sA[2]), vec3(0.5));\r
16     color += texture(sampler2D(t2d, s), vec2(0.5));\r
17 }\r
18 \r
19 uniform texture2D                 tex2D;
20 uniform textureCube               texCube;
21 uniform textureCubeArray          texCubeArray;
22 uniform itextureCubeArray         itexCubeArray;
23 uniform utextureCubeArray         utexCubeArray;
24 uniform itexture1DArray           itex1DArray;
25 uniform utexture1D                utex1D;
26 uniform itexture1D                itex1D;
27 uniform utexture1DArray           utex1DArray;
28 uniform textureBuffer             texBuffer;
29 uniform texture2DArray            tex2DArray;
30 uniform itexture2D                itex2D;
31 uniform itexture3D                itex3D;
32 uniform itextureCube              itexCube;
33 uniform itexture2DArray           itex2DArray;
34 uniform utexture2D                utex2D;
35 uniform utexture3D                utex3D;
36 uniform utextureCube              utexCube;
37 uniform utexture2DArray           utex2DArray;
38 uniform itexture2DRect            itex2DRect;
39 uniform utexture2DRect            utex2DRect;
40 uniform itextureBuffer            itexBuffer;
41 uniform utextureBuffer            utexBuffer;
42 uniform texture2DMS               tex2DMS;
43 uniform itexture2DMS              itex2DMS;
44 uniform utexture2DMS              utex2DMS;
45 uniform texture2DMSArray          tex2DMSArray;
46 uniform itexture2DMSArray         itex2DMSArray;
47 uniform utexture2DMSArray         utex2DMSArray;
48 uniform texture1D                 tex1D;
49 uniform texture3D                 tex3D;
50 uniform texture2DRect             tex2DRect;
51 uniform texture1DArray            tex1DArray;
52
53 void foo()
54 {
55     sampler2D              (tex2D, s);
56     samplerCube            (texCube, s);
57     samplerCubeArray       (texCubeArray, s);
58     samplerCubeArrayShadow (texCubeArray, sShadow);
59     isamplerCubeArray      (itexCubeArray, s);
60     usamplerCubeArray      (utexCubeArray, s);
61     sampler1DArrayShadow   (tex1DArray, sShadow);
62     isampler1DArray        (itex1DArray, s);
63     usampler1D             (utex1D, s);
64     isampler1D             (itex1D, s);
65     usampler1DArray        (utex1DArray, s);
66     samplerBuffer          (texBuffer, s);
67     samplerCubeShadow      (texCube, sShadow);
68     sampler2DArray         (tex2DArray, s);
69     sampler2DArrayShadow   (tex2DArray, sShadow);
70     isampler2D             (itex2D, s);
71     isampler3D             (itex3D, s);
72     isamplerCube           (itexCube, s);
73     isampler2DArray        (itex2DArray, s);
74     usampler2D             (utex2D, s);
75     usampler3D             (utex3D, s);
76     usamplerCube           (utexCube, s);
77     usampler2DArray        (utex2DArray, s);
78     isampler2DRect         (itex2DRect, s);
79     usampler2DRect         (utex2DRect, s);
80     isamplerBuffer         (itexBuffer, s);
81     usamplerBuffer         (utexBuffer, s);
82     sampler2DMS            (tex2DMS, s);
83     isampler2DMS           (itex2DMS, s);
84     usampler2DMS           (utex2DMS, s);
85     sampler2DMSArray       (tex2DMSArray, s);
86     isampler2DMSArray      (itex2DMSArray, s);
87     usampler2DMSArray      (utex2DMSArray, s);
88     sampler1D              (tex1D, s);
89     sampler1DShadow        (tex1D, sShadow);
90     sampler3D              (tex3D, s);
91     sampler2DShadow        (tex2D, sShadow);
92     sampler2DRect          (tex2DRect, s);
93     sampler2DRectShadow    (tex2DRect, sShadow);
94     sampler1DArray         (tex1DArray, s);
95 }