blob: 197fe6021f19f869a24fe67a2e8a97b616e49688 [file] [log] [blame]
spv.320.meshShaderUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 143
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MeshNV 4 "main" 12 19 37 106
ExecutionMode 4 LocalSize 32 1 1
ExecutionMode 4 OutputVertices 81
ExecutionMode 4 OutputPrimitivesNV 32
ExecutionMode 4 OutputTrianglesNV
Source ESSL 320
SourceExtension "GL_NV_mesh_shader"
Name 4 "main"
Name 8 "iid"
Name 12 "gl_LocalInvocationID"
Name 18 "gid"
Name 19 "gl_WorkGroupID"
Name 33 "myblock"
MemberName 33(myblock) 0 "f"
MemberName 33(myblock) 1 "fArr"
MemberName 33(myblock) 2 "pos"
MemberName 33(myblock) 3 "posArr"
MemberName 33(myblock) 4 "m"
MemberName 33(myblock) 5 "mArr"
Name 37 "blk"
Name 102 "myblock2"
MemberName 102(myblock2) 0 "f"
MemberName 102(myblock2) 1 "pos"
MemberName 102(myblock2) 2 "m"
Name 106 "blk2"
Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
MemberDecorate 33(myblock) 0 PerPrimitiveNV
MemberDecorate 33(myblock) 1 PerPrimitiveNV
MemberDecorate 33(myblock) 2 PerPrimitiveNV
MemberDecorate 33(myblock) 3 PerPrimitiveNV
MemberDecorate 33(myblock) 4 PerPrimitiveNV
MemberDecorate 33(myblock) 5 PerPrimitiveNV
Decorate 33(myblock) Block
Decorate 37(blk) Location 0
Decorate 102(myblock2) Block
Decorate 106(blk2) Location 20
Decorate 142 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypePointer Function 6(int)
9: TypeInt 32 0
10: TypeVector 9(int) 3
11: TypePointer Input 10(ivec3)
12(gl_LocalInvocationID): 11(ptr) Variable Input
13: 9(int) Constant 0
14: TypePointer Input 9(int)
19(gl_WorkGroupID): 11(ptr) Variable Input
23: TypeFloat 32
24: 9(int) Constant 4
25: TypeArray 23(float) 24
26: TypeVector 23(float) 3
27: TypeVector 23(float) 4
28: TypeArray 27(fvec4) 24
29: TypeMatrix 27(fvec4) 4
30: TypeMatrix 26(fvec3) 3
31: 9(int) Constant 2
32: TypeArray 30 31
33(myblock): TypeStruct 23(float) 25 26(fvec3) 28 29 32
34: 9(int) Constant 32
35: TypeArray 33(myblock) 34
36: TypePointer Output 35
37(blk): 36(ptr) Variable Output
39: 6(int) Constant 0
40: 23(float) Constant 1093664768
41: TypePointer Output 23(float)
44: 6(int) Constant 1
52: 6(int) Constant 2
54: 23(float) Constant 1096810496
55: 23(float) Constant 1097859072
56: 23(float) Constant 1095761920
57: 26(fvec3) ConstantComposite 54 55 56
58: TypePointer Output 26(fvec3)
64: 6(int) Constant 3
69: 9(int) Constant 1
74: 9(int) Constant 3
78: 6(int) Constant 4
80: 23(float) Constant 1098907648
81: 27(fvec4) ConstantComposite 56 54 55 80
82: TypePointer Output 27(fvec4)
87: 6(int) Constant 5
96: 23(float) Constant 1099431936
97: 23(float) Constant 1099956224
98: 23(float) Constant 1100480512
99: 26(fvec3) ConstantComposite 96 97 98
101: 9(int) Constant 264
102(myblock2): TypeStruct 23(float) 27(fvec4) 29
103: 9(int) Constant 81
104: TypeArray 102(myblock2) 103
105: TypePointer Output 104
106(blk2): 105(ptr) Variable Output
112: 23(float) Constant 1101004800
116: 23(float) Constant 1101529088
117: 23(float) Constant 1102053376
118: 23(float) Constant 1102577664
119: 23(float) Constant 1103101952
120: 27(fvec4) ConstantComposite 116 117 118 119
132: 23(float) Constant 1105723392
142: 10(ivec3) ConstantComposite 34 69 69
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
18(gid): 7(ptr) Variable Function
15: 14(ptr) AccessChain 12(gl_LocalInvocationID) 13
16: 9(int) Load 15
17: 6(int) Bitcast 16
Store 8(iid) 17
20: 14(ptr) AccessChain 19(gl_WorkGroupID) 13
21: 9(int) Load 20
22: 6(int) Bitcast 21
Store 18(gid) 22
38: 6(int) Load 8(iid)
42: 41(ptr) AccessChain 37(blk) 38 39
Store 42 40
43: 6(int) Load 8(iid)
45: 6(int) IAdd 43 44
46: 6(int) Load 18(gid)
47: 6(int) Load 8(iid)
48: 41(ptr) AccessChain 37(blk) 47 39
49: 23(float) Load 48
50: 41(ptr) AccessChain 37(blk) 45 44 46
Store 50 49
51: 6(int) Load 8(iid)
53: 6(int) SDiv 51 52
59: 58(ptr) AccessChain 37(blk) 53 52
60: 26(fvec3) Load 59
61: 26(fvec3) VectorShuffle 60 57 5 3 4
Store 59 61
62: 6(int) Load 8(iid)
63: 6(int) IMul 62 52
65: 6(int) Load 8(iid)
66: 6(int) SDiv 65 52
67: 58(ptr) AccessChain 37(blk) 66 52
68: 26(fvec3) Load 67
70: 41(ptr) AccessChain 37(blk) 63 64 44 69
71: 23(float) CompositeExtract 68 0
Store 70 71
72: 41(ptr) AccessChain 37(blk) 63 64 44 31
73: 23(float) CompositeExtract 68 1
Store 72 73
75: 41(ptr) AccessChain 37(blk) 63 64 44 74
76: 23(float) CompositeExtract 68 2
Store 75 76
77: 6(int) Load 8(iid)
79: 6(int) SDiv 77 78
83: 82(ptr) AccessChain 37(blk) 79 78 52
84: 27(fvec4) Load 83
85: 27(fvec4) VectorShuffle 84 81 7 6 5 4
Store 83 85
86: 6(int) Load 8(iid)
88: 6(int) Load 8(iid)
89: 6(int) SDiv 88 78
90: 41(ptr) AccessChain 37(blk) 89 78 52 74
91: 23(float) Load 90
92: 41(ptr) AccessChain 37(blk) 86 87 39 44 69
Store 92 91
93: 6(int) Load 8(iid)
94: 6(int) IMul 93 78
95: 6(int) Load 18(gid)
100: 58(ptr) AccessChain 37(blk) 94 87 44 95
Store 100 99
MemoryBarrier 69 101
ControlBarrier 31 31 101
107: 6(int) Load 8(iid)
108: 6(int) Load 8(iid)
109: 6(int) ISub 108 44
110: 41(ptr) AccessChain 106(blk2) 109 39
111: 23(float) Load 110
113: 23(float) FAdd 111 112
114: 41(ptr) AccessChain 106(blk2) 107 39
Store 114 113
115: 6(int) Load 8(iid)
121: 82(ptr) AccessChain 106(blk2) 115 44
Store 121 120
122: 6(int) Load 8(iid)
123: 6(int) IAdd 122 44
124: 6(int) Load 18(gid)
125: 6(int) Load 8(iid)
126: 82(ptr) AccessChain 106(blk2) 125 44
127: 27(fvec4) Load 126
128: 82(ptr) AccessChain 106(blk2) 123 52 124
Store 128 127
129: 6(int) Load 8(iid)
130: 6(int) IAdd 129 44
131: 6(int) Load 18(gid)
133: 41(ptr) AccessChain 106(blk2) 130 52 131 31
Store 133 132
134: 6(int) Load 8(iid)
135: 6(int) IAdd 134 52
136: 6(int) Load 8(iid)
137: 6(int) IAdd 136 44
138: 6(int) Load 18(gid)
139: 82(ptr) AccessChain 106(blk2) 137 52 138
140: 27(fvec4) Load 139
141: 82(ptr) AccessChain 106(blk2) 135 52 64
Store 141 140
MemoryBarrier 69 101
ControlBarrier 31 31 101
Return
FunctionEnd