| spv.subgroupVote.comp |
| // Module Version 10300 |
| // Generated by (magic number): 80006 |
| // Id's are bound by 216 |
| |
| Capability Shader |
| Capability Float64 |
| Capability GroupNonUniform |
| Capability GroupNonUniformVote |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint GLCompute 4 "main" 10 12 |
| ExecutionMode 4 LocalSize 8 8 1 |
| Source GLSL 450 |
| SourceExtension "GL_KHR_shader_subgroup_basic" |
| SourceExtension "GL_KHR_shader_subgroup_vote" |
| Name 4 "main" |
| Name 8 "invocation" |
| Name 10 "gl_SubgroupInvocationID" |
| Name 12 "gl_SubgroupSize" |
| Name 24 "Buffers" |
| MemberName 24(Buffers) 0 "f4" |
| MemberName 24(Buffers) 1 "i4" |
| MemberName 24(Buffers) 2 "u4" |
| MemberName 24(Buffers) 3 "d4" |
| MemberName 24(Buffers) 4 "r" |
| Name 27 "data" |
| Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision |
| Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId |
| Decorate 11 RelaxedPrecision |
| Decorate 12(gl_SubgroupSize) RelaxedPrecision |
| Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize |
| Decorate 13 RelaxedPrecision |
| Decorate 14 RelaxedPrecision |
| Decorate 16 RelaxedPrecision |
| MemberDecorate 24(Buffers) 0 Offset 0 |
| MemberDecorate 24(Buffers) 1 Offset 16 |
| MemberDecorate 24(Buffers) 2 Offset 32 |
| MemberDecorate 24(Buffers) 3 Offset 64 |
| MemberDecorate 24(Buffers) 4 Offset 96 |
| Decorate 24(Buffers) BufferBlock |
| Decorate 27(data) DescriptorSet 0 |
| Decorate 27(data) Binding 0 |
| Decorate 215 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7: TypePointer Function 6(int) |
| 9: TypePointer Input 6(int) |
| 10(gl_SubgroupInvocationID): 9(ptr) Variable Input |
| 12(gl_SubgroupSize): 9(ptr) Variable Input |
| 15: 6(int) Constant 4 |
| 17: TypeFloat 32 |
| 18: TypeVector 17(float) 4 |
| 19: TypeInt 32 1 |
| 20: TypeVector 19(int) 4 |
| 21: TypeVector 6(int) 4 |
| 22: TypeFloat 64 |
| 23: TypeVector 22(float64_t) 4 |
| 24(Buffers): TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4) 19(int) |
| 25: TypeArray 24(Buffers) 15 |
| 26: TypePointer Uniform 25 |
| 27(data): 26(ptr) Variable Uniform |
| 29: 19(int) Constant 4 |
| 30: TypePointer Uniform 19(int) |
| 33: 19(int) Constant 0 |
| 34: TypeBool |
| 36: 6(int) Constant 3 |
| 41: 6(int) Constant 0 |
| 42: TypePointer Uniform 17(float) |
| 46: 19(int) Constant 1 |
| 50: TypeVector 17(float) 2 |
| 51: TypePointer Uniform 18(fvec4) |
| 59: 19(int) Constant 2 |
| 60: TypeVector 17(float) 3 |
| 68: 19(int) Constant 3 |
| 81: TypeVector 19(int) 2 |
| 82: TypePointer Uniform 20(ivec4) |
| 90: TypeVector 19(int) 3 |
| 104: TypePointer Uniform 6(int) |
| 111: TypeVector 6(int) 2 |
| 112: TypePointer Uniform 21(ivec4) |
| 120: TypeVector 6(int) 3 |
| 142: TypePointer Uniform 22(float64_t) |
| 149: TypeVector 22(float64_t) 2 |
| 150: TypePointer Uniform 23(f64vec4) |
| 158: TypeVector 22(float64_t) 3 |
| 182: 81(ivec2) ConstantComposite 33 33 |
| 183: TypeVector 34(bool) 2 |
| 194: 90(ivec3) ConstantComposite 33 33 33 |
| 195: TypeVector 34(bool) 3 |
| 205: 20(ivec4) ConstantComposite 33 33 33 33 |
| 206: TypeVector 34(bool) 4 |
| 213: 6(int) Constant 8 |
| 214: 6(int) Constant 1 |
| 215: 120(ivec3) ConstantComposite 213 213 214 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 8(invocation): 7(ptr) Variable Function |
| 11: 6(int) Load 10(gl_SubgroupInvocationID) |
| 13: 6(int) Load 12(gl_SubgroupSize) |
| 14: 6(int) IAdd 11 13 |
| 16: 6(int) UMod 14 15 |
| Store 8(invocation) 16 |
| 28: 6(int) Load 8(invocation) |
| 31: 30(ptr) AccessChain 27(data) 28 29 |
| 32: 19(int) Load 31 |
| 35: 34(bool) SLessThan 32 33 |
| 37: 34(bool) GroupNonUniformAll 36 35 |
| SelectionMerge 39 None |
| BranchConditional 37 38 133 |
| 38: Label |
| 40: 6(int) Load 8(invocation) |
| 43: 42(ptr) AccessChain 27(data) 33 33 41 |
| 44: 17(float) Load 43 |
| 45: 34(bool) GroupNonUniformAllEqual 36 44 |
| 47: 19(int) Select 45 46 33 |
| 48: 30(ptr) AccessChain 27(data) 40 29 |
| Store 48 47 |
| 49: 6(int) Load 8(invocation) |
| 52: 51(ptr) AccessChain 27(data) 46 33 |
| 53: 18(fvec4) Load 52 |
| 54: 50(fvec2) VectorShuffle 53 53 0 1 |
| 55: 34(bool) GroupNonUniformAllEqual 36 54 |
| 56: 19(int) Select 55 46 33 |
| 57: 30(ptr) AccessChain 27(data) 49 29 |
| Store 57 56 |
| 58: 6(int) Load 8(invocation) |
| 61: 51(ptr) AccessChain 27(data) 59 33 |
| 62: 18(fvec4) Load 61 |
| 63: 60(fvec3) VectorShuffle 62 62 0 1 2 |
| 64: 34(bool) GroupNonUniformAllEqual 36 63 |
| 65: 19(int) Select 64 46 33 |
| 66: 30(ptr) AccessChain 27(data) 58 29 |
| Store 66 65 |
| 67: 6(int) Load 8(invocation) |
| 69: 51(ptr) AccessChain 27(data) 68 33 |
| 70: 18(fvec4) Load 69 |
| 71: 34(bool) GroupNonUniformAllEqual 36 70 |
| 72: 19(int) Select 71 46 33 |
| 73: 30(ptr) AccessChain 27(data) 67 29 |
| Store 73 72 |
| 74: 6(int) Load 8(invocation) |
| 75: 30(ptr) AccessChain 27(data) 33 46 41 |
| 76: 19(int) Load 75 |
| 77: 34(bool) GroupNonUniformAllEqual 36 76 |
| 78: 19(int) Select 77 46 33 |
| 79: 30(ptr) AccessChain 27(data) 74 29 |
| Store 79 78 |
| 80: 6(int) Load 8(invocation) |
| 83: 82(ptr) AccessChain 27(data) 46 46 |
| 84: 20(ivec4) Load 83 |
| 85: 81(ivec2) VectorShuffle 84 84 0 1 |
| 86: 34(bool) GroupNonUniformAllEqual 36 85 |
| 87: 19(int) Select 86 46 33 |
| 88: 30(ptr) AccessChain 27(data) 80 29 |
| Store 88 87 |
| 89: 6(int) Load 8(invocation) |
| 91: 82(ptr) AccessChain 27(data) 59 46 |
| 92: 20(ivec4) Load 91 |
| 93: 90(ivec3) VectorShuffle 92 92 0 1 2 |
| 94: 34(bool) GroupNonUniformAllEqual 36 93 |
| 95: 19(int) Select 94 46 33 |
| 96: 30(ptr) AccessChain 27(data) 89 29 |
| Store 96 95 |
| 97: 6(int) Load 8(invocation) |
| 98: 82(ptr) AccessChain 27(data) 68 46 |
| 99: 20(ivec4) Load 98 |
| 100: 34(bool) GroupNonUniformAllEqual 36 99 |
| 101: 19(int) Select 100 46 33 |
| 102: 30(ptr) AccessChain 27(data) 97 29 |
| Store 102 101 |
| 103: 6(int) Load 8(invocation) |
| 105: 104(ptr) AccessChain 27(data) 33 59 41 |
| 106: 6(int) Load 105 |
| 107: 34(bool) GroupNonUniformAllEqual 36 106 |
| 108: 19(int) Select 107 46 33 |
| 109: 30(ptr) AccessChain 27(data) 103 29 |
| Store 109 108 |
| 110: 6(int) Load 8(invocation) |
| 113: 112(ptr) AccessChain 27(data) 46 59 |
| 114: 21(ivec4) Load 113 |
| 115: 111(ivec2) VectorShuffle 114 114 0 1 |
| 116: 34(bool) GroupNonUniformAllEqual 36 115 |
| 117: 19(int) Select 116 46 33 |
| 118: 30(ptr) AccessChain 27(data) 110 29 |
| Store 118 117 |
| 119: 6(int) Load 8(invocation) |
| 121: 112(ptr) AccessChain 27(data) 59 59 |
| 122: 21(ivec4) Load 121 |
| 123: 120(ivec3) VectorShuffle 122 122 0 1 2 |
| 124: 34(bool) GroupNonUniformAllEqual 36 123 |
| 125: 19(int) Select 124 46 33 |
| 126: 30(ptr) AccessChain 27(data) 119 29 |
| Store 126 125 |
| 127: 6(int) Load 8(invocation) |
| 128: 112(ptr) AccessChain 27(data) 68 59 |
| 129: 21(ivec4) Load 128 |
| 130: 34(bool) GroupNonUniformAllEqual 36 129 |
| 131: 19(int) Select 130 46 33 |
| 132: 30(ptr) AccessChain 27(data) 127 29 |
| Store 132 131 |
| Branch 39 |
| 133: Label |
| 134: 6(int) Load 8(invocation) |
| 135: 30(ptr) AccessChain 27(data) 134 29 |
| 136: 19(int) Load 135 |
| 137: 34(bool) SLessThan 136 33 |
| 138: 34(bool) GroupNonUniformAny 36 137 |
| SelectionMerge 140 None |
| BranchConditional 138 139 140 |
| 139: Label |
| 141: 6(int) Load 8(invocation) |
| 143: 142(ptr) AccessChain 27(data) 33 68 41 |
| 144:22(float64_t) Load 143 |
| 145: 34(bool) GroupNonUniformAllEqual 36 144 |
| 146: 19(int) Select 145 46 33 |
| 147: 30(ptr) AccessChain 27(data) 141 29 |
| Store 147 146 |
| 148: 6(int) Load 8(invocation) |
| 151: 150(ptr) AccessChain 27(data) 46 68 |
| 152: 23(f64vec4) Load 151 |
| 153:149(f64vec2) VectorShuffle 152 152 0 1 |
| 154: 34(bool) GroupNonUniformAllEqual 36 153 |
| 155: 19(int) Select 154 46 33 |
| 156: 30(ptr) AccessChain 27(data) 148 29 |
| Store 156 155 |
| 157: 6(int) Load 8(invocation) |
| 159: 150(ptr) AccessChain 27(data) 59 68 |
| 160: 23(f64vec4) Load 159 |
| 161:158(f64vec3) VectorShuffle 160 160 0 1 2 |
| 162: 34(bool) GroupNonUniformAllEqual 36 161 |
| 163: 19(int) Select 162 46 33 |
| 164: 30(ptr) AccessChain 27(data) 157 29 |
| Store 164 163 |
| 165: 6(int) Load 8(invocation) |
| 166: 150(ptr) AccessChain 27(data) 68 68 |
| 167: 23(f64vec4) Load 166 |
| 168: 34(bool) GroupNonUniformAllEqual 36 167 |
| 169: 19(int) Select 168 46 33 |
| 170: 30(ptr) AccessChain 27(data) 165 29 |
| Store 170 169 |
| 171: 6(int) Load 8(invocation) |
| 172: 30(ptr) AccessChain 27(data) 33 46 41 |
| 173: 19(int) Load 172 |
| 174: 34(bool) SLessThan 173 33 |
| 175: 34(bool) GroupNonUniformAllEqual 36 174 |
| 176: 19(int) Select 175 46 33 |
| 177: 30(ptr) AccessChain 27(data) 171 29 |
| Store 177 176 |
| 178: 6(int) Load 8(invocation) |
| 179: 82(ptr) AccessChain 27(data) 46 46 |
| 180: 20(ivec4) Load 179 |
| 181: 81(ivec2) VectorShuffle 180 180 0 1 |
| 184: 183(bvec2) SLessThan 181 182 |
| 185: 34(bool) GroupNonUniformAllEqual 36 184 |
| 186: 19(int) Select 185 46 33 |
| 187: 81(ivec2) CompositeConstruct 186 186 |
| 188: 19(int) CompositeExtract 187 0 |
| 189: 30(ptr) AccessChain 27(data) 178 29 |
| Store 189 188 |
| 190: 6(int) Load 8(invocation) |
| 191: 82(ptr) AccessChain 27(data) 46 46 |
| 192: 20(ivec4) Load 191 |
| 193: 90(ivec3) VectorShuffle 192 192 0 1 2 |
| 196: 195(bvec3) SLessThan 193 194 |
| 197: 34(bool) GroupNonUniformAllEqual 36 196 |
| 198: 19(int) Select 197 46 33 |
| 199: 90(ivec3) CompositeConstruct 198 198 198 |
| 200: 19(int) CompositeExtract 199 0 |
| 201: 30(ptr) AccessChain 27(data) 190 29 |
| Store 201 200 |
| 202: 6(int) Load 8(invocation) |
| 203: 82(ptr) AccessChain 27(data) 46 46 |
| 204: 20(ivec4) Load 203 |
| 207: 206(bvec4) SLessThan 204 205 |
| 208: 34(bool) GroupNonUniformAllEqual 36 207 |
| 209: 19(int) Select 208 46 33 |
| 210: 20(ivec4) CompositeConstruct 209 209 209 209 |
| 211: 19(int) CompositeExtract 210 0 |
| 212: 30(ptr) AccessChain 27(data) 202 29 |
| Store 212 211 |
| Branch 140 |
| 140: Label |
| Branch 39 |
| 39: Label |
| Return |
| FunctionEnd |