You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

204 lines
10 KiB

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