Add-support-for-SPV_NV_mesh_shader
[platform/upstream/glslang.git] / Test / baseResults / spv.meshShaderUserDefined.mesh.out
1 spv.meshShaderUserDefined.mesh
2 // Module Version 10000
3 // Generated by (magic number): 80007
4 // Id's are bound by 138
5
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
15                               Source GLSL 450
16                               SourceExtension  "GL_NV_mesh_shader"
17                               Name 4  "main"
18                               Name 8  "iid"
19                               Name 11  "gl_LocalInvocationID"
20                               Name 16  "gid"
21                               Name 17  "gl_WorkGroupID"
22                               Name 30  "myblock"
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"
29                               Name 34  "blk"
30                               Name 97  "myblock2"
31                               MemberName 97(myblock2) 0  "f"
32                               MemberName 97(myblock2) 1  "pos"
33                               MemberName 97(myblock2) 2  "m"
34                               Name 101  "blk2"
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
48                2:             TypeVoid
49                3:             TypeFunction 2
50                6:             TypeInt 32 0
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
55               12:      6(int) Constant 0
56               13:             TypePointer Input 6(int)
57 17(gl_WorkGroupID):     10(ptr) Variable Input
58               20:             TypeFloat 32
59               21:      6(int) Constant 4
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
66               28:      6(int) Constant 2
67               29:             TypeArray 27 28
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
73               36:             TypeInt 32 1
74               37:     36(int) Constant 0
75               38:   20(float) Constant 1093664768
76               39:             TypePointer Output 20(float)
77               42:      6(int) Constant 1
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
91               84:      6(int) Constant 3
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
111                5:             Label
112           8(iid):      7(ptr) Variable Function
113          16(gid):      7(ptr) Variable Function
114               14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
115               15:      6(int) Load 14
116                               Store 8(iid) 15
117               18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
118               19:      6(int) Load 18
119                               Store 16(gid) 19
120               35:      6(int) Load 8(iid)
121               40:     39(ptr) AccessChain 34(blk) 35 37
122                               Store 40 38
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
130                               Store 49 48
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
136                               Store 58 60
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
146                               Store 69 71
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
152                               Store 77 79
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
159                               Store 87 86
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
164                               Store 95 94
165                               MemoryBarrier 42 96
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
174                               Store 109 108
175              110:      6(int) Load 8(iid)
176              116:     68(ptr) AccessChain 101(blk2) 110 44
177                               Store 116 115
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
185                               Store 123 122
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
190                               Store 128 127
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
199                               Store 136 135
200                               MemoryBarrier 42 96
201                               ControlBarrier 28 28 96
202                               Return
203                               FunctionEnd