315 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			315 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 | 
