1spv.ext.meshShaderTaskMem.mesh
2// Module Version 10400
3// Generated by (magic number): 8000b
4// Id's are bound by 58
5
6                              Capability MeshShadingEXT
7                              Extension  "SPV_EXT_mesh_shader"
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint MeshEXT 4  "main" 11 22 30 38
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_EXT_mesh_shader"
17                              Name 4  "main"
18                              Name 8  "iid"
19                              Name 11  "gl_LocalInvocationID"
20                              Name 18  "outBlock"
21                              MemberName 18(outBlock) 0  "gid5"
22                              MemberName 18(outBlock) 1  "gid6"
23                              Name 22  "myblk"
24                              Name 28  "taskBlock"
25                              MemberName 28(taskBlock) 0  "gid1"
26                              MemberName 28(taskBlock) 1  "gid2"
27                              Name 30  "mytask"
28                              Name 36  "bufferBlock"
29                              MemberName 36(bufferBlock) 0  "gid3"
30                              MemberName 36(bufferBlock) 1  "gid4"
31                              Name 38  "mybuf"
32                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
33                              Decorate 18(outBlock) Block
34                              Decorate 22(myblk) Location 0
35                              Decorate 35 ArrayStride 4
36                              Decorate 36(bufferBlock) Block
37                              MemberDecorate 36(bufferBlock) 0 Offset 0
38                              MemberDecorate 36(bufferBlock) 1 Offset 16
39                              Decorate 38(mybuf) Binding 0
40                              Decorate 38(mybuf) DescriptorSet 0
41                              Decorate 57 BuiltIn WorkgroupSize
42               2:             TypeVoid
43               3:             TypeFunction 2
44               6:             TypeInt 32 0
45               7:             TypePointer Function 6(int)
46               9:             TypeVector 6(int) 3
47              10:             TypePointer Input 9(ivec3)
4811(gl_LocalInvocationID):     10(ptr) Variable Input
49              12:      6(int) Constant 0
50              13:             TypePointer Input 6(int)
51              16:             TypeFloat 32
52              17:             TypeVector 16(float) 4
53    18(outBlock):             TypeStruct 16(float) 17(fvec4)
54              19:      6(int) Constant 81
55              20:             TypeArray 18(outBlock) 19
56              21:             TypePointer Output 20
57       22(myblk):     21(ptr) Variable Output
58              24:             TypeInt 32 1
59              25:     24(int) Constant 0
60              26:      6(int) Constant 2
61              27:             TypeArray 16(float) 26
62   28(taskBlock):             TypeStruct 27 17(fvec4)
63              29:             TypePointer TaskPayloadWorkgroupEXT 28(taskBlock)
64      30(mytask):     29(ptr) Variable TaskPayloadWorkgroupEXT
65              31:     24(int) Constant 1
66              32:             TypePointer TaskPayloadWorkgroupEXT 16(float)
67              35:             TypeArray 16(float) 26
68 36(bufferBlock):             TypeStruct 35 17(fvec4)
69              37:             TypePointer StorageBuffer 36(bufferBlock)
70       38(mybuf):     37(ptr) Variable StorageBuffer
71              39:             TypePointer StorageBuffer 16(float)
72              43:             TypePointer Output 16(float)
73              46:             TypePointer TaskPayloadWorkgroupEXT 17(fvec4)
74              49:             TypePointer StorageBuffer 17(fvec4)
75              53:             TypePointer Output 17(fvec4)
76              55:      6(int) Constant 32
77              56:      6(int) Constant 1
78              57:    9(ivec3) ConstantComposite 55 56 56
79         4(main):           2 Function None 3
80               5:             Label
81          8(iid):      7(ptr) Variable Function
82              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
83              15:      6(int) Load 14
84                              Store 8(iid) 15
85              23:      6(int) Load 8(iid)
86              33:     32(ptr) AccessChain 30(mytask) 25 31
87              34:   16(float) Load 33
88              40:     39(ptr) AccessChain 38(mybuf) 25 31
89              41:   16(float) Load 40
90              42:   16(float) FAdd 34 41
91              44:     43(ptr) AccessChain 22(myblk) 23 25
92                              Store 44 42
93              45:      6(int) Load 8(iid)
94              47:     46(ptr) AccessChain 30(mytask) 31
95              48:   17(fvec4) Load 47
96              50:     49(ptr) AccessChain 38(mybuf) 31
97              51:   17(fvec4) Load 50
98              52:   17(fvec4) FAdd 48 51
99              54:     53(ptr) AccessChain 22(myblk) 45 31
100                              Store 54 52
101                              Return
102                              FunctionEnd
103