2 precision mediump float;
\r
13 uniform mediump usampler2D usampler;
\r
20 const uint cu1 = 0xFFFFFFFFU;
\r
21 const uint cu2 = -1u; // 0xFFFFFFFF
\r
22 const uint cu3 = 1U;
\r
23 const uint cu4 = 1u;
\r
30 count *= 5; // not done
\r
32 const int cshiftedii = 0xFFFFFFFF >> 10;
\r
33 const uint cushiftedui = 0xFFFFFFFFu >> 10;
\r
34 const int cshiftediu = 0xFFFFFFFF >> 10u;
\r
35 const uint cushifteduu = 0xFFFFFFFFu >> 10u;
\r
37 if (cshiftedii == cshiftediu)
\r
39 if (cushiftedui == cushifteduu)
\r
41 if (cshiftedii == int(cushiftedui))
\r
42 count *= 13; // not done
\r
44 int shiftedii = 0xFFFFFFFF >> 10;
\r
45 uint shiftedui = 0xFFFFFFFFu >> 10;
\r
46 int shiftediu = 0xFFFFFFFF >> 10u;
\r
47 uint shifteduu = 0xFFFFFFFFu >> 10u;
\r
49 if (shiftedii == shiftediu)
\r
50 c = texture(usampler, tc);
\r
51 if (shiftedui == shifteduu)
\r
52 c = texture(usampler, tc + float(1u));
\r
53 if (shiftedii == int(shiftedui))
\r
54 c = texture(usampler, tc - vec2(2u));
\r
57 float af = float(u);
\r
61 c += uvec4(uint(af), uint(ab), uint(ai), count);
\r
64 const uint cmask1 = 0x0A1u;
\r
65 const uint cmask2 = 0xA10u;
\r
66 const uint cmask3 = cmask1 << 4;
\r
67 const uint cmask4 = 0xAB1u;
\r
69 if (cmask3 == cmask2)
\r
70 count *= 17; // 7854
\r
72 if ((cmask3 & cmask1) != 0u)
\r
73 count *= 19; // not done
\r
75 if ((cmask1 | cmask3) == cmask4)
\r
76 count *= 23; // 180642
\r
78 if ((cmask1 ^ cmask4) == 0xA10u)
\r
79 count *= 27; // 4877334
\r
81 uint mask1 = 0x0A1u;
\r
82 uint mask2 = 0xA10u;
\r
83 uint mask3 = mask1 << 4;
\r
84 uint mask4 = 0xAB1u;
\r
87 count *= 2; // 9754668
\r
89 if ((mask3 & mask1) != 0u)
\r
90 count *= 3; // not done
\r
92 if ((mask1 | mask3) == mask4)
\r
93 count *= 5; // 48773340
\r
95 if ((mask1 ^ mask4) == 0xA10u)
\r
96 count *= 7; // 341413380
\r
100 #define UINT_MAX 4294967295u
\r