blob: e2bfb392948683b6173f83425d269459d6af7d6f (
plain)
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
|
spv.memoryQualifier.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 97
Capability Shader
Capability SampledRect
Capability Sampled1D
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "texel"
Name 12 "i1D"
Name 19 "i2D"
Name 28 "i2DRect"
Name 35 "i3D"
Name 44 "iCube"
Name 49 "Data"
MemberName 49(Data) 0 "f1"
MemberName 49(Data) 1 "f2"
Name 50 "Buffer"
MemberName 50(Buffer) 0 "f1"
MemberName 50(Buffer) 1 "f2"
MemberName 50(Buffer) 2 "f3"
MemberName 50(Buffer) 3 "f4"
MemberName 50(Buffer) 4 "i1"
MemberName 50(Buffer) 5 "data"
Name 52 ""
Decorate 12(i1D) DescriptorSet 0
Decorate 12(i1D) Binding 0
Decorate 12(i1D) Coherent
Decorate 19(i2D) DescriptorSet 0
Decorate 19(i2D) Binding 1
Decorate 19(i2D) Volatile
Decorate 28(i2DRect) DescriptorSet 0
Decorate 28(i2DRect) Binding 2
Decorate 28(i2DRect) Restrict
Decorate 35(i3D) DescriptorSet 0
Decorate 35(i3D) Binding 3
Decorate 35(i3D) NonWritable
Decorate 44(iCube) DescriptorSet 0
Decorate 44(iCube) Binding 3
Decorate 44(iCube) NonReadable
MemberDecorate 49(Data) 0 Coherent
MemberDecorate 49(Data) 0 Offset 0
MemberDecorate 49(Data) 1 Coherent
MemberDecorate 49(Data) 1 Offset 8
MemberDecorate 50(Buffer) 0 Coherent
MemberDecorate 50(Buffer) 0 Volatile
MemberDecorate 50(Buffer) 0 Offset 0
MemberDecorate 50(Buffer) 1 Coherent
MemberDecorate 50(Buffer) 1 Restrict
MemberDecorate 50(Buffer) 1 Offset 8
MemberDecorate 50(Buffer) 2 Coherent
MemberDecorate 50(Buffer) 2 NonWritable
MemberDecorate 50(Buffer) 2 Offset 16
MemberDecorate 50(Buffer) 3 Coherent
MemberDecorate 50(Buffer) 3 NonReadable
MemberDecorate 50(Buffer) 3 Offset 32
MemberDecorate 50(Buffer) 4 Coherent
MemberDecorate 50(Buffer) 4 Offset 48
MemberDecorate 50(Buffer) 5 Coherent
MemberDecorate 50(Buffer) 5 Offset 56
Decorate 50(Buffer) BufferBlock
Decorate 52 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypeImage 6(float) 1D nonsampled format:R32f
11: TypePointer UniformConstant 10
12(i1D): 11(ptr) Variable UniformConstant
14: TypeInt 32 1
15: 14(int) Constant 1
17: TypeImage 6(float) 2D nonsampled format:R32f
18: TypePointer UniformConstant 17
19(i2D): 18(ptr) Variable UniformConstant
21: TypeVector 14(int) 2
22: 21(ivec2) ConstantComposite 15 15
26: TypeImage 6(float) Rect nonsampled format:R32f
27: TypePointer UniformConstant 26
28(i2DRect): 27(ptr) Variable UniformConstant
33: TypeImage 6(float) 3D nonsampled format:R32f
34: TypePointer UniformConstant 33
35(i3D): 34(ptr) Variable UniformConstant
37: TypeVector 14(int) 3
38: 37(ivec3) ConstantComposite 15 15 15
42: TypeImage 6(float) Cube nonsampled format:R32f
43: TypePointer UniformConstant 42
44(iCube): 43(ptr) Variable UniformConstant
47: TypeVector 6(float) 2
48: TypeVector 6(float) 3
49(Data): TypeStruct 6(float) 47(fvec2)
50(Buffer): TypeStruct 6(float) 47(fvec2) 48(fvec3) 7(fvec4) 14(int) 49(Data)
51: TypePointer Uniform 50(Buffer)
52: 51(ptr) Variable Uniform
53: 14(int) Constant 4
54: TypePointer Uniform 14(int)
57: 14(int) Constant 0
58: TypePointer Uniform 6(float)
61: TypePointer Function 6(float)
63: TypePointer Uniform 47(fvec2)
71: 14(int) Constant 2
72: TypePointer Uniform 48(fvec3)
80: 14(int) Constant 5
83: TypeInt 32 0
84: 83(int) Constant 1
88: 83(int) Constant 3
93: 14(int) Constant 3
95: TypePointer Uniform 7(fvec4)
4(main): 2 Function None 3
5: Label
9(texel): 8(ptr) Variable Function
13: 10 Load 12(i1D)
16: 7(fvec4) ImageRead 13 15
Store 9(texel) 16
20: 17 Load 19(i2D)
23: 7(fvec4) ImageRead 20 22
24: 7(fvec4) Load 9(texel)
25: 7(fvec4) FAdd 24 23
Store 9(texel) 25
29: 26 Load 28(i2DRect)
30: 7(fvec4) ImageRead 29 22
31: 7(fvec4) Load 9(texel)
32: 7(fvec4) FAdd 31 30
Store 9(texel) 32
36: 33 Load 35(i3D)
39: 7(fvec4) ImageRead 36 38
40: 7(fvec4) Load 9(texel)
41: 7(fvec4) FAdd 40 39
Store 9(texel) 41
45: 42 Load 44(iCube)
46: 7(fvec4) Load 9(texel)
ImageWrite 45 38 46
55: 54(ptr) AccessChain 52 53
56: 14(int) Load 55
59: 58(ptr) AccessChain 52 57
60: 6(float) Load 59
62: 61(ptr) AccessChain 9(texel) 56
Store 62 60
64: 63(ptr) AccessChain 52 15
65: 47(fvec2) Load 64
66: 7(fvec4) Load 9(texel)
67: 47(fvec2) VectorShuffle 66 66 0 1
68: 47(fvec2) FAdd 67 65
69: 7(fvec4) Load 9(texel)
70: 7(fvec4) VectorShuffle 69 68 4 5 2 3
Store 9(texel) 70
73: 72(ptr) AccessChain 52 71
74: 48(fvec3) Load 73
75: 7(fvec4) Load 9(texel)
76: 48(fvec3) VectorShuffle 75 75 0 1 2
77: 48(fvec3) FSub 76 74
78: 7(fvec4) Load 9(texel)
79: 7(fvec4) VectorShuffle 78 77 4 5 6 3
Store 9(texel) 79
81: 58(ptr) AccessChain 52 80 57
82: 6(float) Load 81
85: 58(ptr) AccessChain 52 80 15 84
86: 6(float) Load 85
87: 6(float) FAdd 82 86
89: 61(ptr) AccessChain 9(texel) 88
90: 6(float) Load 89
91: 6(float) FAdd 90 87
92: 61(ptr) AccessChain 9(texel) 88
Store 92 91
94: 7(fvec4) Load 9(texel)
96: 95(ptr) AccessChain 52 93
Store 96 94
Return
FunctionEnd
|