#version 450 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; #ifndef SPIRV_CROSS_CONSTANT_ID_2 #define SPIRV_CROSS_CONSTANT_ID_2 1 #endif const int SONE = SPIRV_CROSS_CONSTANT_ID_2; #ifndef SPIRV_CROSS_CONSTANT_ID_3 #define SPIRV_CROSS_CONSTANT_ID_3 2 #endif const int STWO = SPIRV_CROSS_CONSTANT_ID_3; const int _10 = (SONE + STWO); const uint _13 = (uint(_10) + 0u); #ifndef SPIRV_CROSS_CONSTANT_ID_5 #define SPIRV_CROSS_CONSTANT_ID_5 1u #endif const uint UONE = SPIRV_CROSS_CONSTANT_ID_5; const uint _15 = (_13 + UONE); #ifndef SPIRV_CROSS_CONSTANT_ID_6 #define SPIRV_CROSS_CONSTANT_ID_6 2u #endif const uint UTWO = SPIRV_CROSS_CONSTANT_ID_6; const uint IADD = (_15 + UTWO); const uint _19 = (IADD - 5u); const uint _28 = (uint(SONE) + 0u); const uint ISUB = (UTWO - _28); const uint IMUL = (UTWO * UTWO); const uint _37 = (IMUL - 3u); const uint UDIV = (UTWO / UTWO); #ifndef SPIRV_CROSS_CONSTANT_ID_4 #define SPIRV_CROSS_CONSTANT_ID_4 -2 #endif const int SNEG_TWO = SPIRV_CROSS_CONSTANT_ID_4; const int SDIV = (STWO / SNEG_TWO); const int _52 = (SDIV + 2); #ifndef SPIRV_CROSS_CONSTANT_ID_7 #define SPIRV_CROSS_CONSTANT_ID_7 -3 #endif const int SNEG_THREE = SPIRV_CROSS_CONSTANT_ID_7; const int SMOD = (STWO % SNEG_THREE); const int _66 = (SMOD + 2); const uint UMOD = (IADD % IMUL); const uint _73 = (UMOD - 1u); const uint LSHL = (IADD << ISUB); const uint _81 = (LSHL - 11u); const uint RSHL = (IADD >> ISUB); const uint _89 = (RSHL - 2u); const int _95 = int(IADD + 0u); const int _96 = (-_95); const int _97 = (-SDIV); const int RSHA = (_96 >> _97); const int _100 = (RSHA + 4); const bool IEQ = (IADD == ISUB); const int _109 = IEQ ? 2 : 1; const bool INEQ = (IADD != ISUB); const int _116 = INEQ ? 1 : 2; const bool ULT = (IADD < ISUB); const int _123 = ULT ? 2 : 1; const bool ULE = (IADD <= ISUB); const int _130 = ULE ? 2 : 1; const bool UGT = (IADD > ISUB); const int _137 = UGT ? 1 : 2; const bool UGE = (IADD >= ISUB); const int _144 = UGE ? 1 : 2; const bool SLT = (SMOD < 1); const int _151 = SLT ? 1 : 2; const bool SLE = (SMOD <= 1); const int _158 = SLE ? 1 : 2; const bool SGT = (SMOD > 1); const int _165 = SGT ? 2 : 1; const bool SGE = (SMOD >= 1); const int _172 = SGE ? 2 : 1; const bool LOR = (IEQ || SLT); const int _179 = LOR ? 1 : 2; const bool LAND = (IEQ && SLT); const int _186 = LAND ? 2 : 1; const bool LNOT = (!LOR); const int _193 = LNOT ? 2 : 1; const uint AND = (IADD & IADD); const uint _200 = (AND - 5u); const uint OR = (IADD | ISUB); const uint _208 = (OR - 6u); const uint XOR = (IADD ^ IADD); const uint _215 = (XOR + 1u); const uint NOT = (~XOR); const uint _223 = (NOT - 4294967294u); const bool LEQ = (LAND == LNOT); const int _230 = LEQ ? 1 : 2; const bool LNEQ = (LAND != LNOT); const int _237 = LNEQ ? 2 : 1; const uint SEL = IEQ ? IADD : ISUB; #ifndef SPIRV_CROSS_CONSTANT_ID_0 #define SPIRV_CROSS_CONSTANT_ID_0 true #endif const bool TRUE = SPIRV_CROSS_CONSTANT_ID_0; #ifndef SPIRV_CROSS_CONSTANT_ID_1 #define SPIRV_CROSS_CONSTANT_ID_1 false #endif const bool FALSE = SPIRV_CROSS_CONSTANT_ID_1; layout(binding = 0, std430) buffer SSBO_IAdd { float val[_19]; float dummy; } IAdd; layout(binding = 1, std430) buffer SSBO_ISub { float val[ISUB]; float dummy; } ISub; layout(binding = 2, std430) buffer SSBO_IMul { float val[_37]; float dummy; } IMul; layout(binding = 3, std430) buffer SSBO_UDiv { float val[UDIV]; float dummy; } UDiv; layout(binding = 4, std430) buffer SSBO_SDiv { float val[_52]; float dummy; } SDiv; layout(binding = 5, std430) buffer SSBO_SRem { float val[1]; float dummy; } SRem; layout(binding = 6, std430) buffer SSBO_SMod { float val[_66]; float dummy; } SMod; layout(binding = 7, std430) buffer SSBO_UMod { float val[_73]; float dummy; } UMod; layout(binding = 8, std430) buffer SSBO_LShl { float val[_81]; float dummy; } LShl; layout(binding = 9, std430) buffer SSBO_RShl { float val[_89]; float dummy; } RShl; layout(binding = 10, std430) buffer SSBO_RSha { float val[_100]; float dummy; } RSha; layout(binding = 11, std430) buffer SSBO_IEq { float val[_109]; float dummy; } IEq; layout(binding = 12, std430) buffer SSBO_INeq { float val[_116]; float dummy; } INeq; layout(binding = 13, std430) buffer SSBO_Ult { float val[_123]; float dummy; } Ult; layout(binding = 14, std430) buffer SSBO_Ule { float val[_130]; float dummy; } Ule; layout(binding = 15, std430) buffer SSBO_Ugt { float val[_137]; float dummy; } Ugt; layout(binding = 16, std430) buffer SSBO_Uge { float val[_144]; float dummy; } Uge; layout(binding = 17, std430) buffer SSBO_Slt { float val[_151]; float dummy; } Slt; layout(binding = 18, std430) buffer SSBO_Sle { float val[_158]; float dummy; } Sle; layout(binding = 19, std430) buffer SSBO_Sgt { float val[_165]; float dummy; } Sgt; layout(binding = 20, std430) buffer SSBO_Sge { float val[_172]; float dummy; } Sge; layout(binding = 21, std430) buffer SSBO_Lor { float val[_179]; float dummy; } Lor; layout(binding = 22, std430) buffer SSBO_Land { float val[_186]; float dummy; } Land; layout(binding = 23, std430) buffer SSBO_Lnot { float val[_193]; float dummy; } Lnot; layout(binding = 24, std430) buffer SSBO_And { float val[_200]; float dummy; } And; layout(binding = 24, std430) buffer SSBO_Or { float val[_208]; float dummy; } Or; layout(binding = 24, std430) buffer SSBO_Xor { float val[_215]; float dummy; } Xor; layout(binding = 25, std430) buffer SSBO_Not { float val[_223]; float dummy; } Not; layout(binding = 26, std430) buffer SSBO_Leq { float val[_230]; float dummy; } Leq; layout(binding = 27, std430) buffer SSBO_Lneq { float val[_237]; float dummy; } Lneq; layout(binding = 28, std430) buffer SSBO_Sel { float val[SEL]; float dummy; } Sel; void main() { IAdd.val[0] = 0.0; ISub.val[0] = 0.0; IMul.val[0] = 0.0; UDiv.val[0] = 0.0; SDiv.val[0] = 0.0; SRem.val[0] = 0.0; SMod.val[0] = 0.0; UMod.val[0] = 0.0; LShl.val[0] = 0.0; RShl.val[0] = 0.0; RSha.val[0] = 0.0; IEq.val[0] = 0.0; INeq.val[0] = 0.0; Ult.val[0] = 0.0; Ule.val[0] = 0.0; Ugt.val[0] = 0.0; Uge.val[0] = 0.0; Slt.val[0] = 0.0; Sle.val[0] = 0.0; Sgt.val[0] = 0.0; Sge.val[0] = 0.0; Lor.val[0] = 0.0; Land.val[0] = 0.0; Lnot.val[0] = 0.0; And.val[0] = 0.0; Or.val[0] = 0.0; Xor.val[0] = 0.0; Not.val[0] = 0.0; Leq.val[0] = 0.0; Lneq.val[0] = 0.0; Sel.val[0] = 0.0; }