1#version 450 2layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; 3 4#ifndef SPIRV_CROSS_CONSTANT_ID_2 5#define SPIRV_CROSS_CONSTANT_ID_2 1 6#endif 7const int SONE = SPIRV_CROSS_CONSTANT_ID_2; 8#ifndef SPIRV_CROSS_CONSTANT_ID_3 9#define SPIRV_CROSS_CONSTANT_ID_3 2 10#endif 11const int STWO = SPIRV_CROSS_CONSTANT_ID_3; 12const int _10 = (SONE + STWO); 13const uint _13 = (uint(_10) + 0u); 14#ifndef SPIRV_CROSS_CONSTANT_ID_5 15#define SPIRV_CROSS_CONSTANT_ID_5 1u 16#endif 17const uint UONE = SPIRV_CROSS_CONSTANT_ID_5; 18const uint _15 = (_13 + UONE); 19#ifndef SPIRV_CROSS_CONSTANT_ID_6 20#define SPIRV_CROSS_CONSTANT_ID_6 2u 21#endif 22const uint UTWO = SPIRV_CROSS_CONSTANT_ID_6; 23const uint IADD = (_15 + UTWO); 24const uint _19 = (IADD - 5u); 25const uint _28 = (uint(SONE) + 0u); 26const uint ISUB = (UTWO - _28); 27const uint IMUL = (UTWO * UTWO); 28const uint _37 = (IMUL - 3u); 29const uint UDIV = (UTWO / UTWO); 30#ifndef SPIRV_CROSS_CONSTANT_ID_4 31#define SPIRV_CROSS_CONSTANT_ID_4 -2 32#endif 33const int SNEG_TWO = SPIRV_CROSS_CONSTANT_ID_4; 34const int SDIV = (STWO / SNEG_TWO); 35const int _52 = (SDIV + 2); 36#ifndef SPIRV_CROSS_CONSTANT_ID_7 37#define SPIRV_CROSS_CONSTANT_ID_7 -3 38#endif 39const int SNEG_THREE = SPIRV_CROSS_CONSTANT_ID_7; 40const int SMOD = (STWO % SNEG_THREE); 41const int _66 = (SMOD + 2); 42const uint UMOD = (IADD % IMUL); 43const uint _73 = (UMOD - 1u); 44const uint LSHL = (IADD << ISUB); 45const uint _81 = (LSHL - 11u); 46const uint RSHL = (IADD >> ISUB); 47const uint _89 = (RSHL - 2u); 48const int _95 = int(IADD + 0u); 49const int _96 = (-_95); 50const int _97 = (-SDIV); 51const int RSHA = (_96 >> _97); 52const int _100 = (RSHA + 4); 53const bool IEQ = (IADD == ISUB); 54const int _109 = IEQ ? 2 : 1; 55const bool INEQ = (IADD != ISUB); 56const int _116 = INEQ ? 1 : 2; 57const bool ULT = (IADD < ISUB); 58const int _123 = ULT ? 2 : 1; 59const bool ULE = (IADD <= ISUB); 60const int _130 = ULE ? 2 : 1; 61const bool UGT = (IADD > ISUB); 62const int _137 = UGT ? 1 : 2; 63const bool UGE = (IADD >= ISUB); 64const int _144 = UGE ? 1 : 2; 65const bool SLT = (SMOD < 1); 66const int _151 = SLT ? 1 : 2; 67const bool SLE = (SMOD <= 1); 68const int _158 = SLE ? 1 : 2; 69const bool SGT = (SMOD > 1); 70const int _165 = SGT ? 2 : 1; 71const bool SGE = (SMOD >= 1); 72const int _172 = SGE ? 2 : 1; 73const bool LOR = (IEQ || SLT); 74const int _179 = LOR ? 1 : 2; 75const bool LAND = (IEQ && SLT); 76const int _186 = LAND ? 2 : 1; 77const bool LNOT = (!LOR); 78const int _193 = LNOT ? 2 : 1; 79const uint AND = (IADD & IADD); 80const uint _200 = (AND - 5u); 81const uint OR = (IADD | ISUB); 82const uint _208 = (OR - 6u); 83const uint XOR = (IADD ^ IADD); 84const uint _215 = (XOR + 1u); 85const uint NOT = (~XOR); 86const uint _223 = (NOT - 4294967294u); 87const bool LEQ = (LAND == LNOT); 88const int _230 = LEQ ? 1 : 2; 89const bool LNEQ = (LAND != LNOT); 90const int _237 = LNEQ ? 2 : 1; 91const uint SEL = IEQ ? IADD : ISUB; 92#ifndef SPIRV_CROSS_CONSTANT_ID_0 93#define SPIRV_CROSS_CONSTANT_ID_0 true 94#endif 95const bool TRUE = SPIRV_CROSS_CONSTANT_ID_0; 96#ifndef SPIRV_CROSS_CONSTANT_ID_1 97#define SPIRV_CROSS_CONSTANT_ID_1 false 98#endif 99const bool FALSE = SPIRV_CROSS_CONSTANT_ID_1; 100 101layout(binding = 0, std430) buffer SSBO_IAdd 102{ 103 float val[_19]; 104 float dummy; 105} IAdd; 106 107layout(binding = 1, std430) buffer SSBO_ISub 108{ 109 float val[ISUB]; 110 float dummy; 111} ISub; 112 113layout(binding = 2, std430) buffer SSBO_IMul 114{ 115 float val[_37]; 116 float dummy; 117} IMul; 118 119layout(binding = 3, std430) buffer SSBO_UDiv 120{ 121 float val[UDIV]; 122 float dummy; 123} UDiv; 124 125layout(binding = 4, std430) buffer SSBO_SDiv 126{ 127 float val[_52]; 128 float dummy; 129} SDiv; 130 131layout(binding = 5, std430) buffer SSBO_SRem 132{ 133 float val[1]; 134 float dummy; 135} SRem; 136 137layout(binding = 6, std430) buffer SSBO_SMod 138{ 139 float val[_66]; 140 float dummy; 141} SMod; 142 143layout(binding = 7, std430) buffer SSBO_UMod 144{ 145 float val[_73]; 146 float dummy; 147} UMod; 148 149layout(binding = 8, std430) buffer SSBO_LShl 150{ 151 float val[_81]; 152 float dummy; 153} LShl; 154 155layout(binding = 9, std430) buffer SSBO_RShl 156{ 157 float val[_89]; 158 float dummy; 159} RShl; 160 161layout(binding = 10, std430) buffer SSBO_RSha 162{ 163 float val[_100]; 164 float dummy; 165} RSha; 166 167layout(binding = 11, std430) buffer SSBO_IEq 168{ 169 float val[_109]; 170 float dummy; 171} IEq; 172 173layout(binding = 12, std430) buffer SSBO_INeq 174{ 175 float val[_116]; 176 float dummy; 177} INeq; 178 179layout(binding = 13, std430) buffer SSBO_Ult 180{ 181 float val[_123]; 182 float dummy; 183} Ult; 184 185layout(binding = 14, std430) buffer SSBO_Ule 186{ 187 float val[_130]; 188 float dummy; 189} Ule; 190 191layout(binding = 15, std430) buffer SSBO_Ugt 192{ 193 float val[_137]; 194 float dummy; 195} Ugt; 196 197layout(binding = 16, std430) buffer SSBO_Uge 198{ 199 float val[_144]; 200 float dummy; 201} Uge; 202 203layout(binding = 17, std430) buffer SSBO_Slt 204{ 205 float val[_151]; 206 float dummy; 207} Slt; 208 209layout(binding = 18, std430) buffer SSBO_Sle 210{ 211 float val[_158]; 212 float dummy; 213} Sle; 214 215layout(binding = 19, std430) buffer SSBO_Sgt 216{ 217 float val[_165]; 218 float dummy; 219} Sgt; 220 221layout(binding = 20, std430) buffer SSBO_Sge 222{ 223 float val[_172]; 224 float dummy; 225} Sge; 226 227layout(binding = 21, std430) buffer SSBO_Lor 228{ 229 float val[_179]; 230 float dummy; 231} Lor; 232 233layout(binding = 22, std430) buffer SSBO_Land 234{ 235 float val[_186]; 236 float dummy; 237} Land; 238 239layout(binding = 23, std430) buffer SSBO_Lnot 240{ 241 float val[_193]; 242 float dummy; 243} Lnot; 244 245layout(binding = 24, std430) buffer SSBO_And 246{ 247 float val[_200]; 248 float dummy; 249} And; 250 251layout(binding = 24, std430) buffer SSBO_Or 252{ 253 float val[_208]; 254 float dummy; 255} Or; 256 257layout(binding = 24, std430) buffer SSBO_Xor 258{ 259 float val[_215]; 260 float dummy; 261} Xor; 262 263layout(binding = 25, std430) buffer SSBO_Not 264{ 265 float val[_223]; 266 float dummy; 267} Not; 268 269layout(binding = 26, std430) buffer SSBO_Leq 270{ 271 float val[_230]; 272 float dummy; 273} Leq; 274 275layout(binding = 27, std430) buffer SSBO_Lneq 276{ 277 float val[_237]; 278 float dummy; 279} Lneq; 280 281layout(binding = 28, std430) buffer SSBO_Sel 282{ 283 float val[SEL]; 284 float dummy; 285} Sel; 286 287void main() 288{ 289 IAdd.val[0] = 0.0; 290 ISub.val[0] = 0.0; 291 IMul.val[0] = 0.0; 292 UDiv.val[0] = 0.0; 293 SDiv.val[0] = 0.0; 294 SRem.val[0] = 0.0; 295 SMod.val[0] = 0.0; 296 UMod.val[0] = 0.0; 297 LShl.val[0] = 0.0; 298 RShl.val[0] = 0.0; 299 RSha.val[0] = 0.0; 300 IEq.val[0] = 0.0; 301 INeq.val[0] = 0.0; 302 Ult.val[0] = 0.0; 303 Ule.val[0] = 0.0; 304 Ugt.val[0] = 0.0; 305 Uge.val[0] = 0.0; 306 Slt.val[0] = 0.0; 307 Sle.val[0] = 0.0; 308 Sgt.val[0] = 0.0; 309 Sge.val[0] = 0.0; 310 Lor.val[0] = 0.0; 311 Land.val[0] = 0.0; 312 Lnot.val[0] = 0.0; 313 And.val[0] = 0.0; 314 Or.val[0] = 0.0; 315 Xor.val[0] = 0.0; 316 Not.val[0] = 0.0; 317 Leq.val[0] = 0.0; 318 Lneq.val[0] = 0.0; 319 Sel.val[0] = 0.0; 320} 321 322