yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
b937eae5
main
1#version 450 core 2#extension GL_EXT_long_vector : enable 3#extension GL_EXT_shader_explicit_arithmetic_types : enable 4 5layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in; 6 7void main() 8{ 9 float f; 10 vector<float, 5> f0, f1; 11 uint32_t u; 12 vector<uint32_t, 5> u0, u1; 13 bool b; 14 vector<bool, 5> b0, b1; 15 16 f0 = f0 + f1; 17 f0 = f0 - f1; 18 f0 = f0 * f1; 19 f0 = f0 / f1; 20 f0 = f0 + f; 21 f0 = f0 - f; 22 f0 = f0 * f; 23 f0 = f0 / f; 24 f0 = -f0; 25 26 f0 += f1; 27 f0 -= f1; 28 f0 *= f1; 29 f0 /= f1; 30 f0 += f; 31 f0 -= f; 32 f0 *= f; 33 f0 /= f; 34 35 u0 = u0 + u1; 36 u0 = u0 - u1; 37 u0 = u0 * u1; 38 u0 = u0 / u1; 39 u0 = u0 % u1; 40 u0 = u0 & u1; 41 u0 = u0 | u1; 42 u0 = u0 ^ u1; 43 u0 = u0 << u1; 44 u0 = u0 >> u1; 45 u0 = u0 + u; 46 u0 = u0 - u; 47 u0 = u0 * u; 48 u0 = u0 / u; 49 u0 = u0 % u; 50 u0 = u0 & u; 51 u0 = u0 | u; 52 u0 = u0 ^ u; 53 u0 = u0 << u; 54 u0 = u0 >> u; 55 56 u0 += u1; 57 u0 -= u1; 58 u0 *= u1; 59 u0 /= u1; 60 u0 %= u1; 61 u0 &= u1; 62 u0 |= u1; 63 u0 ^= u1; 64 u0 <<= u1; 65 u0 >>= u1; 66 u0 += u; 67 u0 -= u; 68 u0 *= u; 69 u0 /= u; 70 u0 %= u; 71 u0 &= u; 72 u0 ^= u; 73 u0 |= u; 74 u0 <<= u; 75 u0 >>= u; 76 77 u0++; 78 u0--; 79 ++u0; 80 --u0; 81 82 b0 = equal(b0, b1); 83 b0 = notEqual(b0, b1); 84 b = any(b0); 85 b = all(b0); 86 b0 = not(b0); 87 88 f0 = b ? f0 : f1; 89} 90 91void foo() 92{ 93 float f; 94 vector<float, 1> f0, f1; 95 uint32_t u; 96 vector<uint32_t, 1> u0, u1; 97 bool b; 98 vector<bool, 1> b0, b1; 99 100 f0 = f0 + f1; 101 f0 = f0 - f1; 102 f0 = f0 * f1; 103 f0 = f0 / f1; 104 f0 = f0 + f; 105 f0 = f0 - f; 106 f0 = f0 * f; 107 f0 = f0 / f; 108 f0 = -f0; 109 110 f0 += f1; 111 f0 -= f1; 112 f0 *= f1; 113 f0 /= f1; 114 f0 += f; 115 f0 -= f; 116 f0 *= f; 117 f0 /= f; 118 119 u0 = u0 + u1; 120 u0 = u0 - u1; 121 u0 = u0 * u1; 122 u0 = u0 / u1; 123 u0 = u0 % u1; 124 u0 = u0 & u1; 125 u0 = u0 | u1; 126 u0 = u0 ^ u1; 127 u0 = u0 << u1; 128 u0 = u0 >> u1; 129 u0 = u0 + u; 130 u0 = u0 - u; 131 u0 = u0 * u; 132 u0 = u0 / u; 133 u0 = u0 % u; 134 u0 = u0 & u; 135 u0 = u0 | u; 136 u0 = u0 ^ u; 137 u0 = u0 << u; 138 u0 = u0 >> u; 139 140 u0 += u1; 141 u0 -= u1; 142 u0 *= u1; 143 u0 /= u1; 144 u0 %= u1; 145 u0 &= u1; 146 u0 |= u1; 147 u0 ^= u1; 148 u0 <<= u1; 149 u0 >>= u1; 150 u0 += u; 151 u0 -= u; 152 u0 *= u; 153 u0 /= u; 154 u0 %= u; 155 u0 &= u; 156 u0 ^= u; 157 u0 |= u; 158 u0 <<= u; 159 u0 >>= u; 160 161 u0++; 162 u0--; 163 ++u0; 164 --u0; 165 166 b0 = equal(b0, b1); 167 b0 = notEqual(b0, b1); 168 b = any(b0); 169 b = all(b0); 170 b0 = not(b0); 171 172 f0 = b ? f0 : f1; 173}