Merge pull request #2892 from greg-lunarg/mb
[platform/upstream/glslang.git] / Test / 130.vert
1 #version 130\r
2 \r
3 uniform int c;\r
4 uniform usampler2D us2D;\r
5 \r
6 in ivec2 x;\r
7 in vec2 v2a;\r
8 in float c1D;\r
9 in vec2  c2D;\r
10 in vec3  c3D;\r
11 smooth vec4  c4D;  // ??\r
12 \r
13 uniform vec4 v4;\r
14 \r
15 void main()\r
16 {\r
17     float f = 3;\r
18     switch (c) {     // full switch testing in switch.frag\r
19     case 1:\r
20         f = sin(f);\r
21         break;\r
22     case 2:\r
23         f = f * f;\r
24     default:\r
25         f = 3.0;\r
26     }\r
27 \r
28     uint i;\r
29     i = texture(us2D, x).w;          // full uint testing in uint.frag\r
30     i << 3u | 0x8Au >> 1u & 0xFFu;\r
31 \r
32     vec3 modfOut, modfIn;\r
33     vec3 v11 = modf(modfIn, modfOut);\r
34     float t = trunc(f);\r
35     vec2 v12 = round(v2a);\r
36     vec2 v13 = roundEven(v2a);\r
37     bvec2 b10 = isnan(v2a);\r
38     bvec4 b11 = isinf(v4);\r
39 \r
40     sinh(c1D) +\r
41     cosh(c1D) * tanh(c2D);\r
42     asinh(c4D) + acosh(c4D);\r
43     atanh(c3D);\r
44 \r
45     int id = gl_VertexID;\r
46     gl_ClipDistance[1] = 0.3;\r
47 }\r
48 \r
49 // version 140 features\r
50 \r
51 //uniform isamplerBuffer sbuf;\r
52 \r
53 //layout(std140) uniform blockName {\r
54 //    int anonMem;\r
55 //};\r
56 \r
57 void foo88()\r
58 {\r
59     int id = gl_InstanceID;    // ERROR\r
60     //id += anonMem;\r
61     id += texelFetch(id, 8);\r
62 \r
63     gl_ClipVertex;         // these are all present...\r
64     gl_Color;\r
65     gl_LightSource[0];\r
66     gl_DepthRange.far;\r
67     gl_TexCoord;\r
68     gl_FogFragCoord;\r
69     gl_FrontColor;\r
70 }\r
71 \r
72 // token pasting\r
73 \r
74 #define mac abc##def\r
75 int mac;\r
76 \r
77 #define macr(A,B) A##B\r
78 int macr(qrs,tuv);\r