| spv.460.subgroupEXT.mesh |
| // Module Version 10400 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 280 |
| |
| Capability ClipDistance |
| Capability CullDistance |
| Capability GroupNonUniform |
| Capability GroupNonUniformVote |
| Capability GroupNonUniformArithmetic |
| Capability GroupNonUniformBallot |
| Capability GroupNonUniformShuffle |
| Capability GroupNonUniformShuffleRelative |
| Capability GroupNonUniformClustered |
| Capability GroupNonUniformQuad |
| Capability FragmentShadingRateKHR |
| Capability MeshShadingEXT |
| Extension "SPV_EXT_mesh_shader" |
| Extension "SPV_KHR_fragment_shading_rate" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint MeshEXT 4 "main" 35 41 57 109 148 162 163 168 169 172 173 174 175 176 |
| 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" |
| MemberName 106(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT" |
| Name 109 "gl_MeshPrimitivesEXT" |
| Name 148 "gl_PrimitiveTriangleIndicesEXT" |
| Name 162 "gl_SubgroupSize" |
| Name 163 "gl_SubgroupInvocationID" |
| Name 168 "gl_NumSubgroups" |
| Name 169 "gl_SubgroupID" |
| Name 172 "gl_SubgroupEqMask" |
| Name 173 "gl_SubgroupGeMask" |
| Name 174 "gl_SubgroupGtMask" |
| Name 175 "gl_SubgroupLeMask" |
| Name 176 "gl_SubgroupLtMask" |
| Name 182 "ballot" |
| Name 219 "ballot" |
| Name 254 "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 |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV |
| MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR |
| Decorate 106(gl_MeshPerPrimitiveEXT) Block |
| Decorate 148(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT |
| Decorate 162(gl_SubgroupSize) RelaxedPrecision |
| Decorate 162(gl_SubgroupSize) BuiltIn SubgroupSize |
| Decorate 163(gl_SubgroupInvocationID) RelaxedPrecision |
| Decorate 163(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId |
| Decorate 168(gl_NumSubgroups) BuiltIn NumSubgroups |
| Decorate 169(gl_SubgroupID) BuiltIn SubgroupId |
| Decorate 172(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR |
| Decorate 173(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR |
| Decorate 174(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR |
| Decorate 175(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR |
| Decorate 176(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR |
| Decorate 279 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) 59(int) |
| 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: 30(int) Constant 96 |
| 146: TypeArray 33(ivec3) 145 |
| 147: TypePointer Output 146 |
| 148(gl_PrimitiveTriangleIndicesEXT): 147(ptr) Variable Output |
| 149: 33(ivec3) ConstantComposite 78 78 78 |
| 150: TypePointer Output 33(ivec3) |
| 154: 33(ivec3) ConstantComposite 80 80 80 |
| 162(gl_SubgroupSize): 37(ptr) Variable Input |
| 163(gl_SubgroupInvocationID): 37(ptr) Variable Input |
| 164: 30(int) Constant 3400 |
| 165: 30(int) Constant 72 |
| 166: 30(int) Constant 2056 |
| 168(gl_NumSubgroups): 37(ptr) Variable Input |
| 169(gl_SubgroupID): 37(ptr) Variable Input |
| 170: TypeVector 30(int) 4 |
| 171: TypePointer Input 170(ivec4) |
| 172(gl_SubgroupEqMask): 171(ptr) Variable Input |
| 173(gl_SubgroupGeMask): 171(ptr) Variable Input |
| 174(gl_SubgroupGtMask): 171(ptr) Variable Input |
| 175(gl_SubgroupLeMask): 171(ptr) Variable Input |
| 176(gl_SubgroupLtMask): 171(ptr) Variable Input |
| 181: TypePointer Function 170(ivec4) |
| 184: 170(ivec4) ConstantComposite 78 78 78 78 |
| 198: 105(bool) ConstantTrue |
| 255: 30(int) Constant 85 |
| 256: 170(ivec4) ConstantComposite 255 36 36 36 |
| 279: 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 |
| 151: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 60 |
| Store 151 149 |
| 152: 30(int) Load 46(primitiveCount) |
| 153: 30(int) ISub 152 78 |
| 155: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 153 |
| Store 155 154 |
| 156: 30(int) Load 40(gid) |
| 157: 30(int) Load 40(gid) |
| 158: 30(int) ISub 157 78 |
| 159: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 158 |
| 160: 33(ivec3) Load 159 |
| 161: 150(ptr) AccessChain 148(gl_PrimitiveTriangleIndicesEXT) 156 |
| Store 161 160 |
| MemoryBarrier 78 79 |
| ControlBarrier 80 80 79 |
| Return |
| FunctionEnd |
| 6(basic_works(): 2 Function None 3 |
| 7: Label |
| ControlBarrier 52 52 164 |
| MemoryBarrier 52 164 |
| MemoryBarrier 52 165 |
| MemoryBarrier 52 166 |
| 167: 105(bool) GroupNonUniformElect 52 |
| MemoryBarrier 52 79 |
| Return |
| FunctionEnd |
| 13(ballot_works(vf4;): 2 Function None 11 |
| 12(f4): 10(ptr) FunctionParameter |
| 14: Label |
| 182(ballot): 181(ptr) Variable Function |
| 177: 9(fvec4) Load 12(f4) |
| 178: 9(fvec4) GroupNonUniformBroadcast 52 177 36 |
| 179: 9(fvec4) Load 12(f4) |
| 180: 9(fvec4) GroupNonUniformBroadcastFirst 52 179 |
| 183: 170(ivec4) GroupNonUniformBallot 52 121 |
| Store 182(ballot) 183 |
| 185: 105(bool) GroupNonUniformInverseBallot 52 184 |
| 186: 170(ivec4) Load 182(ballot) |
| 187: 105(bool) GroupNonUniformBallotBitExtract 52 186 36 |
| 188: 170(ivec4) Load 182(ballot) |
| 189: 30(int) GroupNonUniformBallotBitCount 52 Reduce 188 |
| 190: 170(ivec4) Load 182(ballot) |
| 191: 30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 190 |
| 192: 170(ivec4) Load 182(ballot) |
| 193: 30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 192 |
| 194: 170(ivec4) Load 182(ballot) |
| 195: 30(int) GroupNonUniformBallotFindLSB 52 194 |
| 196: 170(ivec4) Load 182(ballot) |
| 197: 30(int) GroupNonUniformBallotFindMSB 52 196 |
| Return |
| FunctionEnd |
| 16(vote_works(vf4;): 2 Function None 11 |
| 15(f4): 10(ptr) FunctionParameter |
| 17: Label |
| 199: 105(bool) GroupNonUniformAll 52 198 |
| 200: 105(bool) GroupNonUniformAny 52 121 |
| 201: 9(fvec4) Load 15(f4) |
| 202: 105(bool) GroupNonUniformAllEqual 52 201 |
| Return |
| FunctionEnd |
| 19(shuffle_works(vf4;): 2 Function None 11 |
| 18(f4): 10(ptr) FunctionParameter |
| 20: Label |
| 203: 9(fvec4) Load 18(f4) |
| 204: 9(fvec4) GroupNonUniformShuffle 52 203 36 |
| 205: 9(fvec4) Load 18(f4) |
| 206: 9(fvec4) GroupNonUniformShuffleXor 52 205 78 |
| 207: 9(fvec4) Load 18(f4) |
| 208: 9(fvec4) GroupNonUniformShuffleUp 52 207 78 |
| 209: 9(fvec4) Load 18(f4) |
| 210: 9(fvec4) GroupNonUniformShuffleDown 52 209 78 |
| Return |
| FunctionEnd |
| 22(arith_works(vf4;): 2 Function None 11 |
| 21(f4): 10(ptr) FunctionParameter |
| 23: Label |
| 219(ballot): 181(ptr) Variable Function |
| 211: 9(fvec4) Load 21(f4) |
| 212: 9(fvec4) GroupNonUniformFAdd 52 Reduce 211 |
| 213: 9(fvec4) Load 21(f4) |
| 214: 9(fvec4) GroupNonUniformFMul 52 Reduce 213 |
| 215: 9(fvec4) Load 21(f4) |
| 216: 9(fvec4) GroupNonUniformFMin 52 Reduce 215 |
| 217: 9(fvec4) Load 21(f4) |
| 218: 9(fvec4) GroupNonUniformFMax 52 Reduce 217 |
| 220: 170(ivec4) Load 219(ballot) |
| 221: 170(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 220 |
| 222: 170(ivec4) Load 219(ballot) |
| 223: 170(ivec4) GroupNonUniformBitwiseOr 52 Reduce 222 |
| 224: 170(ivec4) Load 219(ballot) |
| 225: 170(ivec4) GroupNonUniformBitwiseXor 52 Reduce 224 |
| 226: 9(fvec4) Load 21(f4) |
| 227: 9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 226 |
| 228: 9(fvec4) Load 21(f4) |
| 229: 9(fvec4) GroupNonUniformFMul 52 InclusiveScan 228 |
| 230: 9(fvec4) Load 21(f4) |
| 231: 9(fvec4) GroupNonUniformFMin 52 InclusiveScan 230 |
| 232: 9(fvec4) Load 21(f4) |
| 233: 9(fvec4) GroupNonUniformFMax 52 InclusiveScan 232 |
| 234: 170(ivec4) Load 219(ballot) |
| 235: 170(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 234 |
| 236: 170(ivec4) Load 219(ballot) |
| 237: 170(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 236 |
| 238: 170(ivec4) Load 219(ballot) |
| 239: 170(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 238 |
| 240: 9(fvec4) Load 21(f4) |
| 241: 9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 240 |
| 242: 9(fvec4) Load 21(f4) |
| 243: 9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 242 |
| 244: 9(fvec4) Load 21(f4) |
| 245: 9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 244 |
| 246: 9(fvec4) Load 21(f4) |
| 247: 9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 246 |
| 248: 170(ivec4) Load 219(ballot) |
| 249: 170(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 248 |
| 250: 170(ivec4) Load 219(ballot) |
| 251: 170(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 250 |
| 252: 170(ivec4) Load 219(ballot) |
| 253: 170(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 252 |
| Return |
| FunctionEnd |
| 25(clustered_works(vf4;): 2 Function None 11 |
| 24(f4): 10(ptr) FunctionParameter |
| 26: Label |
| 254(ballot): 181(ptr) Variable Function |
| Store 254(ballot) 256 |
| 257: 9(fvec4) Load 24(f4) |
| 258: 9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 257 80 |
| 259: 9(fvec4) Load 24(f4) |
| 260: 9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 259 80 |
| 261: 9(fvec4) Load 24(f4) |
| 262: 9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 261 80 |
| 263: 9(fvec4) Load 24(f4) |
| 264: 9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 263 80 |
| 265: 170(ivec4) Load 254(ballot) |
| 266: 170(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 265 80 |
| 267: 170(ivec4) Load 254(ballot) |
| 268: 170(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 267 80 |
| 269: 170(ivec4) Load 254(ballot) |
| 270: 170(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 269 80 |
| Return |
| FunctionEnd |
| 28(quad_works(vf4;): 2 Function None 11 |
| 27(f4): 10(ptr) FunctionParameter |
| 29: Label |
| 271: 9(fvec4) Load 27(f4) |
| 272: 9(fvec4) GroupNonUniformQuadBroadcast 52 271 36 |
| 273: 9(fvec4) Load 27(f4) |
| 274: 9(fvec4) GroupNonUniformQuadSwap 52 273 36 |
| 275: 9(fvec4) Load 27(f4) |
| 276: 9(fvec4) GroupNonUniformQuadSwap 52 275 78 |
| 277: 9(fvec4) Load 27(f4) |
| 278: 9(fvec4) GroupNonUniformQuadSwap 52 277 80 |
| Return |
| FunctionEnd |