blob: 004b85605c9f0c63ba8d1f7f05d1218877ea8c20 (
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
#version 310 es
precision mediump float;
flat in uvec2 t;
in float f;
in vec2 tc;
flat in uvec4 v;
flat in int i;
bool b;
out uvec4 c;
uniform mediump usampler2D usampler;
void main()
{
int count = 1;
uint u = t.y + 3u;
const uint cu1 = 0xFFFFFFFFU;
const uint cu2 = -1u; // 0xFFFFFFFF
const uint cu3 = 1U;
const uint cu4 = 1u;
if (cu1 == cu2)
count *= 2; // 2
if (cu3 == cu4)
count *= 3; // 6
if (cu2 == cu3)
count *= 5; // not done
const int cshiftedii = 0xFFFFFFFF >> 10;
const uint cushiftedui = 0xFFFFFFFFu >> 10;
const int cshiftediu = 0xFFFFFFFF >> 10u;
const uint cushifteduu = 0xFFFFFFFFu >> 10u;
if (cshiftedii == cshiftediu)
count *= 7; // 42
if (cushiftedui == cushifteduu)
count *= 11; // 462
if (cshiftedii == int(cushiftedui))
count *= 13; // not done
int shiftedii = 0xFFFFFFFF >> 10;
uint shiftedui = 0xFFFFFFFFu >> 10;
int shiftediu = 0xFFFFFFFF >> 10u;
uint shifteduu = 0xFFFFFFFFu >> 10u;
if (shiftedii == shiftediu)
c = texture(usampler, tc);
if (shiftedui == shifteduu)
c = texture(usampler, tc + float(1u));
if (shiftedii == int(shiftedui))
c = texture(usampler, tc - vec2(2u));
if (t.x > 4u) {
float af = float(u);
bool ab = bool(u);
int ai = int(u);
c += uvec4(uint(af), uint(ab), uint(ai), count);
}
const uint cmask1 = 0x0A1u;
const uint cmask2 = 0xA10u;
const uint cmask3 = cmask1 << 4;
const uint cmask4 = 0xAB1u;
if (cmask3 == cmask2)
count *= 17; // 7854
if ((cmask3 & cmask1) != 0u)
count *= 19; // not done
if ((cmask1 | cmask3) == cmask4)
count *= 23; // 180642
if ((cmask1 ^ cmask4) == 0xA10u)
count *= 27; // 4877334
uint mask1 = 0x0A1u;
uint mask2 = 0xA10u;
uint mask3 = mask1 << 4;
uint mask4 = 0xAB1u;
if (mask3 == mask2)
count *= 2; // 9754668
if ((mask3 & mask1) != 0u)
count *= 3; // not done
if ((mask1 | mask3) == mask4)
count *= 5; // 48773340
if ((mask1 ^ mask4) == 0xA10u)
count *= 7; // 341413380
c += uvec4(count);
}
|