| spv.meshShaderSharedMem.mesh |
| // Module Version 10000 |
| // Generated by (magic number): 80007 |
| // Id's are bound by 77 |
| |
| Capability StorageImageWriteWithoutFormat |
| Capability MeshShadingNV |
| Extension "SPV_NV_mesh_shader" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint MeshNV 4 "main" 11 17 |
| ExecutionMode 4 LocalSize 32 1 1 |
| ExecutionMode 4 OutputVertices 81 |
| ExecutionMode 4 OutputPrimitivesNV 32 |
| ExecutionMode 4 OutputTrianglesNV |
| Source GLSL 450 |
| SourceExtension "GL_NV_mesh_shader" |
| Name 4 "main" |
| Name 8 "iid" |
| Name 11 "gl_LocalInvocationID" |
| Name 16 "gid" |
| Name 17 "gl_WorkGroupID" |
| Name 20 "i" |
| Name 34 "mem" |
| Name 37 "block0" |
| MemberName 37(block0) 0 "uni_value" |
| Name 39 "" |
| Name 55 "uni_image" |
| Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId |
| Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId |
| MemberDecorate 37(block0) 0 Offset 0 |
| Decorate 37(block0) Block |
| Decorate 39 DescriptorSet 0 |
| Decorate 39 Binding 0 |
| Decorate 55(uni_image) DescriptorSet 0 |
| Decorate 55(uni_image) Binding 0 |
| Decorate 55(uni_image) NonReadable |
| Decorate 76 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 6: TypeInt 32 0 |
| 7: TypePointer Function 6(int) |
| 9: TypeVector 6(int) 3 |
| 10: TypePointer Input 9(ivec3) |
| 11(gl_LocalInvocationID): 10(ptr) Variable Input |
| 12: 6(int) Constant 0 |
| 13: TypePointer Input 6(int) |
| 17(gl_WorkGroupID): 10(ptr) Variable Input |
| 27: 6(int) Constant 10 |
| 28: TypeBool |
| 30: TypeFloat 32 |
| 31: TypeVector 30(float) 4 |
| 32: TypeArray 31(fvec4) 27 |
| 33: TypePointer Workgroup 32 |
| 34(mem): 33(ptr) Variable Workgroup |
| 37(block0): TypeStruct 6(int) |
| 38: TypePointer Uniform 37(block0) |
| 39: 38(ptr) Variable Uniform |
| 40: TypeInt 32 1 |
| 41: 40(int) Constant 0 |
| 42: TypePointer Uniform 6(int) |
| 48: TypePointer Workgroup 31(fvec4) |
| 51: 40(int) Constant 1 |
| 53: TypeImage 30(float) 2D nonsampled format:Unknown |
| 54: TypePointer UniformConstant 53 |
| 55(uni_image): 54(ptr) Variable UniformConstant |
| 59: TypeVector 40(int) 2 |
| 69: 6(int) Constant 1 |
| 73: 6(int) Constant 264 |
| 74: 6(int) Constant 2 |
| 75: 6(int) Constant 32 |
| 76: 9(ivec3) ConstantComposite 75 69 69 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 8(iid): 7(ptr) Variable Function |
| 16(gid): 7(ptr) Variable Function |
| 20(i): 7(ptr) Variable Function |
| 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 |
| 15: 6(int) Load 14 |
| Store 8(iid) 15 |
| 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12 |
| 19: 6(int) Load 18 |
| Store 16(gid) 19 |
| Store 20(i) 12 |
| Branch 21 |
| 21: Label |
| LoopMerge 23 24 None |
| Branch 25 |
| 25: Label |
| 26: 6(int) Load 20(i) |
| 29: 28(bool) ULessThan 26 27 |
| BranchConditional 29 22 23 |
| 22: Label |
| 35: 6(int) Load 20(i) |
| 36: 6(int) Load 20(i) |
| 43: 42(ptr) AccessChain 39 41 |
| 44: 6(int) Load 43 |
| 45: 6(int) IAdd 36 44 |
| 46: 30(float) ConvertUToF 45 |
| 47: 31(fvec4) CompositeConstruct 46 46 46 46 |
| 49: 48(ptr) AccessChain 34(mem) 35 |
| Store 49 47 |
| Branch 24 |
| 24: Label |
| 50: 6(int) Load 20(i) |
| 52: 6(int) IAdd 50 51 |
| Store 20(i) 52 |
| Branch 21 |
| 23: Label |
| 56: 53 Load 55(uni_image) |
| 57: 6(int) Load 8(iid) |
| 58: 40(int) Bitcast 57 |
| 60: 59(ivec2) CompositeConstruct 58 58 |
| 61: 6(int) Load 16(gid) |
| 62: 48(ptr) AccessChain 34(mem) 61 |
| 63: 31(fvec4) Load 62 |
| ImageWrite 56 60 63 |
| 64: 53 Load 55(uni_image) |
| 65: 6(int) Load 8(iid) |
| 66: 40(int) Bitcast 65 |
| 67: 59(ivec2) CompositeConstruct 66 66 |
| 68: 6(int) Load 16(gid) |
| 70: 6(int) IAdd 68 69 |
| 71: 48(ptr) AccessChain 34(mem) 70 |
| 72: 31(fvec4) Load 71 |
| ImageWrite 64 67 72 |
| MemoryBarrier 69 73 |
| ControlBarrier 74 74 73 |
| Return |
| FunctionEnd |