1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
spv.meshTaskShader.task
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 116
Capability StorageImageWriteWithoutFormat
Capability MeshShadingNV
Extension "SPV_NV_mesh_shader"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint TaskNV 4 "main" 11 17 24 25 90 113
ExecutionMode 4 LocalSize 32 1 1
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 20 "viewID"
Name 24 "gl_MeshViewIndicesNV"
Name 25 "gl_MeshViewCountNV"
Name 30 "i"
Name 44 "mem"
Name 47 "block0"
MemberName 47(block0) 0 "uni_value"
Name 49 ""
Name 65 "uni_image"
Name 88 "Task"
MemberName 88(Task) 0 "dummy"
MemberName 88(Task) 1 "submesh"
MemberName 88(Task) 2 "viewID"
Name 90 "mytask"
Name 113 "gl_TaskCountNV"
Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
Decorate 47(block0) Block
MemberDecorate 47(block0) 0 Offset 0
Decorate 49 Binding 1
Decorate 49 DescriptorSet 0
Decorate 65(uni_image) NonReadable
Decorate 65(uni_image) Binding 0
Decorate 65(uni_image) DescriptorSet 0
Decorate 87 ArrayStride 8
Decorate 88(Task) Block
MemberDecorate 88(Task) 0 Offset 0
MemberDecorate 88(Task) 0 PerTaskNV
MemberDecorate 88(Task) 1 Offset 8
MemberDecorate 88(Task) 1 PerTaskNV
MemberDecorate 88(Task) 2 Offset 32
MemberDecorate 88(Task) 2 PerTaskNV
Decorate 90(mytask) Location 0
Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV
Decorate 115 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
21: 6(int) Constant 4
22: TypeArray 6(int) 21
23: TypePointer Input 22
24(gl_MeshViewIndicesNV): 23(ptr) Variable Input
25(gl_MeshViewCountNV): 13(ptr) Variable Input
37: 6(int) Constant 10
38: TypeBool
40: TypeFloat 32
41: TypeVector 40(float) 4
42: TypeArray 41(fvec4) 37
43: TypePointer Workgroup 42
44(mem): 43(ptr) Variable Workgroup
47(block0): TypeStruct 6(int)
48: TypePointer Uniform 47(block0)
49: 48(ptr) Variable Uniform
50: TypeInt 32 1
51: 50(int) Constant 0
52: TypePointer Uniform 6(int)
58: TypePointer Workgroup 41(fvec4)
61: 50(int) Constant 1
63: TypeImage 40(float) 2D nonsampled format:Unknown
64: TypePointer UniformConstant 63
65(uni_image): 64(ptr) Variable UniformConstant
69: TypeVector 50(int) 2
79: 6(int) Constant 1
83: 6(int) Constant 264
84: 6(int) Constant 2
85: TypeVector 40(float) 2
86: 6(int) Constant 3
87: TypeArray 85(fvec2) 86
88(Task): TypeStruct 85(fvec2) 87 6(int)
89: TypePointer Output 88(Task)
90(mytask): 89(ptr) Variable Output
91: 40(float) Constant 1106247680
92: 40(float) Constant 1106771968
93: 85(fvec2) ConstantComposite 91 92
94: TypePointer Output 85(fvec2)
96: 40(float) Constant 1107296256
97: 40(float) Constant 1107558400
98: 85(fvec2) ConstantComposite 96 97
100: 40(float) Constant 1107820544
101: 40(float) Constant 1108082688
102: 85(fvec2) ConstantComposite 100 101
104: 50(int) Constant 2
111: TypePointer Output 6(int)
113(gl_TaskCountNV): 111(ptr) Variable Output
114: 6(int) Constant 32
115: 9(ivec3) ConstantComposite 114 79 79
4(main): 2 Function None 3
5: Label
8(iid): 7(ptr) Variable Function
16(gid): 7(ptr) Variable Function
20(viewID): 7(ptr) Variable Function
30(i): 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
26: 6(int) Load 25(gl_MeshViewCountNV)
27: 6(int) UMod 26 21
28: 13(ptr) AccessChain 24(gl_MeshViewIndicesNV) 27
29: 6(int) Load 28
Store 20(viewID) 29
Store 30(i) 12
Branch 31
31: Label
LoopMerge 33 34 None
Branch 35
35: Label
36: 6(int) Load 30(i)
39: 38(bool) ULessThan 36 37
BranchConditional 39 32 33
32: Label
45: 6(int) Load 30(i)
46: 6(int) Load 30(i)
53: 52(ptr) AccessChain 49 51
54: 6(int) Load 53
55: 6(int) IAdd 46 54
56: 40(float) ConvertUToF 55
57: 41(fvec4) CompositeConstruct 56 56 56 56
59: 58(ptr) AccessChain 44(mem) 45
Store 59 57
Branch 34
34: Label
60: 6(int) Load 30(i)
62: 6(int) IAdd 60 61
Store 30(i) 62
Branch 31
33: Label
66: 63 Load 65(uni_image)
67: 6(int) Load 8(iid)
68: 50(int) Bitcast 67
70: 69(ivec2) CompositeConstruct 68 68
71: 6(int) Load 16(gid)
72: 58(ptr) AccessChain 44(mem) 71
73: 41(fvec4) Load 72
ImageWrite 66 70 73
74: 63 Load 65(uni_image)
75: 6(int) Load 8(iid)
76: 50(int) Bitcast 75
77: 69(ivec2) CompositeConstruct 76 76
78: 6(int) Load 16(gid)
80: 6(int) IAdd 78 79
81: 58(ptr) AccessChain 44(mem) 80
82: 41(fvec4) Load 81
ImageWrite 74 77 82
MemoryBarrier 79 83
ControlBarrier 84 84 83
95: 94(ptr) AccessChain 90(mytask) 51
Store 95 93
99: 94(ptr) AccessChain 90(mytask) 61 51
Store 99 98
103: 94(ptr) AccessChain 90(mytask) 61 61
Store 103 102
105: 6(int) Load 16(gid)
106: 6(int) UMod 105 84
107: 94(ptr) AccessChain 90(mytask) 61 106
108: 85(fvec2) Load 107
109: 94(ptr) AccessChain 90(mytask) 61 104
Store 109 108
110: 6(int) Load 20(viewID)
112: 111(ptr) AccessChain 90(mytask) 104
Store 112 110
MemoryBarrier 79 83
ControlBarrier 84 84 83
Store 113(gl_TaskCountNV) 86
Return
FunctionEnd
|