| spv.460.subgroupEXT.mesh |
| // Module Version 10400 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 279 |
| |
| Capability ClipDistance |
| Capability CullDistance |
| Capability GroupNonUniform |
| Capability GroupNonUniformVote |
| Capability GroupNonUniformArithmetic |
| Capability GroupNonUniformBallot |
| Capability GroupNonUniformShuffle |
| Capability GroupNonUniformShuffleRelative |
| Capability GroupNonUniformClustered |
| Capability GroupNonUniformQuad |
| Capability MeshShadingEXT |
| Extension "SPV_EXT_mesh_shader" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint MeshEXT 4 "main" 35 41 57 109 147 161 162 167 168 171 172 173 174 175 |
| ExecutionMode 4 LocalSize 32 1 1 |
| ExecutionMode 4 OutputVertices 81 |
| ExecutionMode 4 OutputPrimitivesNV 32 |
| ExecutionMode 4 OutputTrianglesNV |
| Source GLSL 460 |
| SourceExtension "GL_EXT_mesh_shader" |
| SourceExtension "GL_KHR_shader_subgroup_arithmetic" |
| SourceExtension "GL_KHR_shader_subgroup_ballot" |
| SourceExtension "GL_KHR_shader_subgroup_basic" |
| SourceExtension "GL_KHR_shader_subgroup_clustered" |
| SourceExtension "GL_KHR_shader_subgroup_quad" |
| SourceExtension "GL_KHR_shader_subgroup_shuffle" |
| SourceExtension "GL_KHR_shader_subgroup_shuffle_relative" |
| SourceExtension "GL_KHR_shader_subgroup_vote" |
| Name 4 "main" |
| Name 6 "basic_works(" |
| Name 13 "ballot_works(vf4;" |
| Name 12 "f4" |
| Name 16 "vote_works(vf4;" |
| Name 15 "f4" |
| Name 19 "shuffle_works(vf4;" |
| Name 18 "f4" |
| Name 22 "arith_works(vf4;" |
| Name 21 "f4" |
| Name 25 "clustered_works(vf4;" |
| Name 24 "f4" |
| Name 28 "quad_works(vf4;" |
| Name 27 "f4" |
| Name 32 "iid" |
| Name 35 "gl_LocalInvocationID" |
| Name 40 "gid" |
| Name 41 "gl_WorkGroupID" |
| Name 44 "vertexCount" |
| Name 46 "primitiveCount" |
| Name 54 "gl_MeshPerVertexEXT" |
| MemberName 54(gl_MeshPerVertexEXT) 0 "gl_Position" |
| MemberName 54(gl_MeshPerVertexEXT) 1 "gl_PointSize" |
| MemberName 54(gl_MeshPerVertexEXT) 2 "gl_ClipDistance" |
| MemberName 54(gl_MeshPerVertexEXT) 3 "gl_CullDistance" |
| Name 57 "gl_MeshVerticesEXT" |
| Name 106 "gl_MeshPerPrimitiveEXT" |
| MemberName 106(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID" |
| MemberName 106(gl_MeshPerPrimitiveEXT) 1 "gl_Layer" |
| MemberName 106(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex" |
| MemberName 106(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT" |
| Name 109 "gl_MeshPrimitivesEXT" |
| Name 147 "gl_PrimitiveTriangleIndicesEXT" |
| Name 161 "gl_SubgroupSize" |
| Name 162 "gl_SubgroupInvocationID" |
| Name 167 "gl_NumSubgroups" |
| Name 168 "gl_SubgroupID" |
| Name 171 "gl_SubgroupEqMask" |
| Name 172 "gl_SubgroupGeMask" |
| Name 173 "gl_SubgroupGtMask" |
| Name 174 "gl_SubgroupLeMask" |
| Name 175 "gl_SubgroupLtMask" |
| Name 181 "ballot" |
| Name 218 "ballot" |
| Name 253 "ballot" |
| Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId |
| Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId |
| MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position |
| MemberDecorate 54(gl_MeshPerVertexEXT) 1 BuiltIn PointSize |
| MemberDecorate 54(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance |
| MemberDecorate 54(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance |
| Decorate 54(gl_MeshPerVertexEXT) Block |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT |
| Decorate 106(gl_MeshPerPrimitiveEXT) Block |
| Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT |
| Decorate 161(gl_SubgroupSize) RelaxedPrecision |
| Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize |
| Decorate 162(gl_SubgroupInvocationID) RelaxedPrecision |
| Decorate 162(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId |
| Decorate 167(gl_NumSubgroups) BuiltIn NumSubgroups |
| Decorate 168(gl_SubgroupID) BuiltIn SubgroupId |
| Decorate 171(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR |
| Decorate 172(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR |
| Decorate 173(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR |
| Decorate 174(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR |
| Decorate 175(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR |
| Decorate 278 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 8: TypeFloat 32 |
| 9: TypeVector 8(float) 4 |
| 10: TypePointer Function 9(fvec4) |
| 11: TypeFunction 2 10(ptr) |
| 30: TypeInt 32 0 |
| 31: TypePointer Function 30(int) |
| 33: TypeVector 30(int) 3 |
| 34: TypePointer Input 33(ivec3) |
| 35(gl_LocalInvocationID): 34(ptr) Variable Input |
| 36: 30(int) Constant 0 |
| 37: TypePointer Input 30(int) |
| 41(gl_WorkGroupID): 34(ptr) Variable Input |
| 45: 30(int) Constant 81 |
| 47: 30(int) Constant 32 |
| 50: 30(int) Constant 4 |
| 51: TypeArray 8(float) 50 |
| 52: 30(int) Constant 3 |
| 53: TypeArray 8(float) 52 |
| 54(gl_MeshPerVertexEXT): TypeStruct 9(fvec4) 8(float) 51 53 |
| 55: TypeArray 54(gl_MeshPerVertexEXT) 45 |
| 56: TypePointer Output 55 |
| 57(gl_MeshVerticesEXT): 56(ptr) Variable Output |
| 59: TypeInt 32 1 |
| 60: 59(int) Constant 0 |
| 61: 8(float) Constant 1065353216 |
| 62: 9(fvec4) ConstantComposite 61 61 61 61 |
| 63: TypePointer Output 9(fvec4) |
| 66: 59(int) Constant 1 |
| 67: 8(float) Constant 1073741824 |
| 68: TypePointer Output 8(float) |
| 71: 59(int) Constant 2 |
| 72: 59(int) Constant 3 |
| 73: 8(float) Constant 1077936128 |
| 76: 8(float) Constant 1082130432 |
| 78: 30(int) Constant 1 |
| 79: 30(int) Constant 264 |
| 80: 30(int) Constant 2 |
| 105: TypeBool |
| 106(gl_MeshPerPrimitiveEXT): TypeStruct 59(int) 59(int) 59(int) 105(bool) |
| 107: TypeArray 106(gl_MeshPerPrimitiveEXT) 47 |
| 108: TypePointer Output 107 |
| 109(gl_MeshPrimitivesEXT): 108(ptr) Variable Output |
| 111: 59(int) Constant 6 |
| 112: TypePointer Output 59(int) |
| 115: 59(int) Constant 7 |
| 118: 59(int) Constant 8 |
| 121: 105(bool) ConstantFalse |
| 122: TypePointer Output 105(bool) |
| 145: TypeArray 33(ivec3) 47 |
| 146: TypePointer Output 145 |
| 147(gl_PrimitiveTriangleIndicesEXT): 146(ptr) Variable Output |
| 148: 33(ivec3) ConstantComposite 78 78 78 |
| 149: TypePointer Output 33(ivec3) |
| 153: 33(ivec3) ConstantComposite 80 80 80 |
| 161(gl_SubgroupSize): 37(ptr) Variable Input |
| 162(gl_SubgroupInvocationID): 37(ptr) Variable Input |
| 163: 30(int) Constant 3400 |
| 164: 30(int) Constant 72 |
| 165: 30(int) Constant 2056 |
| 167(gl_NumSubgroups): 37(ptr) Variable Input |
| 168(gl_SubgroupID): 37(ptr) Variable Input |
| 169: TypeVector 30(int) 4 |
| 170: TypePointer Input 169(ivec4) |
| 171(gl_SubgroupEqMask): 170(ptr) Variable Input |
| 172(gl_SubgroupGeMask): 170(ptr) Variable Input |
| 173(gl_SubgroupGtMask): 170(ptr) Variable Input |
| 174(gl_SubgroupLeMask): 170(ptr) Variable Input |
| 175(gl_SubgroupLtMask): 170(ptr) Variable Input |
| 180: TypePointer Function 169(ivec4) |
| 183: 169(ivec4) ConstantComposite 78 78 78 78 |
| 197: 105(bool) ConstantTrue |
| 254: 30(int) Constant 85 |
| 255: 169(ivec4) ConstantComposite 254 36 36 36 |
| 278: 33(ivec3) ConstantComposite 47 78 78 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 32(iid): 31(ptr) Variable Function |
| 40(gid): 31(ptr) Variable Function |
| 44(vertexCount): 31(ptr) Variable Function |
| 46(primitiveCount): 31(ptr) Variable Function |
| 38: 37(ptr) AccessChain 35(gl_LocalInvocationID) 36 |
| 39: 30(int) Load 38 |
| Store 32(iid) 39 |
| 42: 37(ptr) AccessChain 41(gl_WorkGroupID) 36 |
| 43: 30(int) Load 42 |
| Store 40(gid) 43 |
| Store 44(vertexCount) 45 |
| Store 46(primitiveCount) 47 |
| 48: 30(int) Load 44(vertexCount) |
| 49: 30(int) Load 46(primitiveCount) |
| SetMeshOutputsEXT 48 49 |
| 58: 30(int) Load 32(iid) |
| 64: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 58 60 |
| Store 64 62 |
| 65: 30(int) Load 32(iid) |
| 69: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 65 66 |
| Store 69 67 |
| 70: 30(int) Load 32(iid) |
| 74: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 70 71 72 |
| Store 74 73 |
| 75: 30(int) Load 32(iid) |
| 77: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 75 72 71 |
| Store 77 76 |
| MemoryBarrier 78 79 |
| ControlBarrier 80 80 79 |
| 81: 30(int) Load 32(iid) |
| 82: 30(int) IAdd 81 78 |
| 83: 30(int) Load 32(iid) |
| 84: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 83 60 |
| 85: 9(fvec4) Load 84 |
| 86: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 82 60 |
| Store 86 85 |
| 87: 30(int) Load 32(iid) |
| 88: 30(int) IAdd 87 78 |
| 89: 30(int) Load 32(iid) |
| 90: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 89 66 |
| 91: 8(float) Load 90 |
| 92: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 88 66 |
| Store 92 91 |
| 93: 30(int) Load 32(iid) |
| 94: 30(int) IAdd 93 78 |
| 95: 30(int) Load 32(iid) |
| 96: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 95 71 72 |
| 97: 8(float) Load 96 |
| 98: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 94 71 72 |
| Store 98 97 |
| 99: 30(int) Load 32(iid) |
| 100: 30(int) IAdd 99 78 |
| 101: 30(int) Load 32(iid) |
| 102: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 101 72 71 |
| 103: 8(float) Load 102 |
| 104: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 100 72 71 |
| Store 104 103 |
| MemoryBarrier 78 79 |
| ControlBarrier 80 80 79 |
| 110: 30(int) Load 32(iid) |
| 113: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 110 60 |
| Store 113 111 |
| 114: 30(int) Load 32(iid) |
| 116: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 114 66 |
| Store 116 115 |
| 117: 30(int) Load 32(iid) |
| 119: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 117 71 |
| Store 119 118 |
| 120: 30(int) Load 32(iid) |
| 123: 122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 120 72 |
| Store 123 121 |
| MemoryBarrier 78 79 |
| ControlBarrier 80 80 79 |
| 124: 30(int) Load 32(iid) |
| 125: 30(int) IAdd 124 78 |
| 126: 30(int) Load 32(iid) |
| 127: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 126 60 |
| 128: 59(int) Load 127 |
| 129: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 125 60 |
| Store 129 128 |
| 130: 30(int) Load 32(iid) |
| 131: 30(int) IAdd 130 78 |
| 132: 30(int) Load 32(iid) |
| 133: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 132 66 |
| 134: 59(int) Load 133 |
| 135: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 131 66 |
| Store 135 134 |
| 136: 30(int) Load 32(iid) |
| 137: 30(int) IAdd 136 78 |
| 138: 30(int) Load 32(iid) |
| 139: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 138 71 |
| 140: 59(int) Load 139 |
| 141: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 137 71 |
| Store 141 140 |
| 142: 30(int) Load 32(iid) |
| 143: 30(int) IAdd 142 78 |
| 144: 122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 143 72 |
| Store 144 121 |
| MemoryBarrier 78 79 |
| ControlBarrier 80 80 79 |
| 150: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 60 |
| Store 150 148 |
| 151: 30(int) Load 46(primitiveCount) |
| 152: 30(int) ISub 151 78 |
| 154: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 152 |
| Store 154 153 |
| 155: 30(int) Load 40(gid) |
| 156: 30(int) Load 40(gid) |
| 157: 30(int) ISub 156 78 |
| 158: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 157 |
| 159: 33(ivec3) Load 158 |
| 160: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 155 |
| Store 160 159 |
| MemoryBarrier 78 79 |
| ControlBarrier 80 80 79 |
| Return |
| FunctionEnd |
| 6(basic_works(): 2 Function None 3 |
| 7: Label |
| ControlBarrier 52 52 163 |
| MemoryBarrier 52 163 |
| MemoryBarrier 52 164 |
| MemoryBarrier 52 165 |
| 166: 105(bool) GroupNonUniformElect 52 |
| MemoryBarrier 52 79 |
| Return |
| FunctionEnd |
| 13(ballot_works(vf4;): 2 Function None 11 |
| 12(f4): 10(ptr) FunctionParameter |
| 14: Label |
| 181(ballot): 180(ptr) Variable Function |
| 176: 9(fvec4) Load 12(f4) |
| 177: 9(fvec4) GroupNonUniformBroadcast 52 176 36 |
| 178: 9(fvec4) Load 12(f4) |
| 179: 9(fvec4) GroupNonUniformBroadcastFirst 52 178 |
| 182: 169(ivec4) GroupNonUniformBallot 52 121 |
| Store 181(ballot) 182 |
| 184: 105(bool) GroupNonUniformInverseBallot 52 183 |
| 185: 169(ivec4) Load 181(ballot) |
| 186: 105(bool) GroupNonUniformBallotBitExtract 52 185 36 |
| 187: 169(ivec4) Load 181(ballot) |
| 188: 30(int) GroupNonUniformBallotBitCount 52 Reduce 187 |
| 189: 169(ivec4) Load 181(ballot) |
| 190: 30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 189 |
| 191: 169(ivec4) Load 181(ballot) |
| 192: 30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 191 |
| 193: 169(ivec4) Load 181(ballot) |
| 194: 30(int) GroupNonUniformBallotFindLSB 52 193 |
| 195: 169(ivec4) Load 181(ballot) |
| 196: 30(int) GroupNonUniformBallotFindMSB 52 195 |
| Return |
| FunctionEnd |
| 16(vote_works(vf4;): 2 Function None 11 |
| 15(f4): 10(ptr) FunctionParameter |
| 17: Label |
| 198: 105(bool) GroupNonUniformAll 52 197 |
| 199: 105(bool) GroupNonUniformAny 52 121 |
| 200: 9(fvec4) Load 15(f4) |
| 201: 105(bool) GroupNonUniformAllEqual 52 200 |
| Return |
| FunctionEnd |
| 19(shuffle_works(vf4;): 2 Function None 11 |
| 18(f4): 10(ptr) FunctionParameter |
| 20: Label |
| 202: 9(fvec4) Load 18(f4) |
| 203: 9(fvec4) GroupNonUniformShuffle 52 202 36 |
| 204: 9(fvec4) Load 18(f4) |
| 205: 9(fvec4) GroupNonUniformShuffleXor 52 204 78 |
| 206: 9(fvec4) Load 18(f4) |
| 207: 9(fvec4) GroupNonUniformShuffleUp 52 206 78 |
| 208: 9(fvec4) Load 18(f4) |
| 209: 9(fvec4) GroupNonUniformShuffleDown 52 208 78 |
| Return |
| FunctionEnd |
| 22(arith_works(vf4;): 2 Function None 11 |
| 21(f4): 10(ptr) FunctionParameter |
| 23: Label |
| 218(ballot): 180(ptr) Variable Function |
| 210: 9(fvec4) Load 21(f4) |
| 211: 9(fvec4) GroupNonUniformFAdd 52 Reduce 210 |
| 212: 9(fvec4) Load 21(f4) |
| 213: 9(fvec4) GroupNonUniformFMul 52 Reduce 212 |
| 214: 9(fvec4) Load 21(f4) |
| 215: 9(fvec4) GroupNonUniformFMin 52 Reduce 214 |
| 216: 9(fvec4) Load 21(f4) |
| 217: 9(fvec4) GroupNonUniformFMax 52 Reduce 216 |
| 219: 169(ivec4) Load 218(ballot) |
| 220: 169(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 219 |
| 221: 169(ivec4) Load 218(ballot) |
| 222: 169(ivec4) GroupNonUniformBitwiseOr 52 Reduce 221 |
| 223: 169(ivec4) Load 218(ballot) |
| 224: 169(ivec4) GroupNonUniformBitwiseXor 52 Reduce 223 |
| 225: 9(fvec4) Load 21(f4) |
| 226: 9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 225 |
| 227: 9(fvec4) Load 21(f4) |
| 228: 9(fvec4) GroupNonUniformFMul 52 InclusiveScan 227 |
| 229: 9(fvec4) Load 21(f4) |
| 230: 9(fvec4) GroupNonUniformFMin 52 InclusiveScan 229 |
| 231: 9(fvec4) Load 21(f4) |
| 232: 9(fvec4) GroupNonUniformFMax 52 InclusiveScan 231 |
| 233: 169(ivec4) Load 218(ballot) |
| 234: 169(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 233 |
| 235: 169(ivec4) Load 218(ballot) |
| 236: 169(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 235 |
| 237: 169(ivec4) Load 218(ballot) |
| 238: 169(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 237 |
| 239: 9(fvec4) Load 21(f4) |
| 240: 9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 239 |
| 241: 9(fvec4) Load 21(f4) |
| 242: 9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 241 |
| 243: 9(fvec4) Load 21(f4) |
| 244: 9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 243 |
| 245: 9(fvec4) Load 21(f4) |
| 246: 9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 245 |
| 247: 169(ivec4) Load 218(ballot) |
| 248: 169(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 247 |
| 249: 169(ivec4) Load 218(ballot) |
| 250: 169(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 249 |
| 251: 169(ivec4) Load 218(ballot) |
| 252: 169(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 251 |
| Return |
| FunctionEnd |
| 25(clustered_works(vf4;): 2 Function None 11 |
| 24(f4): 10(ptr) FunctionParameter |
| 26: Label |
| 253(ballot): 180(ptr) Variable Function |
| Store 253(ballot) 255 |
| 256: 9(fvec4) Load 24(f4) |
| 257: 9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 256 80 |
| 258: 9(fvec4) Load 24(f4) |
| 259: 9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 258 80 |
| 260: 9(fvec4) Load 24(f4) |
| 261: 9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 260 80 |
| 262: 9(fvec4) Load 24(f4) |
| 263: 9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 262 80 |
| 264: 169(ivec4) Load 253(ballot) |
| 265: 169(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 264 80 |
| 266: 169(ivec4) Load 253(ballot) |
| 267: 169(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 266 80 |
| 268: 169(ivec4) Load 253(ballot) |
| 269: 169(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 268 80 |
| Return |
| FunctionEnd |
| 28(quad_works(vf4;): 2 Function None 11 |
| 27(f4): 10(ptr) FunctionParameter |
| 29: Label |
| 270: 9(fvec4) Load 27(f4) |
| 271: 9(fvec4) GroupNonUniformQuadBroadcast 52 270 36 |
| 272: 9(fvec4) Load 27(f4) |
| 273: 9(fvec4) GroupNonUniformQuadSwap 52 272 36 |
| 274: 9(fvec4) Load 27(f4) |
| 275: 9(fvec4) GroupNonUniformQuadSwap 52 274 78 |
| 276: 9(fvec4) Load 27(f4) |
| 277: 9(fvec4) GroupNonUniformQuadSwap 52 276 80 |
| Return |
| FunctionEnd |