mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
33c7e30860
It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627
320 lines
16 KiB
Plaintext
320 lines
16 KiB
Plaintext
spv.aggOps.frag
|
|
WARNING: 0:4: '' : all default precisions are highp; use precision statements to quiet warning, e.g.:
|
|
"precision mediump int; precision highp float;"
|
|
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 215
|
|
|
|
Capability Shader
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 16 41 101 213
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
Name 4 "main"
|
|
Name 8 "s1"
|
|
MemberName 8(s1) 0 "i"
|
|
MemberName 8(s1) 1 "f"
|
|
Name 13 "a"
|
|
Name 16 "u"
|
|
Name 37 "b"
|
|
Name 41 "w"
|
|
Name 55 "s1"
|
|
MemberName 55(s1) 0 "i"
|
|
MemberName 55(s1) 1 "f"
|
|
Name 56 "s2"
|
|
MemberName 56(s2) 0 "i"
|
|
MemberName 56(s2) 1 "f"
|
|
MemberName 56(s2) 2 "s1_1"
|
|
Name 57 "ub1"
|
|
MemberName 57(ub1) 0 "foo2a"
|
|
Name 59 "uName1"
|
|
Name 64 "s1"
|
|
MemberName 64(s1) 0 "i"
|
|
MemberName 64(s1) 1 "f"
|
|
Name 65 "s2"
|
|
MemberName 65(s2) 0 "i"
|
|
MemberName 65(s2) 1 "f"
|
|
MemberName 65(s2) 2 "s1_1"
|
|
Name 66 "ub2"
|
|
MemberName 66(ub2) 0 "foo2b"
|
|
Name 68 "uName2"
|
|
Name 93 "v"
|
|
Name 97 "samp2D"
|
|
Name 101 "coord"
|
|
Name 213 "color"
|
|
Decorate 16(u) Location 1
|
|
Decorate 41(w) Location 2
|
|
MemberDecorate 55(s1) 0 Offset 0
|
|
MemberDecorate 55(s1) 1 Offset 4
|
|
MemberDecorate 56(s2) 0 Offset 0
|
|
MemberDecorate 56(s2) 1 Offset 4
|
|
MemberDecorate 56(s2) 2 Offset 16
|
|
Decorate 57(ub1) Block
|
|
MemberDecorate 57(ub1) 0 Offset 0
|
|
Decorate 59(uName1) Binding 1
|
|
Decorate 59(uName1) DescriptorSet 0
|
|
MemberDecorate 64(s1) 0 Offset 0
|
|
MemberDecorate 64(s1) 1 Offset 4
|
|
MemberDecorate 65(s2) 0 Offset 0
|
|
MemberDecorate 65(s2) 1 Offset 4
|
|
MemberDecorate 65(s2) 2 Offset 8
|
|
Decorate 66(ub2) BufferBlock
|
|
MemberDecorate 66(ub2) 0 Offset 0
|
|
Decorate 68(uName2) Binding 2
|
|
Decorate 68(uName2) DescriptorSet 0
|
|
Decorate 97(samp2D) Binding 0
|
|
Decorate 97(samp2D) DescriptorSet 0
|
|
Decorate 101(coord) RelaxedPrecision
|
|
Decorate 101(coord) Location 0
|
|
Decorate 102 RelaxedPrecision
|
|
Decorate 107 RelaxedPrecision
|
|
Decorate 108 RelaxedPrecision
|
|
Decorate 129 RelaxedPrecision
|
|
Decorate 213(color) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 1
|
|
7: TypeFloat 32
|
|
8(s1): TypeStruct 6(int) 7(float)
|
|
9: TypeInt 32 0
|
|
10: 9(int) Constant 3
|
|
11: TypeArray 8(s1) 10
|
|
12: TypePointer Function 11
|
|
14: TypeVector 7(float) 4
|
|
15: TypePointer Input 14(fvec4)
|
|
16(u): 15(ptr) Variable Input
|
|
17: 9(int) Constant 0
|
|
18: TypePointer Input 7(float)
|
|
22: 9(int) Constant 1
|
|
26: 9(int) Constant 2
|
|
33: 6(int) Constant 14
|
|
34: 7(float) Constant 1096810496
|
|
35: 8(s1) ConstantComposite 33 34
|
|
38: 6(int) Constant 17
|
|
39: 7(float) Constant 1099431936
|
|
40: 8(s1) ConstantComposite 38 39
|
|
41(w): 15(ptr) Variable Input
|
|
55(s1): TypeStruct 6(int) 7(float)
|
|
56(s2): TypeStruct 6(int) 7(float) 55(s1)
|
|
57(ub1): TypeStruct 56(s2)
|
|
58: TypePointer Uniform 57(ub1)
|
|
59(uName1): 58(ptr) Variable Uniform
|
|
60: 6(int) Constant 0
|
|
61: TypePointer Uniform 56(s2)
|
|
64(s1): TypeStruct 6(int) 7(float)
|
|
65(s2): TypeStruct 6(int) 7(float) 64(s1)
|
|
66(ub2): TypeStruct 65(s2)
|
|
67: TypePointer Uniform 66(ub2)
|
|
68(uName2): 67(ptr) Variable Uniform
|
|
69: TypePointer Uniform 65(s2)
|
|
72: TypeBool
|
|
92: TypePointer Function 14(fvec4)
|
|
94: TypeImage 7(float) 2D sampled format:Unknown
|
|
95: TypeSampledImage 94
|
|
96: TypePointer UniformConstant 95
|
|
97(samp2D): 96(ptr) Variable UniformConstant
|
|
99: TypeVector 7(float) 2
|
|
100: TypePointer Input 99(fvec2)
|
|
101(coord): 100(ptr) Variable Input
|
|
106: 7(float) Constant 1073741824
|
|
112: TypeVector 72(bool) 4
|
|
117: 7(float) Constant 1077936128
|
|
126: 7(float) Constant 1082130432
|
|
132: TypeVector 72(bool) 2
|
|
137: 7(float) Constant 1084227584
|
|
173: 7(float) Constant 1086324736
|
|
209: 7(float) Constant 1088421888
|
|
212: TypePointer Output 14(fvec4)
|
|
213(color): 212(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
13(a): 12(ptr) Variable Function
|
|
37(b): 12(ptr) Variable Function
|
|
93(v): 92(ptr) Variable Function
|
|
19: 18(ptr) AccessChain 16(u) 17
|
|
20: 7(float) Load 19
|
|
21: 6(int) ConvertFToS 20
|
|
23: 18(ptr) AccessChain 16(u) 22
|
|
24: 7(float) Load 23
|
|
25: 8(s1) CompositeConstruct 21 24
|
|
27: 18(ptr) AccessChain 16(u) 26
|
|
28: 7(float) Load 27
|
|
29: 6(int) ConvertFToS 28
|
|
30: 18(ptr) AccessChain 16(u) 10
|
|
31: 7(float) Load 30
|
|
32: 8(s1) CompositeConstruct 29 31
|
|
36: 11 CompositeConstruct 25 32 35
|
|
Store 13(a) 36
|
|
42: 18(ptr) AccessChain 41(w) 17
|
|
43: 7(float) Load 42
|
|
44: 6(int) ConvertFToS 43
|
|
45: 18(ptr) AccessChain 41(w) 22
|
|
46: 7(float) Load 45
|
|
47: 8(s1) CompositeConstruct 44 46
|
|
48: 18(ptr) AccessChain 41(w) 26
|
|
49: 7(float) Load 48
|
|
50: 6(int) ConvertFToS 49
|
|
51: 18(ptr) AccessChain 41(w) 10
|
|
52: 7(float) Load 51
|
|
53: 8(s1) CompositeConstruct 50 52
|
|
54: 11 CompositeConstruct 40 47 53
|
|
Store 37(b) 54
|
|
62: 61(ptr) AccessChain 59(uName1) 60
|
|
63: 56(s2) Load 62
|
|
70: 69(ptr) AccessChain 68(uName2) 60
|
|
71: 65(s2) Load 70
|
|
73: 6(int) CompositeExtract 63 0
|
|
74: 6(int) CompositeExtract 71 0
|
|
75: 72(bool) IEqual 73 74
|
|
76: 7(float) CompositeExtract 63 1
|
|
77: 7(float) CompositeExtract 71 1
|
|
78: 72(bool) FOrdEqual 76 77
|
|
79: 72(bool) LogicalAnd 75 78
|
|
80: 55(s1) CompositeExtract 63 2
|
|
81: 64(s1) CompositeExtract 71 2
|
|
82: 6(int) CompositeExtract 80 0
|
|
83: 6(int) CompositeExtract 81 0
|
|
84: 72(bool) IEqual 82 83
|
|
85: 7(float) CompositeExtract 80 1
|
|
86: 7(float) CompositeExtract 81 1
|
|
87: 72(bool) FOrdEqual 85 86
|
|
88: 72(bool) LogicalAnd 84 87
|
|
89: 72(bool) LogicalAnd 79 88
|
|
SelectionMerge 91 None
|
|
BranchConditional 89 90 104
|
|
90: Label
|
|
98: 95 Load 97(samp2D)
|
|
102: 99(fvec2) Load 101(coord)
|
|
103: 14(fvec4) ImageSampleImplicitLod 98 102
|
|
Store 93(v) 103
|
|
Branch 91
|
|
104: Label
|
|
105: 95 Load 97(samp2D)
|
|
107: 99(fvec2) Load 101(coord)
|
|
108: 99(fvec2) VectorTimesScalar 107 106
|
|
109: 14(fvec4) ImageSampleImplicitLod 105 108
|
|
Store 93(v) 109
|
|
Branch 91
|
|
91: Label
|
|
110: 14(fvec4) Load 16(u)
|
|
111: 14(fvec4) Load 93(v)
|
|
113: 112(bvec4) FOrdEqual 110 111
|
|
114: 72(bool) All 113
|
|
SelectionMerge 116 None
|
|
BranchConditional 114 115 116
|
|
115: Label
|
|
118: 14(fvec4) Load 93(v)
|
|
119: 14(fvec4) VectorTimesScalar 118 117
|
|
Store 93(v) 119
|
|
Branch 116
|
|
116: Label
|
|
120: 14(fvec4) Load 16(u)
|
|
121: 14(fvec4) Load 93(v)
|
|
122: 112(bvec4) FUnordNotEqual 120 121
|
|
123: 72(bool) Any 122
|
|
SelectionMerge 125 None
|
|
BranchConditional 123 124 125
|
|
124: Label
|
|
127: 14(fvec4) Load 93(v)
|
|
128: 14(fvec4) VectorTimesScalar 127 126
|
|
Store 93(v) 128
|
|
Branch 125
|
|
125: Label
|
|
129: 99(fvec2) Load 101(coord)
|
|
130: 14(fvec4) Load 93(v)
|
|
131: 99(fvec2) VectorShuffle 130 130 1 3
|
|
133: 132(bvec2) FOrdEqual 129 131
|
|
134: 72(bool) All 133
|
|
SelectionMerge 136 None
|
|
BranchConditional 134 135 136
|
|
135: Label
|
|
138: 14(fvec4) Load 93(v)
|
|
139: 14(fvec4) VectorTimesScalar 138 137
|
|
Store 93(v) 139
|
|
Branch 136
|
|
136: Label
|
|
140: 11 Load 13(a)
|
|
141: 11 Load 37(b)
|
|
142: 8(s1) CompositeExtract 140 0
|
|
143: 8(s1) CompositeExtract 141 0
|
|
144: 6(int) CompositeExtract 142 0
|
|
145: 6(int) CompositeExtract 143 0
|
|
146: 72(bool) IEqual 144 145
|
|
147: 7(float) CompositeExtract 142 1
|
|
148: 7(float) CompositeExtract 143 1
|
|
149: 72(bool) FOrdEqual 147 148
|
|
150: 72(bool) LogicalAnd 146 149
|
|
151: 8(s1) CompositeExtract 140 1
|
|
152: 8(s1) CompositeExtract 141 1
|
|
153: 6(int) CompositeExtract 151 0
|
|
154: 6(int) CompositeExtract 152 0
|
|
155: 72(bool) IEqual 153 154
|
|
156: 7(float) CompositeExtract 151 1
|
|
157: 7(float) CompositeExtract 152 1
|
|
158: 72(bool) FOrdEqual 156 157
|
|
159: 72(bool) LogicalAnd 155 158
|
|
160: 72(bool) LogicalAnd 150 159
|
|
161: 8(s1) CompositeExtract 140 2
|
|
162: 8(s1) CompositeExtract 141 2
|
|
163: 6(int) CompositeExtract 161 0
|
|
164: 6(int) CompositeExtract 162 0
|
|
165: 72(bool) IEqual 163 164
|
|
166: 7(float) CompositeExtract 161 1
|
|
167: 7(float) CompositeExtract 162 1
|
|
168: 72(bool) FOrdEqual 166 167
|
|
169: 72(bool) LogicalAnd 165 168
|
|
170: 72(bool) LogicalAnd 160 169
|
|
SelectionMerge 172 None
|
|
BranchConditional 170 171 172
|
|
171: Label
|
|
174: 14(fvec4) Load 93(v)
|
|
175: 14(fvec4) VectorTimesScalar 174 173
|
|
Store 93(v) 175
|
|
Branch 172
|
|
172: Label
|
|
176: 11 Load 13(a)
|
|
177: 11 Load 37(b)
|
|
178: 8(s1) CompositeExtract 176 0
|
|
179: 8(s1) CompositeExtract 177 0
|
|
180: 6(int) CompositeExtract 178 0
|
|
181: 6(int) CompositeExtract 179 0
|
|
182: 72(bool) INotEqual 180 181
|
|
183: 7(float) CompositeExtract 178 1
|
|
184: 7(float) CompositeExtract 179 1
|
|
185: 72(bool) FUnordNotEqual 183 184
|
|
186: 72(bool) LogicalOr 182 185
|
|
187: 8(s1) CompositeExtract 176 1
|
|
188: 8(s1) CompositeExtract 177 1
|
|
189: 6(int) CompositeExtract 187 0
|
|
190: 6(int) CompositeExtract 188 0
|
|
191: 72(bool) INotEqual 189 190
|
|
192: 7(float) CompositeExtract 187 1
|
|
193: 7(float) CompositeExtract 188 1
|
|
194: 72(bool) FUnordNotEqual 192 193
|
|
195: 72(bool) LogicalOr 191 194
|
|
196: 72(bool) LogicalOr 186 195
|
|
197: 8(s1) CompositeExtract 176 2
|
|
198: 8(s1) CompositeExtract 177 2
|
|
199: 6(int) CompositeExtract 197 0
|
|
200: 6(int) CompositeExtract 198 0
|
|
201: 72(bool) INotEqual 199 200
|
|
202: 7(float) CompositeExtract 197 1
|
|
203: 7(float) CompositeExtract 198 1
|
|
204: 72(bool) FUnordNotEqual 202 203
|
|
205: 72(bool) LogicalOr 201 204
|
|
206: 72(bool) LogicalOr 196 205
|
|
SelectionMerge 208 None
|
|
BranchConditional 206 207 208
|
|
207: Label
|
|
210: 14(fvec4) Load 93(v)
|
|
211: 14(fvec4) VectorTimesScalar 210 209
|
|
Store 93(v) 211
|
|
Branch 208
|
|
208: Label
|
|
214: 14(fvec4) Load 93(v)
|
|
Store 213(color) 214
|
|
Return
|
|
FunctionEnd
|