1; SPIR-V
2; Version: 1.3
3; Generator: Khronos Glslang Reference Front End; 6
4; Bound: 247
5; Schema: 0
6               OpCapability Shader
7               OpCapability Sampled1D
8               OpCapability SampledCubeArray
9               OpCapability SampledBuffer
10          %1 = OpExtInstImport "GLSL.std.450"
11               OpMemoryModel Logical GLSL450
12               OpEntryPoint Fragment %main "main"
13               OpExecutionMode %main OriginUpperLeft
14               OpSource GLSL 450
15               OpName %main "main"
16               OpName %c "c"
17               OpName %tex1d "tex1d"
18               OpName %tex2d "tex2d"
19               OpName %tex3d "tex3d"
20               OpName %texCube "texCube"
21               OpName %tex2dArray "tex2dArray"
22               OpName %texCubeArray "texCubeArray"
23               OpName %depth2d "depth2d"
24               OpName %depthCube "depthCube"
25               OpName %depth2dArray "depth2dArray"
26               OpName %depthCubeArray "depthCubeArray"
27               OpName %texBuffer "texBuffer"
28               OpName %tex1dSamp "tex1dSamp"
29               OpName %tex2dSamp "tex2dSamp"
30               OpName %tex3dSamp "tex3dSamp"
31               OpName %texCubeSamp "texCubeSamp"
32               OpName %tex2dArraySamp "tex2dArraySamp"
33               OpName %texCubeArraySamp "texCubeArraySamp"
34               OpName %depth2dSamp "depth2dSamp"
35               OpName %depthCubeSamp "depthCubeSamp"
36               OpName %depth2dArraySamp "depth2dArraySamp"
37               OpName %depthCubeArraySamp "depthCubeArraySamp"
38               OpDecorate %tex1d DescriptorSet 0
39               OpDecorate %tex1d Binding 0
40               OpDecorate %tex2d DescriptorSet 0
41               OpDecorate %tex2d Binding 1
42               OpDecorate %tex3d DescriptorSet 0
43               OpDecorate %tex3d Binding 2
44               OpDecorate %texCube DescriptorSet 0
45               OpDecorate %texCube Binding 3
46               OpDecorate %tex2dArray DescriptorSet 0
47               OpDecorate %tex2dArray Binding 4
48               OpDecorate %texCubeArray DescriptorSet 0
49               OpDecorate %texCubeArray Binding 5
50               OpDecorate %depth2d DescriptorSet 0
51               OpDecorate %depth2d Binding 7
52               OpDecorate %depthCube DescriptorSet 0
53               OpDecorate %depthCube Binding 8
54               OpDecorate %depth2dArray DescriptorSet 0
55               OpDecorate %depth2dArray Binding 9
56               OpDecorate %depthCubeArray DescriptorSet 0
57               OpDecorate %depthCubeArray Binding 10
58               OpDecorate %texBuffer DescriptorSet 0
59               OpDecorate %texBuffer Binding 6
60               OpDecorate %tex1dSamp DescriptorSet 1
61               OpDecorate %tex1dSamp Binding 0
62               OpDecorate %tex2dSamp DescriptorSet 1
63               OpDecorate %tex2dSamp Binding 1
64               OpDecorate %tex3dSamp DescriptorSet 1
65               OpDecorate %tex3dSamp Binding 2
66               OpDecorate %texCubeSamp DescriptorSet 1
67               OpDecorate %texCubeSamp Binding 3
68               OpDecorate %tex2dArraySamp DescriptorSet 1
69               OpDecorate %tex2dArraySamp Binding 4
70               OpDecorate %texCubeArraySamp DescriptorSet 1
71               OpDecorate %texCubeArraySamp Binding 5
72               OpDecorate %depth2dSamp DescriptorSet 1
73               OpDecorate %depth2dSamp Binding 7
74               OpDecorate %depthCubeSamp DescriptorSet 1
75               OpDecorate %depthCubeSamp Binding 8
76               OpDecorate %depth2dArraySamp DescriptorSet 1
77               OpDecorate %depth2dArraySamp Binding 9
78               OpDecorate %depthCubeArraySamp DescriptorSet 1
79               OpDecorate %depthCubeArraySamp Binding 10
80       %void = OpTypeVoid
81          %3 = OpTypeFunction %void
82      %float = OpTypeFloat 32
83    %v4float = OpTypeVector %float 4
84%_ptr_Function_v4float = OpTypePointer Function %v4float
85         %10 = OpTypeImage %float 1D 0 0 0 1 Unknown
86         %11 = OpTypeSampledImage %10
87         %12 = OpTypeSampler
88%_ptr_UniformConstant_10 = OpTypePointer UniformConstant %10
89      %tex1d = OpVariable %_ptr_UniformConstant_10 UniformConstant
90%_ptr_UniformConstant_12 = OpTypePointer UniformConstant %12
91  %tex1dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
92    %float_0 = OpConstant %float 0
93         %17 = OpTypeImage %float 2D 0 0 0 1 Unknown
94         %18 = OpTypeSampledImage %17
95%_ptr_UniformConstant_17 = OpTypePointer UniformConstant %17
96      %tex2d = OpVariable %_ptr_UniformConstant_17 UniformConstant
97  %tex2dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
98    %v2float = OpTypeVector %float 2
99         %23 = OpConstantComposite %v2float %float_0 %float_0
100         %25 = OpTypeImage %float 3D 0 0 0 1 Unknown
101         %26 = OpTypeSampledImage %25
102%_ptr_UniformConstant_25 = OpTypePointer UniformConstant %25
103      %tex3d = OpVariable %_ptr_UniformConstant_25 UniformConstant
104  %tex3dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
105    %v3float = OpTypeVector %float 3
106         %31 = OpConstantComposite %v3float %float_0 %float_0 %float_0
107         %33 = OpTypeImage %float Cube 0 0 0 1 Unknown
108         %34 = OpTypeSampledImage %33
109%_ptr_UniformConstant_33 = OpTypePointer UniformConstant %33
110    %texCube = OpVariable %_ptr_UniformConstant_33 UniformConstant
111%texCubeSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
112         %39 = OpTypeImage %float 2D 0 1 0 1 Unknown
113         %40 = OpTypeSampledImage %39
114%_ptr_UniformConstant_39 = OpTypePointer UniformConstant %39
115 %tex2dArray = OpVariable %_ptr_UniformConstant_39 UniformConstant
116%tex2dArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
117         %45 = OpTypeImage %float Cube 0 1 0 1 Unknown
118         %46 = OpTypeSampledImage %45
119%_ptr_UniformConstant_45 = OpTypePointer UniformConstant %45
120%texCubeArray = OpVariable %_ptr_UniformConstant_45 UniformConstant
121%texCubeArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
122         %50 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
123         %52 = OpTypeImage %float 2D 1 0 0 1 Unknown
124         %53 = OpTypeSampledImage %52
125%_ptr_UniformConstant_52 = OpTypePointer UniformConstant %52
126    %depth2d = OpVariable %_ptr_UniformConstant_52 UniformConstant
127%depth2dSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
128    %float_1 = OpConstant %float 1
129         %58 = OpConstantComposite %v3float %float_0 %float_0 %float_1
130       %uint = OpTypeInt 32 0
131     %uint_0 = OpConstant %uint 0
132%_ptr_Function_float = OpTypePointer Function %float
133         %65 = OpTypeImage %float Cube 1 0 0 1 Unknown
134         %66 = OpTypeSampledImage %65
135%_ptr_UniformConstant_65 = OpTypePointer UniformConstant %65
136  %depthCube = OpVariable %_ptr_UniformConstant_65 UniformConstant
137%depthCubeSamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
138         %70 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_1
139         %74 = OpTypeImage %float 2D 1 1 0 1 Unknown
140         %75 = OpTypeSampledImage %74
141%_ptr_UniformConstant_74 = OpTypePointer UniformConstant %74
142%depth2dArray = OpVariable %_ptr_UniformConstant_74 UniformConstant
143%depth2dArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
144         %82 = OpTypeImage %float Cube 1 1 0 1 Unknown
145         %83 = OpTypeSampledImage %82
146%_ptr_UniformConstant_82 = OpTypePointer UniformConstant %82
147%depthCubeArray = OpVariable %_ptr_UniformConstant_82 UniformConstant
148%depthCubeArraySamp = OpVariable %_ptr_UniformConstant_12 UniformConstant
149         %97 = OpConstantComposite %v2float %float_0 %float_1
150         %98 = OpConstantComposite %v4float %float_0 %float_0 %float_1 %float_1
151        %int = OpTypeInt 32 1
152      %int_0 = OpConstant %int 0
153      %v2int = OpTypeVector %int 2
154        %138 = OpConstantComposite %v2int %int_0 %int_0
155      %v3int = OpTypeVector %int 3
156        %143 = OpConstantComposite %v3int %int_0 %int_0 %int_0
157        %149 = OpTypeImage %float Buffer 0 0 0 1 Unknown
158%_ptr_UniformConstant_149 = OpTypePointer UniformConstant %149
159  %texBuffer = OpVariable %_ptr_UniformConstant_149 UniformConstant
160      %int_1 = OpConstant %int 1
161      %int_2 = OpConstant %int 2
162      %int_3 = OpConstant %int 3
163       %main = OpFunction %void None %3
164          %5 = OpLabel
165          %c = OpVariable %_ptr_Function_v4float Function
166         %13 = OpLoad %10 %tex1d
167         %14 = OpLoad %12 %tex1dSamp
168         %15 = OpSampledImage %11 %13 %14
169         %16 = OpImageSampleImplicitLod %v4float %15 %float_0
170               OpStore %c %16
171         %19 = OpLoad %17 %tex2d
172         %20 = OpLoad %12 %tex2dSamp
173         %21 = OpSampledImage %18 %19 %20
174         %24 = OpImageSampleImplicitLod %v4float %21 %23
175               OpStore %c %24
176         %27 = OpLoad %25 %tex3d
177         %28 = OpLoad %12 %tex3dSamp
178         %29 = OpSampledImage %26 %27 %28
179         %32 = OpImageSampleImplicitLod %v4float %29 %31
180               OpStore %c %32
181         %35 = OpLoad %33 %texCube
182         %36 = OpLoad %12 %texCubeSamp
183         %37 = OpSampledImage %34 %35 %36
184         %38 = OpImageSampleImplicitLod %v4float %37 %31
185               OpStore %c %38
186         %41 = OpLoad %39 %tex2dArray
187         %42 = OpLoad %12 %tex2dArraySamp
188         %43 = OpSampledImage %40 %41 %42
189         %44 = OpImageSampleImplicitLod %v4float %43 %31
190               OpStore %c %44
191         %47 = OpLoad %45 %texCubeArray
192         %48 = OpLoad %12 %texCubeArraySamp
193         %49 = OpSampledImage %46 %47 %48
194         %51 = OpImageSampleImplicitLod %v4float %49 %50
195               OpStore %c %51
196         %54 = OpLoad %52 %depth2d
197         %55 = OpLoad %12 %depth2dSamp
198         %56 = OpSampledImage %53 %54 %55
199         %59 = OpCompositeExtract %float %58 2
200         %60 = OpImageSampleDrefImplicitLod %float %56 %58 %59
201         %64 = OpAccessChain %_ptr_Function_float %c %uint_0
202               OpStore %64 %60
203         %67 = OpLoad %65 %depthCube
204         %68 = OpLoad %12 %depthCubeSamp
205         %69 = OpSampledImage %66 %67 %68
206         %71 = OpCompositeExtract %float %70 3
207         %72 = OpImageSampleDrefImplicitLod %float %69 %70 %71
208         %73 = OpAccessChain %_ptr_Function_float %c %uint_0
209               OpStore %73 %72
210         %76 = OpLoad %74 %depth2dArray
211         %77 = OpLoad %12 %depth2dArraySamp
212         %78 = OpSampledImage %75 %76 %77
213         %79 = OpCompositeExtract %float %70 3
214         %80 = OpImageSampleDrefImplicitLod %float %78 %70 %79
215         %81 = OpAccessChain %_ptr_Function_float %c %uint_0
216               OpStore %81 %80
217         %84 = OpLoad %82 %depthCubeArray
218         %85 = OpLoad %12 %depthCubeArraySamp
219         %86 = OpSampledImage %83 %84 %85
220         %87 = OpImageSampleDrefImplicitLod %float %86 %50 %float_1
221         %88 = OpAccessChain %_ptr_Function_float %c %uint_0
222               OpStore %88 %87
223         %89 = OpLoad %10 %tex1d
224         %90 = OpLoad %12 %tex1dSamp
225         %91 = OpSampledImage %11 %89 %90
226         %92 = OpImageSampleProjImplicitLod %v4float %91 %97
227               OpStore %c %92
228         %93 = OpLoad %17 %tex2d
229         %94 = OpLoad %12 %tex2dSamp
230         %95 = OpSampledImage %18 %93 %94
231         %96 = OpImageSampleProjImplicitLod %v4float %95 %58
232               OpStore %c %96
233         %99 = OpLoad %25 %tex3d
234        %100 = OpLoad %12 %tex3dSamp
235        %101 = OpSampledImage %26 %99 %100
236        %102 = OpImageSampleProjImplicitLod %v4float %101 %70
237               OpStore %c %102
238        %103 = OpLoad %52 %depth2d
239        %104 = OpLoad %12 %depth2dSamp
240        %105 = OpSampledImage %53 %103 %104
241        %106 = OpCompositeExtract %float %98 2
242        %107 = OpCompositeExtract %float %98 3
243        %108 = OpCompositeInsert %v4float %107 %98 2
244        %109 = OpImageSampleProjDrefImplicitLod %float %105 %108 %106
245        %110 = OpAccessChain %_ptr_Function_float %c %uint_0
246               OpStore %110 %109
247        %111 = OpLoad %10 %tex1d
248        %112 = OpLoad %12 %tex1dSamp
249        %113 = OpSampledImage %11 %111 %112
250        %114 = OpImageSampleExplicitLod %v4float %113 %float_0 Lod %float_0
251               OpStore %c %114
252        %115 = OpLoad %17 %tex2d
253        %116 = OpLoad %12 %tex2dSamp
254        %117 = OpSampledImage %18 %115 %116
255        %118 = OpImageSampleExplicitLod %v4float %117 %23 Lod %float_0
256               OpStore %c %118
257        %119 = OpLoad %25 %tex3d
258        %120 = OpLoad %12 %tex3dSamp
259        %121 = OpSampledImage %26 %119 %120
260        %122 = OpImageSampleExplicitLod %v4float %121 %31 Lod %float_0
261               OpStore %c %122
262        %123 = OpLoad %33 %texCube
263        %124 = OpLoad %12 %texCubeSamp
264        %125 = OpSampledImage %34 %123 %124
265        %126 = OpImageSampleExplicitLod %v4float %125 %31 Lod %float_0
266               OpStore %c %126
267        %127 = OpLoad %39 %tex2dArray
268        %128 = OpLoad %12 %tex2dArraySamp
269        %129 = OpSampledImage %40 %127 %128
270        %130 = OpImageSampleExplicitLod %v4float %129 %31 Lod %float_0
271               OpStore %c %130
272        %131 = OpLoad %45 %texCubeArray
273        %132 = OpLoad %12 %texCubeArraySamp
274        %133 = OpSampledImage %46 %131 %132
275        %134 = OpImageSampleExplicitLod %v4float %133 %50 Lod %float_0
276               OpStore %c %134
277        %135 = OpLoad %52 %depth2d
278        %136 = OpLoad %12 %depth2dSamp
279        %137 = OpSampledImage %53 %135 %136
280        %139 = OpCompositeExtract %float %58 2
281        %140 = OpImageSampleDrefExplicitLod %float %137 %58 %139 Lod %float_0
282        %141 = OpAccessChain %_ptr_Function_float %c %uint_0
283               OpStore %141 %140
284        %142 = OpLoad %10 %tex1d
285        %144 = OpLoad %12 %tex1dSamp
286        %145 = OpSampledImage %11 %142 %144
287        %146 = OpImageSampleProjExplicitLod %v4float %145 %97 Lod %float_0
288               OpStore %c %146
289        %147 = OpLoad %17 %tex2d
290        %148 = OpLoad %12 %tex2dSamp
291        %150 = OpSampledImage %18 %147 %148
292        %151 = OpImageSampleProjExplicitLod %v4float %150 %58 Lod %float_0
293               OpStore %c %151
294        %152 = OpLoad %25 %tex3d
295        %153 = OpLoad %12 %tex3dSamp
296        %154 = OpSampledImage %26 %152 %153
297        %155 = OpImageSampleProjExplicitLod %v4float %154 %70 Lod %float_0
298               OpStore %c %155
299        %156 = OpLoad %52 %depth2d
300        %157 = OpLoad %12 %depth2dSamp
301        %158 = OpSampledImage %53 %156 %157
302        %159 = OpCompositeExtract %float %98 2
303        %160 = OpCompositeExtract %float %98 3
304        %161 = OpCompositeInsert %v4float %160 %98 2
305        %162 = OpImageSampleProjDrefExplicitLod %float %158 %161 %159 Lod %float_0
306        %163 = OpAccessChain %_ptr_Function_float %c %uint_0
307               OpStore %163 %162
308        %164 = OpLoad %10 %tex1d
309        %165 = OpImageFetch %v4float %164 %int_0 Lod %int_0
310               OpStore %c %165
311        %166 = OpLoad %17 %tex2d
312        %167 = OpImageFetch %v4float %166 %138 Lod %int_0
313               OpStore %c %167
314        %168 = OpLoad %25 %tex3d
315        %169 = OpImageFetch %v4float %168 %143 Lod %int_0
316               OpStore %c %169
317        %170 = OpLoad %39 %tex2dArray
318        %171 = OpImageFetch %v4float %170 %143 Lod %int_0
319               OpStore %c %171
320        %172 = OpLoad %149 %texBuffer
321        %173 = OpImageFetch %v4float %172 %int_0
322               OpStore %c %173
323        %174 = OpLoad %17 %tex2d
324        %175 = OpLoad %12 %tex2dSamp
325        %176 = OpSampledImage %18 %174 %175
326        %177 = OpImageGather %v4float %176 %23 %int_0
327               OpStore %c %177
328        %178 = OpLoad %33 %texCube
329        %179 = OpLoad %12 %texCubeSamp
330        %180 = OpSampledImage %34 %178 %179
331        %181 = OpImageGather %v4float %180 %31 %int_1
332               OpStore %c %181
333        %182 = OpLoad %39 %tex2dArray
334        %183 = OpLoad %12 %tex2dArraySamp
335        %184 = OpSampledImage %40 %182 %183
336        %185 = OpImageGather %v4float %184 %31 %int_2
337               OpStore %c %185
338        %186 = OpLoad %45 %texCubeArray
339        %187 = OpLoad %12 %texCubeArraySamp
340        %188 = OpSampledImage %46 %186 %187
341        %189 = OpImageGather %v4float %188 %50 %int_3
342               OpStore %c %189
343        %190 = OpLoad %52 %depth2d
344        %191 = OpLoad %12 %depth2dSamp
345        %192 = OpSampledImage %53 %190 %191
346        %193 = OpImageDrefGather %v4float %192 %23 %float_1
347               OpStore %c %193
348        %194 = OpLoad %65 %depthCube
349        %195 = OpLoad %12 %depthCubeSamp
350        %196 = OpSampledImage %66 %194 %195
351        %197 = OpImageDrefGather %v4float %196 %31 %float_1
352               OpStore %c %197
353        %198 = OpLoad %74 %depth2dArray
354        %199 = OpLoad %12 %depth2dArraySamp
355        %200 = OpSampledImage %75 %198 %199
356        %201 = OpImageDrefGather %v4float %200 %31 %float_1
357               OpStore %c %201
358        %202 = OpLoad %82 %depthCubeArray
359        %203 = OpLoad %12 %depthCubeArraySamp
360        %204 = OpSampledImage %83 %202 %203
361        %205 = OpImageDrefGather %v4float %204 %50 %float_1
362               OpStore %c %205
363               OpReturn
364               OpFunctionEnd
365