| spv.ext.meshShaderBuiltins.mesh |
| // Module Version 10400 |
| // Generated by (magic number): 8000b |
| // Id's are bound by 158 |
| |
| Capability ClipDistance |
| Capability CullDistance |
| Capability DrawParameters |
| Capability MultiView |
| Capability MeshShadingEXT |
| Extension "SPV_EXT_mesh_shader" |
| 1: ExtInstImport "GLSL.std.450" |
| MemoryModel Logical GLSL450 |
| EntryPoint MeshEXT 4 "main" 13 19 24 41 93 134 152 155 |
| ExecutionMode 4 LocalSize 32 1 1 |
| ExecutionMode 4 OutputVertices 81 |
| ExecutionMode 4 OutputPrimitivesNV 32 |
| ExecutionMode 4 OutputTrianglesNV |
| Source GLSL 460 |
| SourceExtension "GL_ARB_shader_draw_parameters" |
| SourceExtension "GL_EXT_mesh_shader" |
| SourceExtension "GL_EXT_multiview" |
| Name 4 "main" |
| Name 6 "testAdditionalBuiltins(" |
| Name 10 "iid" |
| Name 13 "gl_LocalInvocationID" |
| Name 18 "gid" |
| Name 19 "gl_WorkGroupID" |
| Name 23 "numWorkGrous" |
| Name 24 "gl_NumWorkGroups" |
| Name 26 "vertexCount" |
| Name 28 "primitiveCount" |
| Name 38 "gl_MeshPerVertexEXT" |
| MemberName 38(gl_MeshPerVertexEXT) 0 "gl_Position" |
| MemberName 38(gl_MeshPerVertexEXT) 1 "gl_PointSize" |
| MemberName 38(gl_MeshPerVertexEXT) 2 "gl_ClipDistance" |
| MemberName 38(gl_MeshPerVertexEXT) 3 "gl_CullDistance" |
| Name 41 "gl_MeshVerticesEXT" |
| Name 90 "gl_MeshPerPrimitiveEXT" |
| MemberName 90(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID" |
| MemberName 90(gl_MeshPerPrimitiveEXT) 1 "gl_Layer" |
| MemberName 90(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex" |
| MemberName 90(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT" |
| Name 93 "gl_MeshPrimitivesEXT" |
| Name 134 "gl_PrimitiveTriangleIndicesEXT" |
| Name 150 "id" |
| Name 152 "gl_DrawIDARB" |
| Name 154 "viewIdx" |
| Name 155 "gl_ViewIndex" |
| Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId |
| Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId |
| Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups |
| MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position |
| MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize |
| MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance |
| MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance |
| Decorate 38(gl_MeshPerVertexEXT) Block |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV |
| MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT |
| Decorate 90(gl_MeshPerPrimitiveEXT) Block |
| Decorate 134(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT |
| Decorate 152(gl_DrawIDARB) BuiltIn DrawIndex |
| Decorate 155(gl_ViewIndex) BuiltIn ViewIndex |
| Decorate 157 BuiltIn WorkgroupSize |
| 2: TypeVoid |
| 3: TypeFunction 2 |
| 8: TypeInt 32 0 |
| 9: TypePointer Function 8(int) |
| 11: TypeVector 8(int) 3 |
| 12: TypePointer Input 11(ivec3) |
| 13(gl_LocalInvocationID): 12(ptr) Variable Input |
| 14: 8(int) Constant 0 |
| 15: TypePointer Input 8(int) |
| 19(gl_WorkGroupID): 12(ptr) Variable Input |
| 22: TypePointer Function 11(ivec3) |
| 24(gl_NumWorkGroups): 12(ptr) Variable Input |
| 27: 8(int) Constant 81 |
| 29: 8(int) Constant 32 |
| 32: TypeFloat 32 |
| 33: TypeVector 32(float) 4 |
| 34: 8(int) Constant 4 |
| 35: TypeArray 32(float) 34 |
| 36: 8(int) Constant 3 |
| 37: TypeArray 32(float) 36 |
| 38(gl_MeshPerVertexEXT): TypeStruct 33(fvec4) 32(float) 35 37 |
| 39: TypeArray 38(gl_MeshPerVertexEXT) 27 |
| 40: TypePointer Output 39 |
| 41(gl_MeshVerticesEXT): 40(ptr) Variable Output |
| 43: TypeInt 32 1 |
| 44: 43(int) Constant 0 |
| 45: 32(float) Constant 1065353216 |
| 46: 33(fvec4) ConstantComposite 45 45 45 45 |
| 47: TypePointer Output 33(fvec4) |
| 50: 43(int) Constant 1 |
| 51: 32(float) Constant 1073741824 |
| 52: TypePointer Output 32(float) |
| 55: 43(int) Constant 2 |
| 56: 43(int) Constant 3 |
| 57: 32(float) Constant 1077936128 |
| 60: 32(float) Constant 1082130432 |
| 62: 8(int) Constant 1 |
| 63: 8(int) Constant 264 |
| 64: 8(int) Constant 2 |
| 89: TypeBool |
| 90(gl_MeshPerPrimitiveEXT): TypeStruct 43(int) 43(int) 43(int) 89(bool) |
| 91: TypeArray 90(gl_MeshPerPrimitiveEXT) 29 |
| 92: TypePointer Output 91 |
| 93(gl_MeshPrimitivesEXT): 92(ptr) Variable Output |
| 95: 43(int) Constant 6 |
| 96: TypePointer Output 43(int) |
| 99: 43(int) Constant 7 |
| 102: 43(int) Constant 8 |
| 105: 89(bool) ConstantFalse |
| 106: TypePointer Output 89(bool) |
| 132: TypeArray 11(ivec3) 29 |
| 133: TypePointer Output 132 |
| 134(gl_PrimitiveTriangleIndicesEXT): 133(ptr) Variable Output |
| 135: 8(int) Constant 257 |
| 136: 11(ivec3) ConstantComposite 135 135 135 |
| 137: TypePointer Output 11(ivec3) |
| 141: 11(ivec3) ConstantComposite 64 64 64 |
| 149: TypePointer Function 43(int) |
| 151: TypePointer Input 43(int) |
| 152(gl_DrawIDARB): 151(ptr) Variable Input |
| 155(gl_ViewIndex): 151(ptr) Variable Input |
| 157: 11(ivec3) ConstantComposite 29 62 62 |
| 4(main): 2 Function None 3 |
| 5: Label |
| 10(iid): 9(ptr) Variable Function |
| 18(gid): 9(ptr) Variable Function |
| 23(numWorkGrous): 22(ptr) Variable Function |
| 26(vertexCount): 9(ptr) Variable Function |
| 28(primitiveCount): 9(ptr) Variable Function |
| 16: 15(ptr) AccessChain 13(gl_LocalInvocationID) 14 |
| 17: 8(int) Load 16 |
| Store 10(iid) 17 |
| 20: 15(ptr) AccessChain 19(gl_WorkGroupID) 14 |
| 21: 8(int) Load 20 |
| Store 18(gid) 21 |
| 25: 11(ivec3) Load 24(gl_NumWorkGroups) |
| Store 23(numWorkGrous) 25 |
| Store 26(vertexCount) 27 |
| Store 28(primitiveCount) 29 |
| 30: 8(int) Load 26(vertexCount) |
| 31: 8(int) Load 28(primitiveCount) |
| SetMeshOutputsEXT 30 31 |
| 42: 8(int) Load 10(iid) |
| 48: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 42 44 |
| Store 48 46 |
| 49: 8(int) Load 10(iid) |
| 53: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 49 50 |
| Store 53 51 |
| 54: 8(int) Load 10(iid) |
| 58: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 54 55 56 |
| Store 58 57 |
| 59: 8(int) Load 10(iid) |
| 61: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 59 56 55 |
| Store 61 60 |
| MemoryBarrier 62 63 |
| ControlBarrier 64 64 63 |
| 65: 8(int) Load 10(iid) |
| 66: 8(int) IAdd 65 62 |
| 67: 8(int) Load 10(iid) |
| 68: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 67 44 |
| 69: 33(fvec4) Load 68 |
| 70: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 66 44 |
| Store 70 69 |
| 71: 8(int) Load 10(iid) |
| 72: 8(int) IAdd 71 62 |
| 73: 8(int) Load 10(iid) |
| 74: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 73 50 |
| 75: 32(float) Load 74 |
| 76: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 72 50 |
| Store 76 75 |
| 77: 8(int) Load 10(iid) |
| 78: 8(int) IAdd 77 62 |
| 79: 8(int) Load 10(iid) |
| 80: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 79 55 56 |
| 81: 32(float) Load 80 |
| 82: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 78 55 56 |
| Store 82 81 |
| 83: 8(int) Load 10(iid) |
| 84: 8(int) IAdd 83 62 |
| 85: 8(int) Load 10(iid) |
| 86: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 85 56 55 |
| 87: 32(float) Load 86 |
| 88: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 84 56 55 |
| Store 88 87 |
| MemoryBarrier 62 63 |
| ControlBarrier 64 64 63 |
| 94: 8(int) Load 10(iid) |
| 97: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 94 44 |
| Store 97 95 |
| 98: 8(int) Load 10(iid) |
| 100: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 98 50 |
| Store 100 99 |
| 101: 8(int) Load 10(iid) |
| 103: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 101 55 |
| Store 103 102 |
| 104: 8(int) Load 10(iid) |
| 107: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 104 56 |
| Store 107 105 |
| MemoryBarrier 62 63 |
| ControlBarrier 64 64 63 |
| 108: 8(int) Load 10(iid) |
| 109: 8(int) IAdd 108 62 |
| 110: 8(int) Load 10(iid) |
| 111: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 110 44 |
| 112: 43(int) Load 111 |
| 113: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 109 44 |
| Store 113 112 |
| 114: 8(int) Load 10(iid) |
| 115: 8(int) IAdd 114 62 |
| 116: 8(int) Load 10(iid) |
| 117: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 116 50 |
| 118: 43(int) Load 117 |
| 119: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 115 50 |
| Store 119 118 |
| 120: 8(int) Load 10(iid) |
| 121: 8(int) IAdd 120 62 |
| 122: 8(int) Load 10(iid) |
| 123: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 122 55 |
| 124: 43(int) Load 123 |
| 125: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 121 55 |
| Store 125 124 |
| 126: 8(int) Load 10(iid) |
| 127: 8(int) IAdd 126 62 |
| 128: 8(int) Load 10(iid) |
| 129: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 128 56 |
| 130: 89(bool) Load 129 |
| 131: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 127 56 |
| Store 131 130 |
| MemoryBarrier 62 63 |
| ControlBarrier 64 64 63 |
| 138: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 44 |
| Store 138 136 |
| 139: 8(int) Load 28(primitiveCount) |
| 140: 8(int) ISub 139 62 |
| 142: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 140 |
| Store 142 141 |
| 143: 8(int) Load 18(gid) |
| 144: 8(int) Load 18(gid) |
| 145: 8(int) ISub 144 62 |
| 146: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 145 |
| 147: 11(ivec3) Load 146 |
| 148: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 143 |
| Store 148 147 |
| MemoryBarrier 62 63 |
| ControlBarrier 64 64 63 |
| Return |
| FunctionEnd |
| 6(testAdditionalBuiltins(): 2 Function None 3 |
| 7: Label |
| 150(id): 149(ptr) Variable Function |
| 154(viewIdx): 149(ptr) Variable Function |
| 153: 43(int) Load 152(gl_DrawIDARB) |
| Store 150(id) 153 |
| 156: 43(int) Load 155(gl_ViewIndex) |
| Store 154(viewIdx) 156 |
| Return |
| FunctionEnd |