| spv.meshShaderBuiltins.mesh |
| // Module Version 10000 |
| // Generated by (magic number): 80008 |
| // Id's are bound by 148 |
| |
| Capability ClipDistance |
| Capability CullDistance |
| Capability MultiViewport |
| Capability DrawParameters |
| Capability ShaderViewportMaskNV |
| Capability MeshShadingNV |
| Extension "SPV_KHR_shader_draw_parameters" |
| Extension "SPV_NV_mesh_shader" |
| Extension "SPV_NV_viewport_array2" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint MeshNV 4 "main" 11 17 34 88 129 142 146 |
| ExecutionMode 4 LocalSize 32 1 1 |
| ExecutionMode 4 OutputVertices 81 |
| ExecutionMode 4 OutputPrimitivesNV 32 |
| ExecutionMode 4 OutputTrianglesNV |
| Source GLSL 460 |
| SourceExtension "GL_NV_mesh_shader" |
| Name 4 "main" |
| Name 8 "iid" |
| Name 11 "gl_LocalInvocationID" |
| Name 16 "gid" |
| Name 17 "gl_WorkGroupID" |
| Name 30 "gl_MeshPerVertexNV" |
| MemberName 30(gl_MeshPerVertexNV) 0 "gl_Position" |
| MemberName 30(gl_MeshPerVertexNV) 1 "gl_PointSize" |
| MemberName 30(gl_MeshPerVertexNV) 2 "gl_ClipDistance" |
| MemberName 30(gl_MeshPerVertexNV) 3 "gl_CullDistance" |
| MemberName 30(gl_MeshPerVertexNV) 4 "gl_PositionPerViewNV" |
| MemberName 30(gl_MeshPerVertexNV) 5 "gl_ClipDistancePerViewNV" |
| MemberName 30(gl_MeshPerVertexNV) 6 "gl_CullDistancePerViewNV" |
| Name 34 "gl_MeshVerticesNV" |
| Name 84 "gl_MeshPerPrimitiveNV" |
| MemberName 84(gl_MeshPerPrimitiveNV) 0 "gl_PrimitiveID" |
| MemberName 84(gl_MeshPerPrimitiveNV) 1 "gl_Layer" |
| MemberName 84(gl_MeshPerPrimitiveNV) 2 "gl_ViewportIndex" |
| MemberName 84(gl_MeshPerPrimitiveNV) 3 "gl_ViewportMask" |
| MemberName 84(gl_MeshPerPrimitiveNV) 4 "gl_LayerPerViewNV" |
| MemberName 84(gl_MeshPerPrimitiveNV) 5 "gl_ViewportMaskPerViewNV" |
| Name 88 "gl_MeshPrimitivesNV" |
| Name 129 "gl_PrimitiveIndicesNV" |
| Name 142 "gl_DrawID" |
| Name 146 "gl_PrimitiveCountNV" |
| Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId |
| Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId |
| MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position |
| MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize |
| MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance |
| MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance |
| MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV |
| MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV |
| MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV |
| MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV |
| MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV |
| MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV |
| Decorate 30(gl_MeshPerVertexNV) Block |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 PerViewNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 PerViewNV |
| MemberDecorate 84(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV |
| Decorate 84(gl_MeshPerPrimitiveNV) Block |
| Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV |
| Decorate 142(gl_DrawID) BuiltIn DrawIndex |
| Decorate 146(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV |
| Decorate 147 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 |
| 20: TypeFloat 32 |
| 21: TypeVector 20(float) 4 |
| 22: 6(int) Constant 4 |
| 23: TypeArray 20(float) 22 |
| 24: 6(int) Constant 3 |
| 25: TypeArray 20(float) 24 |
| 26: TypeArray 21(fvec4) 22 |
| 27: 6(int) Constant 1 |
| 28: TypeArray 20(float) 27 |
| 29: TypeArray 28 22 |
| 30(gl_MeshPerVertexNV): TypeStruct 21(fvec4) 20(float) 23 25 26 29 29 |
| 31: 6(int) Constant 81 |
| 32: TypeArray 30(gl_MeshPerVertexNV) 31 |
| 33: TypePointer Output 32 |
| 34(gl_MeshVerticesNV): 33(ptr) Variable Output |
| 36: TypeInt 32 1 |
| 37: 36(int) Constant 0 |
| 38: 20(float) Constant 1065353216 |
| 39: 21(fvec4) ConstantComposite 38 38 38 38 |
| 40: TypePointer Output 21(fvec4) |
| 43: 36(int) Constant 1 |
| 44: 20(float) Constant 1073741824 |
| 45: TypePointer Output 20(float) |
| 48: 36(int) Constant 2 |
| 49: 36(int) Constant 3 |
| 50: 20(float) Constant 1077936128 |
| 53: 20(float) Constant 1082130432 |
| 55: 6(int) Constant 264 |
| 56: 6(int) Constant 2 |
| 81: TypeArray 36(int) 27 |
| 82: TypeArray 36(int) 22 |
| 83: TypeArray 81 22 |
| 84(gl_MeshPerPrimitiveNV): TypeStruct 36(int) 36(int) 36(int) 81 82 83 |
| 85: 6(int) Constant 32 |
| 86: TypeArray 84(gl_MeshPerPrimitiveNV) 85 |
| 87: TypePointer Output 86 |
| 88(gl_MeshPrimitivesNV): 87(ptr) Variable Output |
| 90: 36(int) Constant 6 |
| 91: TypePointer Output 36(int) |
| 94: 36(int) Constant 7 |
| 97: 36(int) Constant 8 |
| 100: 36(int) Constant 9 |
| 126: 6(int) Constant 96 |
| 127: TypeArray 6(int) 126 |
| 128: TypePointer Output 127 |
| 129(gl_PrimitiveIndicesNV): 128(ptr) Variable Output |
| 130: 6(int) Constant 257 |
| 131: TypePointer Output 6(int) |
| 133: 36(int) Constant 95 |
| 141: TypePointer Input 36(int) |
| 142(gl_DrawID): 141(ptr) Variable Input |
| 145: 6(int) Constant 16909060 |
| 146(gl_PrimitiveCountNV): 131(ptr) Variable Output |
| 147: 9(ivec3) ConstantComposite 85 27 27 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 8(iid): 7(ptr) Variable Function |
| 16(gid): 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 |
| 35: 6(int) Load 8(iid) |
| 41: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 35 37 |
| Store 41 39 |
| 42: 6(int) Load 8(iid) |
| 46: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 42 43 |
| Store 46 44 |
| 47: 6(int) Load 8(iid) |
| 51: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 47 48 49 |
| Store 51 50 |
| 52: 6(int) Load 8(iid) |
| 54: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 52 49 48 |
| Store 54 53 |
| MemoryBarrier 27 55 |
| ControlBarrier 56 56 55 |
| 57: 6(int) Load 8(iid) |
| 58: 6(int) IAdd 57 27 |
| 59: 6(int) Load 8(iid) |
| 60: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 59 37 |
| 61: 21(fvec4) Load 60 |
| 62: 40(ptr) AccessChain 34(gl_MeshVerticesNV) 58 37 |
| Store 62 61 |
| 63: 6(int) Load 8(iid) |
| 64: 6(int) IAdd 63 27 |
| 65: 6(int) Load 8(iid) |
| 66: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 65 43 |
| 67: 20(float) Load 66 |
| 68: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 64 43 |
| Store 68 67 |
| 69: 6(int) Load 8(iid) |
| 70: 6(int) IAdd 69 27 |
| 71: 6(int) Load 8(iid) |
| 72: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 71 48 49 |
| 73: 20(float) Load 72 |
| 74: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 70 48 49 |
| Store 74 73 |
| 75: 6(int) Load 8(iid) |
| 76: 6(int) IAdd 75 27 |
| 77: 6(int) Load 8(iid) |
| 78: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 77 49 48 |
| 79: 20(float) Load 78 |
| 80: 45(ptr) AccessChain 34(gl_MeshVerticesNV) 76 49 48 |
| Store 80 79 |
| MemoryBarrier 27 55 |
| ControlBarrier 56 56 55 |
| 89: 6(int) Load 8(iid) |
| 92: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 89 37 |
| Store 92 90 |
| 93: 6(int) Load 8(iid) |
| 95: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 93 43 |
| Store 95 94 |
| 96: 6(int) Load 8(iid) |
| 98: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 96 48 |
| Store 98 97 |
| 99: 6(int) Load 8(iid) |
| 101: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 99 49 37 |
| Store 101 100 |
| MemoryBarrier 27 55 |
| ControlBarrier 56 56 55 |
| 102: 6(int) Load 8(iid) |
| 103: 6(int) IAdd 102 27 |
| 104: 6(int) Load 8(iid) |
| 105: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 104 37 |
| 106: 36(int) Load 105 |
| 107: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 103 37 |
| Store 107 106 |
| 108: 6(int) Load 8(iid) |
| 109: 6(int) IAdd 108 27 |
| 110: 6(int) Load 8(iid) |
| 111: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 110 43 |
| 112: 36(int) Load 111 |
| 113: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 109 43 |
| Store 113 112 |
| 114: 6(int) Load 8(iid) |
| 115: 6(int) IAdd 114 27 |
| 116: 6(int) Load 8(iid) |
| 117: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 116 48 |
| 118: 36(int) Load 117 |
| 119: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 115 48 |
| Store 119 118 |
| 120: 6(int) Load 8(iid) |
| 121: 6(int) IAdd 120 27 |
| 122: 6(int) Load 8(iid) |
| 123: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 122 49 37 |
| 124: 36(int) Load 123 |
| 125: 91(ptr) AccessChain 88(gl_MeshPrimitivesNV) 121 49 37 |
| Store 125 124 |
| MemoryBarrier 27 55 |
| ControlBarrier 56 56 55 |
| 132: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37 |
| Store 132 130 |
| 134: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133 |
| Store 134 56 |
| 135: 6(int) Load 16(gid) |
| 136: 6(int) Load 16(gid) |
| 137: 6(int) ISub 136 27 |
| 138: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 137 |
| 139: 6(int) Load 138 |
| 140: 131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135 |
| Store 140 139 |
| 143: 36(int) Load 142(gl_DrawID) |
| 144: 6(int) Bitcast 143 |
| 145: 144 WritePackedPrimitiveIndices4x8NV |
| Store 146(gl_PrimitiveCountNV) 126 |
| MemoryBarrier 27 55 |
| ControlBarrier 56 56 55 |
| Return |
| FunctionEnd |