projects
/
platform
/
upstream
/
glslang.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Merge pull request #3031 from rg3igalia/sub-group-size-arb-flat-fix
[platform/upstream/glslang.git]
/
Test
/
300operations.frag
1
#version 300 es
2
3
uniform block {
4
mediump float f;
5
} instanceName;
6
7
struct S {
8
int i;
9
} s;
10
11
float a[5];
12
13
void main()
14
{
15
bool b;
16
float f;
17
int i;
18
uint u;
19
bvec3 b3;
20
vec3 v3;
21
ivec3 iv3;
22
uvec3 uv3;
23
vec4 v4;
24
ivec4 iv4;
25
uvec4 uv4;
26
mat2 m2;
27
mat4 m4;
28
29
// These are all errors:
30
instanceName + instanceName;
31
s + s;
32
i + f;
33
u + f;
34
u + i;
35
iv3 *= iv4;
36
iv4 / uv4;
37
i - v3;
38
iv3 + uv3;
39
a * a;
40
b / b;
41
42
f % f;
43
i % f;
44
f % u;
45
instanceName++;
46
++s;
47
a--;
48
++b3;
49
50
iv3 < uv3;
51
m2 > m2;
52
m2 != m4;
53
i >= u;
54
a <= a;
55
b > b;
56
57
b && b3;
58
b3 ^^ b3;
59
b3 || b;
60
i && i;
61
u || u;
62
m2 ^^ m2;
63
64
!u;
65
!i;
66
!m2;
67
!v3;
68
!a;
69
70
~f;
71
~m4;
72
~v3;
73
~a;
74
~instanceName;
75
76
i << iv3;
77
u << uv3;
78
i >> f;
79
f >> i;
80
m4 >> i;
81
a >> u;
82
iv3 >> iv4;
83
84
i & u;
85
u &= uv3;
86
i | uv3;
87
u & f;
88
m2 | m2;
89
s ^ s;
90
(f = f) = f;
91
92
// These are all okay:
93
f * v4;
94
u + u;
95
uv4 / u;
96
iv3 -= iv3;
97
98
i %= 3;
99
uv3 % 4u;
100
--m2;
101
iv4++;
102
103
m4 != m4;
104
m2 == m2;
105
i <= i;
106
a == a;
107
s != s;
108
109
b && b;
110
b || b;
111
b ^^ b;
112
113
!b, uv3;
114
115
~i;
116
~u;
117
~uv3;
118
~iv3;
119
120
uv3 <<= i;
121
i >> i;
122
u << u;
123
iv3 >> iv3;
124
125
i & i;
126
u | u;
127
iv3 ^ iv3;
128
u & uv3;
129
uv3 | u;
130
uv3 &= u;
131
int arr[0x222 & 0xf];
132
arr[1]; // size 2
133
int arr2[(uvec2(0, 0x2) | 0x1u).y];
134
arr2[2]; // size 3
135
}