File: constErrors.frag

package info (click to toggle)
glslang 16.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 51,720 kB
  • sloc: cpp: 92,305; yacc: 4,320; sh: 603; python: 305; ansic: 94; javascript: 74; makefile: 17
file content (35 lines) | stat: -rw-r--r-- 816 bytes parent folder | download | duplicates (22)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#version 330

in vec4 inVar;
out vec4 outVar;

const int constInt = 3;

uniform int uniformInt;

void main()
{
    const int a1 = 2;          // okay
    const int a2 = constInt;   // okay
    const int a3 = uniformInt; // error

    vec4 c[constInt];              // okay
    vec4 d[uniformInt];            // error
    vec4 e[constInt + uniformInt]; // error
    vec4 f[uniformInt + constInt]; // error

    vec4 g[int(sin(0.3)) + 1];     // okay
}

const struct S {
    vec3 v3;
    ivec2 iv2;
} s = S(vec3(3.0), ivec2(3, constInt + uniformInt));  // ERROR, non-const y componenent

const struct S2 {
    vec3 v3;
    ivec2 iv2;
    mat2x4 m;
} s2 = S2(vec3(3.0), ivec2(3, constInt), mat2x4(1.0, 2.0, 3.0, inVar.x, 5.0, 6.0, 7.0, 8.0));  // ERROR, non-constant matrix

const float f = 3; // okay, type conversion