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
396 lines
19 KiB
Plaintext
396 lines
19 KiB
Plaintext
spv.textureGatherBiasLod.frag
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 298
|
|
|
|
Capability Shader
|
|
Capability ImageGatherExtended
|
|
Capability SparseResidency
|
|
Capability SampledCubeArray
|
|
Capability ImageGatherBiasLodAMD
|
|
Extension "SPV_AMD_texture_gather_bias_lod"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Fragment 4 "main" 20 25 37 61 176 296
|
|
ExecutionMode 4 OriginUpperLeft
|
|
Source GLSL 450
|
|
SourceExtension "GL_AMD_texture_gather_bias_lod"
|
|
SourceExtension "GL_ARB_sparse_texture2"
|
|
Name 4 "main"
|
|
Name 9 "texel"
|
|
Name 12 "result"
|
|
Name 16 "s2D"
|
|
Name 20 "c2"
|
|
Name 25 "bias"
|
|
Name 33 "s2DArray"
|
|
Name 37 "c3"
|
|
Name 47 "sCube"
|
|
Name 58 "sCubeArray"
|
|
Name 61 "c4"
|
|
Name 104 "ResType"
|
|
Name 176 "lod"
|
|
Name 296 "fragColor"
|
|
Decorate 16(s2D) Binding 0
|
|
Decorate 16(s2D) DescriptorSet 0
|
|
Decorate 20(c2) Location 0
|
|
Decorate 25(bias) Location 4
|
|
Decorate 33(s2DArray) Binding 1
|
|
Decorate 33(s2DArray) DescriptorSet 0
|
|
Decorate 37(c3) Location 1
|
|
Decorate 47(sCube) Binding 2
|
|
Decorate 47(sCube) DescriptorSet 0
|
|
Decorate 58(sCubeArray) Binding 3
|
|
Decorate 58(sCubeArray) DescriptorSet 0
|
|
Decorate 61(c4) Location 2
|
|
Decorate 176(lod) Location 3
|
|
Decorate 296(fragColor) Location 0
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeFloat 32
|
|
7: TypeVector 6(float) 4
|
|
8: TypePointer Function 7(fvec4)
|
|
10: 6(float) Constant 0
|
|
11: 7(fvec4) ConstantComposite 10 10 10 10
|
|
13: TypeImage 6(float) 2D sampled format:Unknown
|
|
14: TypeSampledImage 13
|
|
15: TypePointer UniformConstant 14
|
|
16(s2D): 15(ptr) Variable UniformConstant
|
|
18: TypeVector 6(float) 2
|
|
19: TypePointer Input 18(fvec2)
|
|
20(c2): 19(ptr) Variable Input
|
|
22: TypeInt 32 1
|
|
23: 22(int) Constant 0
|
|
24: TypePointer Input 6(float)
|
|
25(bias): 24(ptr) Variable Input
|
|
30: TypeImage 6(float) 2D array sampled format:Unknown
|
|
31: TypeSampledImage 30
|
|
32: TypePointer UniformConstant 31
|
|
33(s2DArray): 32(ptr) Variable UniformConstant
|
|
35: TypeVector 6(float) 3
|
|
36: TypePointer Input 35(fvec3)
|
|
37(c3): 36(ptr) Variable Input
|
|
39: 22(int) Constant 1
|
|
44: TypeImage 6(float) Cube sampled format:Unknown
|
|
45: TypeSampledImage 44
|
|
46: TypePointer UniformConstant 45
|
|
47(sCube): 46(ptr) Variable UniformConstant
|
|
50: 22(int) Constant 2
|
|
55: TypeImage 6(float) Cube array sampled format:Unknown
|
|
56: TypeSampledImage 55
|
|
57: TypePointer UniformConstant 56
|
|
58(sCubeArray): 57(ptr) Variable UniformConstant
|
|
60: TypePointer Input 7(fvec4)
|
|
61(c4): 60(ptr) Variable Input
|
|
63: 22(int) Constant 3
|
|
70: TypeVector 22(int) 2
|
|
71: 70(ivec2) ConstantComposite 23 23
|
|
78: 70(ivec2) ConstantComposite 23 39
|
|
85: TypeInt 32 0
|
|
86: 85(int) Constant 4
|
|
87: TypeArray 70(ivec2) 86
|
|
88: 70(ivec2) ConstantComposite 39 23
|
|
89: 70(ivec2) ConstantComposite 39 39
|
|
90: 87 ConstantComposite 71 78 88 89
|
|
104(ResType): TypeStruct 22(int) 7(fvec4)
|
|
176(lod): 24(ptr) Variable Input
|
|
295: TypePointer Output 7(fvec4)
|
|
296(fragColor): 295(ptr) Variable Output
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(texel): 8(ptr) Variable Function
|
|
12(result): 8(ptr) Variable Function
|
|
Store 9(texel) 11
|
|
Store 12(result) 11
|
|
17: 14 Load 16(s2D)
|
|
21: 18(fvec2) Load 20(c2)
|
|
26: 6(float) Load 25(bias)
|
|
27: 7(fvec4) ImageGather 17 21 23 Bias 26
|
|
28: 7(fvec4) Load 9(texel)
|
|
29: 7(fvec4) FAdd 28 27
|
|
Store 9(texel) 29
|
|
34: 31 Load 33(s2DArray)
|
|
38: 35(fvec3) Load 37(c3)
|
|
40: 6(float) Load 25(bias)
|
|
41: 7(fvec4) ImageGather 34 38 39 Bias 40
|
|
42: 7(fvec4) Load 9(texel)
|
|
43: 7(fvec4) FAdd 42 41
|
|
Store 9(texel) 43
|
|
48: 45 Load 47(sCube)
|
|
49: 35(fvec3) Load 37(c3)
|
|
51: 6(float) Load 25(bias)
|
|
52: 7(fvec4) ImageGather 48 49 50 Bias 51
|
|
53: 7(fvec4) Load 9(texel)
|
|
54: 7(fvec4) FAdd 53 52
|
|
Store 9(texel) 54
|
|
59: 56 Load 58(sCubeArray)
|
|
62: 7(fvec4) Load 61(c4)
|
|
64: 6(float) Load 25(bias)
|
|
65: 7(fvec4) ImageGather 59 62 63 Bias 64
|
|
66: 7(fvec4) Load 9(texel)
|
|
67: 7(fvec4) FAdd 66 65
|
|
Store 9(texel) 67
|
|
68: 14 Load 16(s2D)
|
|
69: 18(fvec2) Load 20(c2)
|
|
72: 6(float) Load 25(bias)
|
|
73: 7(fvec4) ImageGather 68 69 23 Bias ConstOffset 72 71
|
|
74: 7(fvec4) Load 9(texel)
|
|
75: 7(fvec4) FAdd 74 73
|
|
Store 9(texel) 75
|
|
76: 31 Load 33(s2DArray)
|
|
77: 35(fvec3) Load 37(c3)
|
|
79: 6(float) Load 25(bias)
|
|
80: 7(fvec4) ImageGather 76 77 39 Bias ConstOffset 79 78
|
|
81: 7(fvec4) Load 9(texel)
|
|
82: 7(fvec4) FAdd 81 80
|
|
Store 9(texel) 82
|
|
83: 14 Load 16(s2D)
|
|
84: 18(fvec2) Load 20(c2)
|
|
91: 6(float) Load 25(bias)
|
|
92: 7(fvec4) ImageGather 83 84 23 Bias ConstOffsets 91 90
|
|
93: 7(fvec4) Load 9(texel)
|
|
94: 7(fvec4) FAdd 93 92
|
|
Store 9(texel) 94
|
|
95: 31 Load 33(s2DArray)
|
|
96: 35(fvec3) Load 37(c3)
|
|
97: 6(float) Load 25(bias)
|
|
98: 7(fvec4) ImageGather 95 96 39 Bias ConstOffsets 97 90
|
|
99: 7(fvec4) Load 9(texel)
|
|
100: 7(fvec4) FAdd 99 98
|
|
Store 9(texel) 100
|
|
101: 14 Load 16(s2D)
|
|
102: 18(fvec2) Load 20(c2)
|
|
103: 6(float) Load 25(bias)
|
|
105:104(ResType) ImageSparseGather 101 102 23 Bias 103
|
|
106: 7(fvec4) CompositeExtract 105 1
|
|
Store 12(result) 106
|
|
107: 22(int) CompositeExtract 105 0
|
|
108: 7(fvec4) Load 12(result)
|
|
109: 7(fvec4) Load 9(texel)
|
|
110: 7(fvec4) FAdd 109 108
|
|
Store 9(texel) 110
|
|
111: 31 Load 33(s2DArray)
|
|
112: 35(fvec3) Load 37(c3)
|
|
113: 6(float) Load 25(bias)
|
|
114:104(ResType) ImageSparseGather 111 112 39 Bias 113
|
|
115: 7(fvec4) CompositeExtract 114 1
|
|
Store 12(result) 115
|
|
116: 22(int) CompositeExtract 114 0
|
|
117: 7(fvec4) Load 12(result)
|
|
118: 7(fvec4) Load 9(texel)
|
|
119: 7(fvec4) FAdd 118 117
|
|
Store 9(texel) 119
|
|
120: 45 Load 47(sCube)
|
|
121: 35(fvec3) Load 37(c3)
|
|
122: 6(float) Load 25(bias)
|
|
123:104(ResType) ImageSparseGather 120 121 50 Bias 122
|
|
124: 7(fvec4) CompositeExtract 123 1
|
|
Store 12(result) 124
|
|
125: 22(int) CompositeExtract 123 0
|
|
126: 7(fvec4) Load 12(result)
|
|
127: 7(fvec4) Load 9(texel)
|
|
128: 7(fvec4) FAdd 127 126
|
|
Store 9(texel) 128
|
|
129: 56 Load 58(sCubeArray)
|
|
130: 7(fvec4) Load 61(c4)
|
|
131: 6(float) Load 25(bias)
|
|
132:104(ResType) ImageSparseGather 129 130 50 Bias 131
|
|
133: 7(fvec4) CompositeExtract 132 1
|
|
Store 12(result) 133
|
|
134: 22(int) CompositeExtract 132 0
|
|
135: 7(fvec4) Load 12(result)
|
|
136: 7(fvec4) Load 9(texel)
|
|
137: 7(fvec4) FAdd 136 135
|
|
Store 9(texel) 137
|
|
138: 14 Load 16(s2D)
|
|
139: 18(fvec2) Load 20(c2)
|
|
140: 6(float) Load 25(bias)
|
|
141:104(ResType) ImageSparseGather 138 139 23 Bias ConstOffset 140 71
|
|
142: 7(fvec4) CompositeExtract 141 1
|
|
Store 12(result) 142
|
|
143: 22(int) CompositeExtract 141 0
|
|
144: 7(fvec4) Load 12(result)
|
|
145: 7(fvec4) Load 9(texel)
|
|
146: 7(fvec4) FAdd 145 144
|
|
Store 9(texel) 146
|
|
147: 31 Load 33(s2DArray)
|
|
148: 35(fvec3) Load 37(c3)
|
|
149: 6(float) Load 25(bias)
|
|
150:104(ResType) ImageSparseGather 147 148 39 Bias ConstOffset 149 78
|
|
151: 7(fvec4) CompositeExtract 150 1
|
|
Store 12(result) 151
|
|
152: 22(int) CompositeExtract 150 0
|
|
153: 7(fvec4) Load 12(result)
|
|
154: 7(fvec4) Load 9(texel)
|
|
155: 7(fvec4) FAdd 154 153
|
|
Store 9(texel) 155
|
|
156: 14 Load 16(s2D)
|
|
157: 18(fvec2) Load 20(c2)
|
|
158: 6(float) Load 25(bias)
|
|
159:104(ResType) ImageSparseGather 156 157 23 Bias ConstOffsets 158 90
|
|
160: 7(fvec4) CompositeExtract 159 1
|
|
Store 12(result) 160
|
|
161: 22(int) CompositeExtract 159 0
|
|
162: 7(fvec4) Load 12(result)
|
|
163: 7(fvec4) Load 9(texel)
|
|
164: 7(fvec4) FAdd 163 162
|
|
Store 9(texel) 164
|
|
165: 31 Load 33(s2DArray)
|
|
166: 35(fvec3) Load 37(c3)
|
|
167: 6(float) Load 25(bias)
|
|
168:104(ResType) ImageSparseGather 165 166 39 Bias ConstOffsets 167 90
|
|
169: 7(fvec4) CompositeExtract 168 1
|
|
Store 12(result) 169
|
|
170: 22(int) CompositeExtract 168 0
|
|
171: 7(fvec4) Load 12(result)
|
|
172: 7(fvec4) Load 9(texel)
|
|
173: 7(fvec4) FAdd 172 171
|
|
Store 9(texel) 173
|
|
174: 14 Load 16(s2D)
|
|
175: 18(fvec2) Load 20(c2)
|
|
177: 6(float) Load 176(lod)
|
|
178: 7(fvec4) ImageGather 174 175 23 Lod 177
|
|
179: 7(fvec4) Load 9(texel)
|
|
180: 7(fvec4) FAdd 179 178
|
|
Store 9(texel) 180
|
|
181: 31 Load 33(s2DArray)
|
|
182: 35(fvec3) Load 37(c3)
|
|
183: 6(float) Load 176(lod)
|
|
184: 7(fvec4) ImageGather 181 182 39 Lod 183
|
|
185: 7(fvec4) Load 9(texel)
|
|
186: 7(fvec4) FAdd 185 184
|
|
Store 9(texel) 186
|
|
187: 45 Load 47(sCube)
|
|
188: 35(fvec3) Load 37(c3)
|
|
189: 6(float) Load 176(lod)
|
|
190: 7(fvec4) ImageGather 187 188 50 Lod 189
|
|
191: 7(fvec4) Load 9(texel)
|
|
192: 7(fvec4) FAdd 191 190
|
|
Store 9(texel) 192
|
|
193: 56 Load 58(sCubeArray)
|
|
194: 7(fvec4) Load 61(c4)
|
|
195: 6(float) Load 176(lod)
|
|
196: 7(fvec4) ImageGather 193 194 63 Lod 195
|
|
197: 7(fvec4) Load 9(texel)
|
|
198: 7(fvec4) FAdd 197 196
|
|
Store 9(texel) 198
|
|
199: 14 Load 16(s2D)
|
|
200: 18(fvec2) Load 20(c2)
|
|
201: 6(float) Load 176(lod)
|
|
202: 7(fvec4) ImageGather 199 200 23 Lod ConstOffset 201 71
|
|
203: 7(fvec4) Load 9(texel)
|
|
204: 7(fvec4) FAdd 203 202
|
|
Store 9(texel) 204
|
|
205: 31 Load 33(s2DArray)
|
|
206: 35(fvec3) Load 37(c3)
|
|
207: 6(float) Load 176(lod)
|
|
208: 7(fvec4) ImageGather 205 206 39 Lod ConstOffset 207 78
|
|
209: 7(fvec4) Load 9(texel)
|
|
210: 7(fvec4) FAdd 209 208
|
|
Store 9(texel) 210
|
|
211: 14 Load 16(s2D)
|
|
212: 18(fvec2) Load 20(c2)
|
|
213: 6(float) Load 176(lod)
|
|
214: 7(fvec4) ImageGather 211 212 23 Lod ConstOffsets 213 90
|
|
215: 7(fvec4) Load 9(texel)
|
|
216: 7(fvec4) FAdd 215 214
|
|
Store 9(texel) 216
|
|
217: 31 Load 33(s2DArray)
|
|
218: 35(fvec3) Load 37(c3)
|
|
219: 6(float) Load 176(lod)
|
|
220: 7(fvec4) ImageGather 217 218 39 Lod ConstOffsets 219 90
|
|
221: 7(fvec4) Load 9(texel)
|
|
222: 7(fvec4) FAdd 221 220
|
|
Store 9(texel) 222
|
|
223: 14 Load 16(s2D)
|
|
224: 18(fvec2) Load 20(c2)
|
|
225: 6(float) Load 176(lod)
|
|
226:104(ResType) ImageSparseGather 223 224 23 Lod 225
|
|
227: 7(fvec4) CompositeExtract 226 1
|
|
Store 12(result) 227
|
|
228: 22(int) CompositeExtract 226 0
|
|
229: 7(fvec4) Load 12(result)
|
|
230: 7(fvec4) Load 9(texel)
|
|
231: 7(fvec4) FAdd 230 229
|
|
Store 9(texel) 231
|
|
232: 31 Load 33(s2DArray)
|
|
233: 35(fvec3) Load 37(c3)
|
|
234: 6(float) Load 176(lod)
|
|
235:104(ResType) ImageSparseGather 232 233 39 Lod 234
|
|
236: 7(fvec4) CompositeExtract 235 1
|
|
Store 12(result) 236
|
|
237: 22(int) CompositeExtract 235 0
|
|
238: 7(fvec4) Load 12(result)
|
|
239: 7(fvec4) Load 9(texel)
|
|
240: 7(fvec4) FAdd 239 238
|
|
Store 9(texel) 240
|
|
241: 45 Load 47(sCube)
|
|
242: 35(fvec3) Load 37(c3)
|
|
243: 6(float) Load 176(lod)
|
|
244:104(ResType) ImageSparseGather 241 242 50 Lod 243
|
|
245: 7(fvec4) CompositeExtract 244 1
|
|
Store 12(result) 245
|
|
246: 22(int) CompositeExtract 244 0
|
|
247: 7(fvec4) Load 12(result)
|
|
248: 7(fvec4) Load 9(texel)
|
|
249: 7(fvec4) FAdd 248 247
|
|
Store 9(texel) 249
|
|
250: 56 Load 58(sCubeArray)
|
|
251: 7(fvec4) Load 61(c4)
|
|
252: 6(float) Load 176(lod)
|
|
253:104(ResType) ImageSparseGather 250 251 50 Lod 252
|
|
254: 7(fvec4) CompositeExtract 253 1
|
|
Store 12(result) 254
|
|
255: 22(int) CompositeExtract 253 0
|
|
256: 7(fvec4) Load 12(result)
|
|
257: 7(fvec4) Load 9(texel)
|
|
258: 7(fvec4) FAdd 257 256
|
|
Store 9(texel) 258
|
|
259: 14 Load 16(s2D)
|
|
260: 18(fvec2) Load 20(c2)
|
|
261: 6(float) Load 176(lod)
|
|
262:104(ResType) ImageSparseGather 259 260 23 Lod ConstOffset 261 71
|
|
263: 7(fvec4) CompositeExtract 262 1
|
|
Store 12(result) 263
|
|
264: 22(int) CompositeExtract 262 0
|
|
265: 7(fvec4) Load 12(result)
|
|
266: 7(fvec4) Load 9(texel)
|
|
267: 7(fvec4) FAdd 266 265
|
|
Store 9(texel) 267
|
|
268: 31 Load 33(s2DArray)
|
|
269: 35(fvec3) Load 37(c3)
|
|
270: 6(float) Load 176(lod)
|
|
271:104(ResType) ImageSparseGather 268 269 39 Lod ConstOffset 270 78
|
|
272: 7(fvec4) CompositeExtract 271 1
|
|
Store 12(result) 272
|
|
273: 22(int) CompositeExtract 271 0
|
|
274: 7(fvec4) Load 12(result)
|
|
275: 7(fvec4) Load 9(texel)
|
|
276: 7(fvec4) FAdd 275 274
|
|
Store 9(texel) 276
|
|
277: 14 Load 16(s2D)
|
|
278: 18(fvec2) Load 20(c2)
|
|
279: 6(float) Load 176(lod)
|
|
280:104(ResType) ImageSparseGather 277 278 23 Lod ConstOffsets 279 90
|
|
281: 7(fvec4) CompositeExtract 280 1
|
|
Store 12(result) 281
|
|
282: 22(int) CompositeExtract 280 0
|
|
283: 7(fvec4) Load 12(result)
|
|
284: 7(fvec4) Load 9(texel)
|
|
285: 7(fvec4) FAdd 284 283
|
|
Store 9(texel) 285
|
|
286: 31 Load 33(s2DArray)
|
|
287: 35(fvec3) Load 37(c3)
|
|
288: 6(float) Load 176(lod)
|
|
289:104(ResType) ImageSparseGather 286 287 39 Lod ConstOffsets 288 90
|
|
290: 7(fvec4) CompositeExtract 289 1
|
|
Store 12(result) 290
|
|
291: 22(int) CompositeExtract 289 0
|
|
292: 7(fvec4) Load 12(result)
|
|
293: 7(fvec4) Load 9(texel)
|
|
294: 7(fvec4) FAdd 293 292
|
|
Store 9(texel) 294
|
|
297: 7(fvec4) Load 9(texel)
|
|
Store 296(fragColor) 297
|
|
Return
|
|
FunctionEnd
|