summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/glslang/src/Test/140.frag
blob: 2bc2f59fe0c2a6df37d8d107f59f7137fdddcaab (plain)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#version 140

varying vec4 v;

in vec4 i;
out vec4 o;

in float gl_ClipDistance[5];

void main()
{
    float clip = gl_ClipDistance[2];
}
#ifdef GL_ES
#error GL_ES is set
#else
#error GL_ES is not set
#endif

in struct S { float f; } s; // ERROR

float patch = 3.1;

layout(location=3) in vec4 vl;  // ERROR

layout(location = 3) out vec4 factorBad;  // ERROR

#extension GL_ARB_explicit_attrib_location : enable

layout(location = 5) out vec4 factor;

#extension GL_ARB_separate_shader_objects : enable

layout(location=4) in vec4 vl2;

float fooi();

void foo()
{
    vec2 r1 = modf(v.xy, v.zw);  // ERROR, v.zw not l-value
    vec2 r2 = modf(o.xy, o.zw);
    o.z = fooi();
}

// Test extra-function initializers

float i1 = gl_FrontFacing ? -2.0 : 2.0;
float i2 = 102;

float fooi()
{
    return i1 + i2;
}