• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; SPIR-V
2; Version: 1.0
3; Generator: Khronos Glslang Reference Front End; 8
4; Bound: 193
5; Schema: 0
6               OpCapability Shader
7          %1 = OpExtInstImport "GLSL.std.450"
8               OpMemoryModel Logical GLSL450
9               OpEntryPoint Fragment %main "main" %x %BaseColor %Count %bigColor %outColor %v4 %f_0
10               OpExecutionMode %main OriginUpperLeft
11               OpSource ESSL 310
12               OpName %main "main"
13               OpName %c "c"
14               OpName %f "f"
15               OpName %x "x"
16               OpName %d "d"
17               OpName %color "color"
18               OpName %BaseColor "BaseColor"
19               OpName %i "i"
20               OpName %Count "Count"
21               OpName %bigColor "bigColor"
22               OpName %outColor "outColor"
23               OpName %sum "sum"
24               OpName %i_0 "i"
25               OpName %v4 "v4"
26               OpName %i_1 "i"
27               OpName %tv4 "tv4"
28               OpName %r "r"
29               OpName %i_2 "i"
30               OpName %i_3 "i"
31               OpName %i_4 "i"
32               OpName %A "A"
33               OpName %B "B"
34               OpName %C "C"
35               OpName %D "D"
36               OpName %f_0 "f"
37               OpDecorate %f RelaxedPrecision
38               OpDecorate %x Location 0
39               OpDecorate %color RelaxedPrecision
40               OpDecorate %BaseColor RelaxedPrecision
41               OpDecorate %BaseColor Location 2
42               OpDecorate %47 RelaxedPrecision
43               OpDecorate %Count Flat
44               OpDecorate %Count Location 4
45               OpDecorate %bigColor RelaxedPrecision
46               OpDecorate %bigColor Location 1
47               OpDecorate %63 RelaxedPrecision
48               OpDecorate %64 RelaxedPrecision
49               OpDecorate %65 RelaxedPrecision
50               OpDecorate %outColor RelaxedPrecision
51               OpDecorate %outColor Location 0
52               OpDecorate %71 RelaxedPrecision
53               OpDecorate %sum RelaxedPrecision
54               OpDecorate %v4 Flat
55               OpDecorate %v4 Location 5
56               OpDecorate %91 RelaxedPrecision
57               OpDecorate %92 RelaxedPrecision
58               OpDecorate %93 RelaxedPrecision
59               OpDecorate %tv4 RelaxedPrecision
60               OpDecorate %111 RelaxedPrecision
61               OpDecorate %115 RelaxedPrecision
62               OpDecorate %116 RelaxedPrecision
63               OpDecorate %117 RelaxedPrecision
64               OpDecorate %118 RelaxedPrecision
65               OpDecorate %119 RelaxedPrecision
66               OpDecorate %120 RelaxedPrecision
67               OpDecorate %r RelaxedPrecision
68               OpDecorate %123 RelaxedPrecision
69               OpDecorate %124 RelaxedPrecision
70               OpDecorate %136 RelaxedPrecision
71               OpDecorate %141 RelaxedPrecision
72               OpDecorate %142 RelaxedPrecision
73               OpDecorate %143 RelaxedPrecision
74               OpDecorate %144 RelaxedPrecision
75               OpDecorate %145 RelaxedPrecision
76               OpDecorate %157 RelaxedPrecision
77               OpDecorate %158 RelaxedPrecision
78               OpDecorate %159 RelaxedPrecision
79               OpDecorate %f_0 RelaxedPrecision
80               OpDecorate %f_0 Location 3
81       %void = OpTypeVoid
82          %3 = OpTypeFunction %void
83        %int = OpTypeInt 32 1
84%_ptr_Private_int = OpTypePointer Private %int
85          %c = OpVariable %_ptr_Private_int Private
86      %float = OpTypeFloat 32
87%_ptr_Function_float = OpTypePointer Function %float
88%_ptr_Input_float = OpTypePointer Input %float
89          %x = OpVariable %_ptr_Input_float Input
90          %d = OpVariable %_ptr_Private_int Private
91    %v4float = OpTypeVector %float 4
92%_ptr_Function_v4float = OpTypePointer Function %v4float
93%_ptr_Input_v4float = OpTypePointer Input %v4float
94  %BaseColor = OpVariable %_ptr_Input_v4float Input
95%_ptr_Function_int = OpTypePointer Function %int
96      %int_0 = OpConstant %int 0
97%_ptr_Input_int = OpTypePointer Input %int
98      %Count = OpVariable %_ptr_Input_int Input
99       %bool = OpTypeBool
100   %bigColor = OpVariable %_ptr_Input_v4float Input
101      %int_1 = OpConstant %int 1
102%_ptr_Output_v4float = OpTypePointer Output %v4float
103   %outColor = OpVariable %_ptr_Output_v4float Output
104    %float_0 = OpConstant %float 0
105      %int_4 = OpConstant %int 4
106       %uint = OpTypeInt 32 0
107     %v4uint = OpTypeVector %uint 4
108%_ptr_Input_v4uint = OpTypePointer Input %v4uint
109         %v4 = OpVariable %_ptr_Input_v4uint Input
110%_ptr_Input_uint = OpTypePointer Input %uint
111     %uint_4 = OpConstant %uint 4
112    %v3float = OpTypeVector %float 3
113     %uint_3 = OpConstant %uint 3
114     %int_16 = OpConstant %int 16
115     %int_10 = OpConstant %int 10
116      %int_2 = OpConstant %int 2
117      %int_5 = OpConstant %int 5
118      %int_3 = OpConstant %int 3
119        %f_0 = OpVariable %_ptr_Input_float Input
120       %main = OpFunction %void None %3
121          %5 = OpLabel
122          %f = OpVariable %_ptr_Function_float Function
123      %color = OpVariable %_ptr_Function_v4float Function
124          %i = OpVariable %_ptr_Function_int Function
125        %sum = OpVariable %_ptr_Function_float Function
126        %i_0 = OpVariable %_ptr_Function_int Function
127        %i_1 = OpVariable %_ptr_Function_int Function
128        %tv4 = OpVariable %_ptr_Function_v4float Function
129          %r = OpVariable %_ptr_Function_v4float Function
130        %i_2 = OpVariable %_ptr_Function_int Function
131        %i_3 = OpVariable %_ptr_Function_int Function
132        %i_4 = OpVariable %_ptr_Function_int Function
133          %A = OpVariable %_ptr_Function_int Function
134          %B = OpVariable %_ptr_Function_int Function
135          %C = OpVariable %_ptr_Function_int Function
136          %D = OpVariable %_ptr_Function_int Function
137          %9 = OpLoad %int %c
138               OpSelectionMerge %13 None
139               OpSwitch %9 %12 1 %10 2 %11
140         %12 = OpLabel
141         %39 = OpLoad %float %x
142         %40 = OpExtInst %float %1 Tan %39
143               OpStore %f %40
144               OpBranch %13
145         %10 = OpLabel
146         %19 = OpLoad %float %x
147         %20 = OpExtInst %float %1 Sin %19
148               OpStore %f %20
149               OpBranch %13
150         %11 = OpLabel
151         %23 = OpLoad %int %d
152               OpSelectionMerge %26 None
153               OpSwitch %23 %26 1 %24 2 %25
154         %24 = OpLabel
155         %27 = OpLoad %float %x
156         %28 = OpLoad %float %x
157         %29 = OpFMul %float %27 %28
158         %30 = OpLoad %float %x
159         %31 = OpFMul %float %29 %30
160               OpStore %f %31
161               OpBranch %26
162         %25 = OpLabel
163         %33 = OpLoad %float %x
164         %34 = OpLoad %float %x
165         %35 = OpFMul %float %33 %34
166               OpStore %f %35
167               OpBranch %26
168         %26 = OpLabel
169               OpBranch %13
170         %13 = OpLabel
171         %47 = OpLoad %v4float %BaseColor
172               OpStore %color %47
173               OpStore %i %int_0
174               OpBranch %51
175         %51 = OpLabel
176               OpLoopMerge %53 %54 None
177               OpBranch %55
178         %55 = OpLabel
179         %56 = OpLoad %int %i
180         %59 = OpLoad %int %Count
181         %61 = OpSLessThan %bool %56 %59
182               OpBranchConditional %61 %52 %53
183         %52 = OpLabel
184         %63 = OpLoad %v4float %bigColor
185         %64 = OpLoad %v4float %color
186         %65 = OpFAdd %v4float %64 %63
187               OpStore %color %65
188               OpBranch %54
189         %54 = OpLabel
190         %66 = OpLoad %int %i
191         %68 = OpIAdd %int %66 %int_1
192               OpStore %i %68
193               OpBranch %51
194         %53 = OpLabel
195         %71 = OpLoad %v4float %color
196               OpStore %outColor %71
197               OpStore %sum %float_0
198               OpStore %i_0 %int_0
199               OpBranch %75
200         %75 = OpLabel
201               OpLoopMerge %77 %78 None
202               OpBranch %79
203         %79 = OpLabel
204         %80 = OpLoad %int %i_0
205         %82 = OpSLessThan %bool %80 %int_4
206               OpBranchConditional %82 %76 %77
207         %76 = OpLabel
208         %87 = OpLoad %int %i_0
209         %89 = OpAccessChain %_ptr_Input_uint %v4 %87
210         %90 = OpLoad %uint %89
211         %91 = OpConvertUToF %float %90
212         %92 = OpLoad %float %sum
213         %93 = OpFAdd %float %92 %91
214               OpStore %sum %93
215               OpBranch %78
216         %78 = OpLabel
217         %94 = OpLoad %int %i_0
218         %95 = OpIAdd %int %94 %int_1
219               OpStore %i_0 %95
220               OpBranch %75
221         %77 = OpLabel
222               OpStore %i_1 %int_0
223               OpBranch %97
224         %97 = OpLabel
225               OpLoopMerge %99 %100 None
226               OpBranch %101
227        %101 = OpLabel
228        %102 = OpLoad %int %i_1
229        %103 = OpSLessThan %bool %102 %int_4
230               OpBranchConditional %103 %98 %99
231         %98 = OpLabel
232        %105 = OpLoad %int %i_1
233        %106 = OpLoad %int %i_1
234        %107 = OpAccessChain %_ptr_Input_uint %v4 %106
235        %108 = OpLoad %uint %107
236        %110 = OpIMul %uint %108 %uint_4
237        %111 = OpConvertUToF %float %110
238        %112 = OpAccessChain %_ptr_Function_float %tv4 %105
239               OpStore %112 %111
240               OpBranch %100
241        %100 = OpLabel
242        %113 = OpLoad %int %i_1
243        %114 = OpIAdd %int %113 %int_1
244               OpStore %i_1 %114
245               OpBranch %97
246         %99 = OpLabel
247        %115 = OpLoad %float %sum
248        %116 = OpCompositeConstruct %v4float %115 %115 %115 %115
249        %117 = OpLoad %v4float %tv4
250        %118 = OpFAdd %v4float %116 %117
251        %119 = OpLoad %v4float %outColor
252        %120 = OpFAdd %v4float %119 %118
253               OpStore %outColor %120
254        %123 = OpLoad %v4float %BaseColor
255        %124 = OpVectorShuffle %v3float %123 %123 0 1 2
256        %125 = OpLoad %v4float %r
257        %126 = OpVectorShuffle %v4float %125 %124 4 5 6 3
258               OpStore %r %126
259               OpStore %i_2 %int_0
260               OpBranch %128
261        %128 = OpLabel
262               OpLoopMerge %130 %131 None
263               OpBranch %132
264        %132 = OpLabel
265        %133 = OpLoad %int %i_2
266        %134 = OpLoad %int %Count
267        %135 = OpSLessThan %bool %133 %134
268               OpBranchConditional %135 %129 %130
269        %129 = OpLabel
270        %136 = OpLoad %float %f
271        %138 = OpAccessChain %_ptr_Function_float %r %uint_3
272               OpStore %138 %136
273               OpBranch %131
274        %131 = OpLabel
275        %139 = OpLoad %int %i_2
276        %140 = OpIAdd %int %139 %int_1
277               OpStore %i_2 %140
278               OpBranch %128
279        %130 = OpLabel
280        %141 = OpLoad %v4float %r
281        %142 = OpVectorShuffle %v3float %141 %141 0 1 2
282        %143 = OpLoad %v4float %outColor
283        %144 = OpVectorShuffle %v3float %143 %143 0 1 2
284        %145 = OpFAdd %v3float %144 %142
285        %146 = OpLoad %v4float %outColor
286        %147 = OpVectorShuffle %v4float %146 %145 4 5 6 3
287               OpStore %outColor %147
288               OpStore %i_3 %int_0
289               OpBranch %149
290        %149 = OpLabel
291               OpLoopMerge %151 %152 None
292               OpBranch %153
293        %153 = OpLabel
294        %154 = OpLoad %int %i_3
295        %156 = OpSLessThan %bool %154 %int_16
296               OpBranchConditional %156 %150 %151
297        %150 = OpLabel
298        %157 = OpLoad %float %f
299        %158 = OpLoad %v4float %outColor
300        %159 = OpVectorTimesScalar %v4float %158 %157
301               OpStore %outColor %159
302               OpBranch %152
303        %152 = OpLabel
304        %160 = OpLoad %int %i_3
305        %161 = OpIAdd %int %160 %int_4
306               OpStore %i_3 %161
307               OpBranch %149
308        %151 = OpLabel
309               OpStore %i_4 %int_0
310               OpBranch %163
311        %163 = OpLabel
312               OpLoopMerge %165 %166 None
313               OpBranch %167
314        %167 = OpLabel
315        %168 = OpLoad %int %i_4
316        %170 = OpSLessThan %bool %168 %int_10
317               OpBranchConditional %170 %164 %165
318        %164 = OpLabel
319               OpStore %A %int_1
320        %172 = OpLoad %int %i_4
321        %174 = OpSMod %int %172 %int_2
322        %175 = OpIEqual %bool %174 %int_0
323               OpSelectionMerge %177 None
324               OpBranchConditional %175 %176 %177
325        %176 = OpLabel
326               OpStore %B %int_2
327               OpBranch %166
328        %177 = OpLabel
329        %181 = OpLoad %int %i_4
330        %183 = OpSMod %int %181 %int_5
331        %184 = OpIEqual %bool %183 %int_0
332               OpSelectionMerge %186 None
333               OpBranchConditional %184 %185 %186
334        %185 = OpLabel
335               OpStore %B %int_2
336               OpBranch %165
337        %186 = OpLabel
338        %188 = OpLoad %int %i_4
339        %189 = OpIAdd %int %188 %int_1
340               OpStore %i_4 %189
341               OpBranch %166
342        %166 = OpLabel
343               OpBranch %163
344        %165 = OpLabel
345               OpStore %D %int_3
346               OpReturn
347               OpFunctionEnd
348