• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#version 420 core
2
3#extension GL_ARB_separate_shader_objects : enable
4
5layout(vertices = 4) out;
6
7out gl_PerVertex {
8    vec4 gl_Position;
9} gl_out[3];                 // ERROR, wrong size
10
11out int a[gl_out.length()];
12out int outb[5];             // ERROR, wrong size
13out int outc[];
14
15void main()
16{
17    vec4 p = gl_in[1].gl_Position;
18    float ps = gl_in[1].gl_PointSize;
19    float cd = gl_in[1].gl_ClipDistance[2];
20
21    int pvi = gl_PatchVerticesIn;
22    int pid = gl_PrimitiveID;
23    int iid = gl_InvocationID;
24
25    gl_out[gl_InvocationID].gl_Position = p;
26    gl_out[gl_InvocationID].gl_PointSize = ps;        // ERROR
27}
28
29out float outf;  // ERROR, no array
30
31layout (location = 0) in dmat2x4 vs_tcs_first[];
32layout (location = 12) in dmat2x4 vs_tcs_last[];
33
34void foo()
35{
36 if ((dmat2x4(dvec4(-0.625, -0.5, -0.375lf, -0.25), dvec4(-0.375, -0.25, -0.125, 0)) != vs_tcs_first[0]) ||
37        (dmat2x4(dvec4(0.375, 0.5, 0.625, 0.75), dvec4(0.625, 0.75, 0.875, -0.625)) != vs_tcs_last[0]))
38    {
39        ;
40    }
41}
42
43layout(vertices = 0) out;  // ERROR, can't be 0
44