Merge pull request #2976 from jeremy-lunarg/hayes-fix-2975
[platform/upstream/glslang.git] / Test / spv.140.frag
1 #version 140\r
2 #extension GL_ARB_enhanced_layouts : require\r
3 \r
4 in vec4 k;\r
5 out vec4 o;\r
6 \r
7 in float gl_ClipDistance[5];\r
8 \r
9 layout(row_major) uniform;\r
10 \r
11 uniform sampler2D samp2Da[3];\r
12 \r
13 layout(std140) uniform bn {\r
14     layout(row_major) mat4 matra[4];\r
15     layout(column_major) mat4 matca[4];\r
16     layout(row_major) mat4 matr;\r
17     layout(column_major) mat4 matc;\r
18     layout(align=512, offset=1024) mat4 matrdef;\r
19 };\r
20 \r
21 uniform sampler2DRect sampR;\r
22 uniform isamplerBuffer sampB;\r
23 \r
24 float foo();\r
25 \r
26 void main()\r
27 {\r
28     o.y = gl_ClipDistance[2];\r
29     o.z = gl_ClipDistance[int(k)];\r
30     o.w = float(textureSize(sampR) + textureSize(sampB)) / 100.0;\r
31     o.z = foo();\r
32 }\r
33 \r
34 // Test extra-function initializers\r
35 \r
36 float i1 = gl_FrontFacing ? -2.0 : 2.0;\r
37 float i2 = 102;\r
38 \r
39 float foo()\r
40 {\r
41     return i1 + i2;\r
42 }\r
43 \r
44 // test arrayed block\r
45 layout(std140) uniform bi {\r
46     vec3 v[2];\r
47 } bname[4];\r