glslang/Test/baseResults/spv.textureGatherBiasLod.frag.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
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
2024-06-28 19:16:59 -04:00

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