| 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 |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| Missing functionality: shader ballot |
| 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 |