spv.shaderBallot.comp Warning, version 450 is not yet complete; most version-specific features are present, but some are missing. Linked compute stage: Missing functionality: shader ballot // Module Version 10000 // Generated by (magic number): 80001 // Id's are bound by 241 Capability Shader Capability Int64 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint GLCompute 4 "main" 10 22 24 27 30 33 ExecutionMode 4 LocalSize 8 8 1 Source GLSL 450 SourceExtension "GL_ARB_gpu_shader_int64" SourceExtension "GL_ARB_shader_ballot" Name 4 "main" Name 8 "invocation" Name 10 "gl_SubGroupInvocationARB" Name 13 "gl_SubGroupSizeARB" Name 20 "relMask" Name 22 "gl_SubGroupEqMaskARB" Name 24 "gl_SubGroupGeMaskARB" Name 27 "gl_SubGroupGtMaskARB" Name 30 "gl_SubGroupLeMaskARB" Name 33 "gl_SubGroupLtMaskARB" Name 48 "Buffers" MemberName 48(Buffers) 0 "f4" MemberName 48(Buffers) 1 "i4" MemberName 48(Buffers) 2 "u4" Name 51 "data" MemberDecorate 48(Buffers) 0 Offset 0 MemberDecorate 48(Buffers) 1 Offset 16 MemberDecorate 48(Buffers) 2 Offset 32 Decorate 48(Buffers) BufferBlock Decorate 51(data) DescriptorSet 0 Decorate 51(data) Binding 0 Decorate 240 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypePointer Function 6(int) 9: TypePointer Input 6(int) 10(gl_SubGroupInvocationARB): 9(ptr) Variable Input 12: TypePointer UniformConstant 6(int) 13(gl_SubGroupSizeARB): 12(ptr) Variable UniformConstant 16: 6(int) Constant 4 18: TypeInt 64 0 19: TypePointer Function 18(int) 21: TypePointer Input 18(int) 22(gl_SubGroupEqMaskARB): 21(ptr) Variable Input 24(gl_SubGroupGeMaskARB): 21(ptr) Variable Input 27(gl_SubGroupGtMaskARB): 21(ptr) Variable Input 30(gl_SubGroupLeMaskARB): 21(ptr) Variable Input 33(gl_SubGroupLtMaskARB): 21(ptr) Variable Input 37: TypeBool 38: 37(bool) ConstantTrue 43: TypeFloat 32 44: TypeVector 43(float) 4 45: TypeInt 32 1 46: TypeVector 45(int) 4 47: TypeVector 6(int) 4 48(Buffers): TypeStruct 44(fvec4) 46(ivec4) 47(ivec4) 49: TypeArray 48(Buffers) 16 50: TypePointer Uniform 49 51(data): 50(ptr) Variable Uniform 53: 45(int) Constant 0 54: 6(int) Constant 0 55: TypePointer Uniform 43(float) 62: 45(int) Constant 1 63: TypeVector 43(float) 2 64: TypePointer Uniform 44(fvec4) 74: 45(int) Constant 2 75: TypeVector 43(float) 3 85: 45(int) Constant 3 92: TypePointer Uniform 45(int) 99: TypeVector 45(int) 2 100: TypePointer Uniform 46(ivec4) 110: TypeVector 45(int) 3 126: TypePointer Uniform 6(int) 133: TypeVector 6(int) 2 134: TypePointer Uniform 47(ivec4) 144: TypeVector 6(int) 3 238: 6(int) Constant 8 239: 6(int) Constant 1 240: 144(ivec3) ConstantComposite 238 238 239 4(main): 2 Function None 3 5: Label 8(invocation): 7(ptr) Variable Function 20(relMask): 19(ptr) Variable Function 11: 6(int) Load 10(gl_SubGroupInvocationARB) 14: 6(int) Load 13(gl_SubGroupSizeARB) 15: 6(int) IAdd 11 14 17: 6(int) UMod 15 16 Store 8(invocation) 17 23: 18(int) Load 22(gl_SubGroupEqMaskARB) 25: 18(int) Load 24(gl_SubGroupGeMaskARB) 26: 18(int) IAdd 23 25 28: 18(int) Load 27(gl_SubGroupGtMaskARB) 29: 18(int) IAdd 26 28 31: 18(int) Load 30(gl_SubGroupLeMaskARB) 32: 18(int) IAdd 29 31 34: 18(int) Load 33(gl_SubGroupLtMaskARB) 35: 18(int) IAdd 32 34 Store 20(relMask) 35 36: 18(int) Load 20(relMask) 39: 18(int) ExtInst 1(GLSL.std.450) 0(Unknown) 38 40: 37(bool) IEqual 36 39 SelectionMerge 42 None BranchConditional 40 41 159 41: Label 52: 6(int) Load 8(invocation) 56: 55(ptr) AccessChain 51(data) 53 53 54 57: 43(float) Load 56 58: 6(int) Load 8(invocation) 59: 43(float) ExtInst 1(GLSL.std.450) 0(Unknown) 57 58 60: 55(ptr) AccessChain 51(data) 52 53 54 Store 60 59 61: 6(int) Load 8(invocation) 65: 64(ptr) AccessChain 51(data) 62 53 66: 44(fvec4) Load 65 67: 63(fvec2) VectorShuffle 66 66 0 1 68: 6(int) Load 8(invocation) 69: 63(fvec2) ExtInst 1(GLSL.std.450) 0(Unknown) 67 68 70: 64(ptr) AccessChain 51(data) 61 53 71: 44(fvec4) Load 70 72: 44(fvec4) VectorShuffle 71 69 4 5 2 3 Store 70 72 73: 6(int) Load 8(invocation) 76: 64(ptr) AccessChain 51(data) 74 53 77: 44(fvec4) Load 76 78: 75(fvec3) VectorShuffle 77 77 0 1 2 79: 6(int) Load 8(invocation) 80: 75(fvec3) ExtInst 1(GLSL.std.450) 0(Unknown) 78 79 81: 64(ptr) AccessChain 51(data) 73 53 82: 44(fvec4) Load 81 83: 44(fvec4) VectorShuffle 82 80 4 5 6 3 Store 81 83 84: 6(int) Load 8(invocation) 86: 64(ptr) AccessChain 51(data) 85 53 87: 44(fvec4) Load 86 88: 6(int) Load 8(invocation) 89: 44(fvec4) ExtInst 1(GLSL.std.450) 0(Unknown) 87 88 90: 64(ptr) AccessChain 51(data) 84 53 Store 90 89 91: 6(int) Load 8(invocation) 93: 92(ptr) AccessChain 51(data) 53 62 54 94: 45(int) Load 93 95: 6(int) Load 8(invocation) 96: 45(int) ExtInst 1(GLSL.std.450) 0(Unknown) 94 95 97: 92(ptr) AccessChain 51(data) 91 62 54 Store 97 96 98: 6(int) Load 8(invocation) 101: 100(ptr) AccessChain 51(data) 62 62 102: 46(ivec4) Load 101 103: 99(ivec2) VectorShuffle 102 102 0 1 104: 6(int) Load 8(invocation) 105: 99(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 103 104 106: 100(ptr) AccessChain 51(data) 98 62 107: 46(ivec4) Load 106 108: 46(ivec4) VectorShuffle 107 105 4 5 2 3 Store 106 108 109: 6(int) Load 8(invocation) 111: 100(ptr) AccessChain 51(data) 74 62 112: 46(ivec4) Load 111 113: 110(ivec3) VectorShuffle 112 112 0 1 2 114: 6(int) Load 8(invocation) 115: 110(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 113 114 116: 100(ptr) AccessChain 51(data) 109 62 117: 46(ivec4) Load 116 118: 46(ivec4) VectorShuffle 117 115 4 5 6 3 Store 116 118 119: 6(int) Load 8(invocation) 120: 100(ptr) AccessChain 51(data) 85 62 121: 46(ivec4) Load 120 122: 6(int) Load 8(invocation) 123: 46(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 121 122 124: 100(ptr) AccessChain 51(data) 119 62 Store 124 123 125: 6(int) Load 8(invocation) 127: 126(ptr) AccessChain 51(data) 53 74 54 128: 6(int) Load 127 129: 6(int) Load 8(invocation) 130: 6(int) ExtInst 1(GLSL.std.450) 0(Unknown) 128 129 131: 126(ptr) AccessChain 51(data) 125 74 54 Store 131 130 132: 6(int) Load 8(invocation) 135: 134(ptr) AccessChain 51(data) 62 74 136: 47(ivec4) Load 135 137: 133(ivec2) VectorShuffle 136 136 0 1 138: 6(int) Load 8(invocation) 139: 133(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 137 138 140: 134(ptr) AccessChain 51(data) 132 74 141: 47(ivec4) Load 140 142: 47(ivec4) VectorShuffle 141 139 4 5 2 3 Store 140 142 143: 6(int) Load 8(invocation) 145: 134(ptr) AccessChain 51(data) 74 74 146: 47(ivec4) Load 145 147: 144(ivec3) VectorShuffle 146 146 0 1 2 148: 6(int) Load 8(invocation) 149: 144(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 147 148 150: 134(ptr) AccessChain 51(data) 143 74 151: 47(ivec4) Load 150 152: 47(ivec4) VectorShuffle 151 149 4 5 6 3 Store 150 152 153: 6(int) Load 8(invocation) 154: 134(ptr) AccessChain 51(data) 85 74 155: 47(ivec4) Load 154 156: 6(int) Load 8(invocation) 157: 47(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 155 156 158: 134(ptr) AccessChain 51(data) 153 74 Store 158 157 Branch 42 159: Label 160: 6(int) Load 8(invocation) 161: 55(ptr) AccessChain 51(data) 53 53 54 162: 43(float) Load 161 163: 43(float) ExtInst 1(GLSL.std.450) 0(Unknown) 162 164: 55(ptr) AccessChain 51(data) 160 53 54 Store 164 163 165: 6(int) Load 8(invocation) 166: 64(ptr) AccessChain 51(data) 62 53 167: 44(fvec4) Load 166 168: 63(fvec2) VectorShuffle 167 167 0 1 169: 63(fvec2) ExtInst 1(GLSL.std.450) 0(Unknown) 168 170: 64(ptr) AccessChain 51(data) 165 53 171: 44(fvec4) Load 170 172: 44(fvec4) VectorShuffle 171 169 4 5 2 3 Store 170 172 173: 6(int) Load 8(invocation) 174: 64(ptr) AccessChain 51(data) 74 53 175: 44(fvec4) Load 174 176: 75(fvec3) VectorShuffle 175 175 0 1 2 177: 75(fvec3) ExtInst 1(GLSL.std.450) 0(Unknown) 176 178: 64(ptr) AccessChain 51(data) 173 53 179: 44(fvec4) Load 178 180: 44(fvec4) VectorShuffle 179 177 4 5 6 3 Store 178 180 181: 6(int) Load 8(invocation) 182: 64(ptr) AccessChain 51(data) 85 53 183: 44(fvec4) Load 182 184: 44(fvec4) ExtInst 1(GLSL.std.450) 0(Unknown) 183 185: 64(ptr) AccessChain 51(data) 181 53 Store 185 184 186: 6(int) Load 8(invocation) 187: 92(ptr) AccessChain 51(data) 53 62 54 188: 45(int) Load 187 189: 45(int) ExtInst 1(GLSL.std.450) 0(Unknown) 188 190: 92(ptr) AccessChain 51(data) 186 62 54 Store 190 189 191: 6(int) Load 8(invocation) 192: 100(ptr) AccessChain 51(data) 62 62 193: 46(ivec4) Load 192 194: 99(ivec2) VectorShuffle 193 193 0 1 195: 99(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 194 196: 100(ptr) AccessChain 51(data) 191 62 197: 46(ivec4) Load 196 198: 46(ivec4) VectorShuffle 197 195 4 5 2 3 Store 196 198 199: 6(int) Load 8(invocation) 200: 100(ptr) AccessChain 51(data) 74 62 201: 46(ivec4) Load 200 202: 110(ivec3) VectorShuffle 201 201 0 1 2 203: 110(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 202 204: 100(ptr) AccessChain 51(data) 199 62 205: 46(ivec4) Load 204 206: 46(ivec4) VectorShuffle 205 203 4 5 6 3 Store 204 206 207: 6(int) Load 8(invocation) 208: 100(ptr) AccessChain 51(data) 85 62 209: 46(ivec4) Load 208 210: 46(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 209 211: 100(ptr) AccessChain 51(data) 207 62 Store 211 210 212: 6(int) Load 8(invocation) 213: 126(ptr) AccessChain 51(data) 53 74 54 214: 6(int) Load 213 215: 6(int) ExtInst 1(GLSL.std.450) 0(Unknown) 214 216: 126(ptr) AccessChain 51(data) 212 74 54 Store 216 215 217: 6(int) Load 8(invocation) 218: 134(ptr) AccessChain 51(data) 62 74 219: 47(ivec4) Load 218 220: 133(ivec2) VectorShuffle 219 219 0 1 221: 133(ivec2) ExtInst 1(GLSL.std.450) 0(Unknown) 220 222: 134(ptr) AccessChain 51(data) 217 74 223: 47(ivec4) Load 222 224: 47(ivec4) VectorShuffle 223 221 4 5 2 3 Store 222 224 225: 6(int) Load 8(invocation) 226: 134(ptr) AccessChain 51(data) 74 74 227: 47(ivec4) Load 226 228: 144(ivec3) VectorShuffle 227 227 0 1 2 229: 144(ivec3) ExtInst 1(GLSL.std.450) 0(Unknown) 228 230: 134(ptr) AccessChain 51(data) 225 74 231: 47(ivec4) Load 230 232: 47(ivec4) VectorShuffle 231 229 4 5 6 3 Store 230 232 233: 6(int) Load 8(invocation) 234: 134(ptr) AccessChain 51(data) 85 74 235: 47(ivec4) Load 234 236: 47(ivec4) ExtInst 1(GLSL.std.450) 0(Unknown) 235 237: 134(ptr) AccessChain 51(data) 233 74 Store 237 236 Branch 42 42: Label Return FunctionEnd