1 spv.meshShaderUserDefined.mesh
2 // Module Version 10000
3 // Generated by (magic number): 80007
4 // Id's are bound by 138
6 Capability MeshShadingNV
7 Extension "SPV_NV_mesh_shader"
8 1: ExtInstImport "GLSL.std.450"
9 MemoryModel Logical GLSL450
10 EntryPoint MeshNV 4 "main" 11 17 34 101
11 ExecutionMode 4 LocalSize 32 1 1
12 ExecutionMode 4 OutputVertices 81
13 ExecutionMode 4 OutputPrimitivesNV 32
14 ExecutionMode 4 OutputTrianglesNV
16 SourceExtension "GL_NV_mesh_shader"
19 Name 11 "gl_LocalInvocationID"
21 Name 17 "gl_WorkGroupID"
23 MemberName 30(myblock) 0 "f"
24 MemberName 30(myblock) 1 "fArr"
25 MemberName 30(myblock) 2 "pos"
26 MemberName 30(myblock) 3 "posArr"
27 MemberName 30(myblock) 4 "m"
28 MemberName 30(myblock) 5 "mArr"
31 MemberName 97(myblock2) 0 "f"
32 MemberName 97(myblock2) 1 "pos"
33 MemberName 97(myblock2) 2 "m"
35 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
36 Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
37 MemberDecorate 30(myblock) 0 PerPrimitiveNV
38 MemberDecorate 30(myblock) 1 PerPrimitiveNV
39 MemberDecorate 30(myblock) 2 PerPrimitiveNV
40 MemberDecorate 30(myblock) 3 PerPrimitiveNV
41 MemberDecorate 30(myblock) 4 PerPrimitiveNV
42 MemberDecorate 30(myblock) 5 PerPrimitiveNV
43 Decorate 30(myblock) Block
44 Decorate 34(blk) Location 0
45 Decorate 97(myblock2) Block
46 Decorate 101(blk2) Location 20
47 Decorate 137 BuiltIn WorkgroupSize
51 7: TypePointer Function 6(int)
52 9: TypeVector 6(int) 3
53 10: TypePointer Input 9(ivec3)
54 11(gl_LocalInvocationID): 10(ptr) Variable Input
56 13: TypePointer Input 6(int)
57 17(gl_WorkGroupID): 10(ptr) Variable Input
60 22: TypeArray 20(float) 21
61 23: TypeVector 20(float) 3
62 24: TypeVector 20(float) 4
63 25: TypeArray 24(fvec4) 21
64 26: TypeMatrix 24(fvec4) 4
65 27: TypeMatrix 23(fvec3) 3
68 30(myblock): TypeStruct 20(float) 22 23(fvec3) 25 26 29
69 31: 6(int) Constant 32
70 32: TypeArray 30(myblock) 31
71 33: TypePointer Output 32
72 34(blk): 33(ptr) Variable Output
74 37: 36(int) Constant 0
75 38: 20(float) Constant 1093664768
76 39: TypePointer Output 20(float)
78 44: 36(int) Constant 1
79 52: 36(int) Constant 2
80 53: 20(float) Constant 1096810496
81 54: 20(float) Constant 1097859072
82 55: 20(float) Constant 1095761920
83 56: 23(fvec3) ConstantComposite 53 54 55
84 57: TypePointer Output 23(fvec3)
85 63: 36(int) Constant 3
86 68: TypePointer Output 24(fvec4)
87 74: 36(int) Constant 4
88 75: 20(float) Constant 1098907648
89 76: 24(fvec4) ConstantComposite 55 53 54 75
90 81: 36(int) Constant 5
92 91: 20(float) Constant 1099431936
93 92: 20(float) Constant 1099956224
94 93: 20(float) Constant 1100480512
95 94: 23(fvec3) ConstantComposite 91 92 93
96 96: 6(int) Constant 264
97 97(myblock2): TypeStruct 20(float) 24(fvec4) 26
98 98: 6(int) Constant 81
99 99: TypeArray 97(myblock2) 98
100 100: TypePointer Output 99
101 101(blk2): 100(ptr) Variable Output
102 107: 20(float) Constant 1101004800
103 111: 20(float) Constant 1101529088
104 112: 20(float) Constant 1102053376
105 113: 20(float) Constant 1102577664
106 114: 20(float) Constant 1103101952
107 115: 24(fvec4) ConstantComposite 111 112 113 114
108 127: 20(float) Constant 1105723392
109 137: 9(ivec3) ConstantComposite 31 42 42
110 4(main): 2 Function None 3
112 8(iid): 7(ptr) Variable Function
113 16(gid): 7(ptr) Variable Function
114 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12
117 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12
120 35: 6(int) Load 8(iid)
121 40: 39(ptr) AccessChain 34(blk) 35 37
123 41: 6(int) Load 8(iid)
124 43: 6(int) IAdd 41 42
125 45: 6(int) Load 16(gid)
126 46: 6(int) Load 8(iid)
127 47: 39(ptr) AccessChain 34(blk) 46 37
128 48: 20(float) Load 47
129 49: 39(ptr) AccessChain 34(blk) 43 44 45
131 50: 6(int) Load 8(iid)
132 51: 6(int) UDiv 50 28
133 58: 57(ptr) AccessChain 34(blk) 51 52
134 59: 23(fvec3) Load 58
135 60: 23(fvec3) VectorShuffle 59 56 5 3 4
137 61: 6(int) Load 8(iid)
138 62: 6(int) IMul 61 28
139 64: 6(int) Load 8(iid)
140 65: 6(int) UDiv 64 28
141 66: 57(ptr) AccessChain 34(blk) 65 52
142 67: 23(fvec3) Load 66
143 69: 68(ptr) AccessChain 34(blk) 62 63 44
144 70: 24(fvec4) Load 69
145 71: 24(fvec4) VectorShuffle 70 67 0 4 5 6
147 72: 6(int) Load 8(iid)
148 73: 6(int) UDiv 72 21
149 77: 68(ptr) AccessChain 34(blk) 73 74 52
150 78: 24(fvec4) Load 77
151 79: 24(fvec4) VectorShuffle 78 76 7 6 5 4
153 80: 6(int) Load 8(iid)
154 82: 6(int) Load 8(iid)
155 83: 6(int) UDiv 82 21
156 85: 39(ptr) AccessChain 34(blk) 83 74 52 84
157 86: 20(float) Load 85
158 87: 39(ptr) AccessChain 34(blk) 80 81 37 44 42
160 88: 6(int) Load 8(iid)
161 89: 6(int) IMul 88 21
162 90: 6(int) Load 16(gid)
163 95: 57(ptr) AccessChain 34(blk) 89 81 44 90
166 ControlBarrier 28 28 96
167 102: 6(int) Load 8(iid)
168 103: 6(int) Load 8(iid)
169 104: 6(int) ISub 103 42
170 105: 39(ptr) AccessChain 101(blk2) 104 37
171 106: 20(float) Load 105
172 108: 20(float) FAdd 106 107
173 109: 39(ptr) AccessChain 101(blk2) 102 37
175 110: 6(int) Load 8(iid)
176 116: 68(ptr) AccessChain 101(blk2) 110 44
178 117: 6(int) Load 8(iid)
179 118: 6(int) IAdd 117 42
180 119: 6(int) Load 16(gid)
181 120: 6(int) Load 8(iid)
182 121: 68(ptr) AccessChain 101(blk2) 120 44
183 122: 24(fvec4) Load 121
184 123: 68(ptr) AccessChain 101(blk2) 118 52 119
186 124: 6(int) Load 8(iid)
187 125: 6(int) IAdd 124 42
188 126: 6(int) Load 16(gid)
189 128: 39(ptr) AccessChain 101(blk2) 125 52 126 28
191 129: 6(int) Load 8(iid)
192 130: 6(int) IAdd 129 28
193 131: 6(int) Load 8(iid)
194 132: 6(int) IAdd 131 42
195 133: 6(int) Load 16(gid)
196 134: 68(ptr) AccessChain 101(blk2) 132 52 133
197 135: 24(fvec4) Load 134
198 136: 68(ptr) AccessChain 101(blk2) 130 52 63
201 ControlBarrier 28 28 96