| #version 140 | |
| #extension GL_ARB_enhanced_layouts : require | |
| in vec4 k; | |
| out vec4 o; | |
| in float gl_ClipDistance[5]; | |
| layout(row_major) uniform; | |
| uniform sampler2D samp2Da[3]; | |
| layout(std140) uniform bn { | |
| layout(row_major) mat4 matra[4]; | |
| layout(column_major) mat4 matca[4]; | |
| layout(row_major) mat4 matr; | |
| layout(column_major) mat4 matc; | |
| layout(align=512, offset=1024) mat4 matrdef; | |
| }; | |
| uniform sampler2DRect sampR; | |
| uniform isamplerBuffer sampB; | |
| float foo(); | |
| void main() | |
| { | |
| o.y = gl_ClipDistance[2]; | |
| o.z = gl_ClipDistance[int(k)]; | |
| o.w = float(textureSize(sampR) + textureSize(sampB)) / 100.0; | |
| o.z = foo(); | |
| } | |
| // Test extra-function initializers | |
| float i1 = gl_FrontFacing ? -2.0 : 2.0; | |
| float i2 = 102; | |
| float foo() | |
| { | |
| return i1 + i2; | |
| } | |
| // test arrayed block | |
| layout(std140) uniform bi { | |
| vec3 v[2]; | |
| } bname[4]; |