1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5OpExecutionMode %_entrypoint_v OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_entrypoint_v "_entrypoint_v"
9OpName %main "main"
10OpName %result "result"
11OpName %a "a"
12OpName %b "b"
13OpName %c "c"
14OpName %d "d"
15OpName %e "e"
16OpName %f "f"
17OpDecorate %sk_FragColor RelaxedPrecision
18OpDecorate %sk_FragColor Location 0
19OpDecorate %sk_FragColor Index 0
20OpDecorate %sk_Clockwise BuiltIn FrontFacing
21OpDecorate %result RelaxedPrecision
22OpDecorate %25 RelaxedPrecision
23OpDecorate %a RelaxedPrecision
24OpDecorate %b RelaxedPrecision
25OpDecorate %35 RelaxedPrecision
26OpDecorate %40 RelaxedPrecision
27OpDecorate %46 RelaxedPrecision
28OpDecorate %47 RelaxedPrecision
29OpDecorate %48 RelaxedPrecision
30OpDecorate %51 RelaxedPrecision
31OpDecorate %52 RelaxedPrecision
32OpDecorate %53 RelaxedPrecision
33OpDecorate %55 RelaxedPrecision
34OpDecorate %56 RelaxedPrecision
35OpDecorate %57 RelaxedPrecision
36OpDecorate %58 RelaxedPrecision
37OpDecorate %71 RelaxedPrecision
38OpDecorate %72 RelaxedPrecision
39OpDecorate %_arr_float_int_2 ArrayStride 16
40OpDecorate %_arr_float_int_4 ArrayStride 16
41OpDecorate %118 RelaxedPrecision
42%float = OpTypeFloat 32
43%v4float = OpTypeVector %float 4
44%_ptr_Output_v4float = OpTypePointer Output %v4float
45%sk_FragColor = OpVariable %_ptr_Output_v4float Output
46%bool = OpTypeBool
47%_ptr_Input_bool = OpTypePointer Input %bool
48%sk_Clockwise = OpVariable %_ptr_Input_bool Input
49%void = OpTypeVoid
50%12 = OpTypeFunction %void
51%v2float = OpTypeVector %float 2
52%float_0 = OpConstant %float 0
53%16 = OpConstantComposite %v2float %float_0 %float_0
54%_ptr_Function_v2float = OpTypePointer Function %v2float
55%20 = OpTypeFunction %v4float %_ptr_Function_v2float
56%_ptr_Function_v4float = OpTypePointer Function %v4float
57%25 = OpConstantComposite %v4float %float_0 %float_0 %float_0 %float_0
58%_ptr_Function_float = OpTypePointer Function %float
59%false = OpConstantFalse %bool
60%float_10 = OpConstant %float 10
61%int = OpTypeInt 32 1
62%int_0 = OpConstant %int 0
63%int_1 = OpConstant %int 1
64%float_1 = OpConstant %float 1
65%_ptr_Function_int = OpTypePointer Function %int
66%int_10 = OpConstant %int 10
67%int_2 = OpConstant %int 2
68%_arr_float_int_2 = OpTypeArray %float %int_2
69%_ptr_Function__arr_float_int_2 = OpTypePointer Function %_arr_float_int_2
70%int_4 = OpConstant %int 4
71%_arr_float_int_4 = OpTypeArray %float %int_4
72%_ptr_Function__arr_float_int_4 = OpTypePointer Function %_arr_float_int_4
73%float_2 = OpConstant %float 2
74%float_3 = OpConstant %float 3
75%float_4 = OpConstant %float 4
76%float_9 = OpConstant %float 9
77%int_3 = OpConstant %int 3
78%_entrypoint_v = OpFunction %void None %12
79%13 = OpLabel
80%17 = OpVariable %_ptr_Function_v2float Function
81OpStore %17 %16
82%19 = OpFunctionCall %v4float %main %17
83OpStore %sk_FragColor %19
84OpReturn
85OpFunctionEnd
86%main = OpFunction %v4float None %20
87%21 = OpFunctionParameter %_ptr_Function_v2float
88%22 = OpLabel
89%result = OpVariable %_ptr_Function_v4float Function
90%a = OpVariable %_ptr_Function_float Function
91%b = OpVariable %_ptr_Function_float Function
92%c = OpVariable %_ptr_Function_int Function
93%d = OpVariable %_ptr_Function__arr_float_int_2 Function
94%e = OpVariable %_ptr_Function__arr_float_int_4 Function
95%f = OpVariable %_ptr_Function_float Function
96OpStore %result %25
97OpStore %a %float_0
98OpStore %b %float_0
99OpBranch %29
100%29 = OpLabel
101OpLoopMerge %33 %32 None
102OpBranch %30
103%30 = OpLabel
104%35 = OpLoad %float %a
105%37 = OpFOrdLessThan %bool %35 %float_10
106OpSelectionMerge %39 None
107OpBranchConditional %37 %38 %39
108%38 = OpLabel
109%40 = OpLoad %float %b
110%41 = OpFOrdLessThan %bool %40 %float_10
111OpBranch %39
112%39 = OpLabel
113%42 = OpPhi %bool %false %30 %41 %38
114OpBranchConditional %42 %31 %33
115%31 = OpLabel
116%43 = OpAccessChain %_ptr_Function_float %result %int_0
117%46 = OpLoad %float %43
118%47 = OpLoad %float %a
119%48 = OpFAdd %float %46 %47
120OpStore %43 %48
121%49 = OpAccessChain %_ptr_Function_float %result %int_1
122%51 = OpLoad %float %49
123%52 = OpLoad %float %b
124%53 = OpFAdd %float %51 %52
125OpStore %49 %53
126OpBranch %32
127%32 = OpLabel
128%55 = OpLoad %float %a
129%56 = OpFAdd %float %55 %float_1
130OpStore %a %56
131%57 = OpLoad %float %b
132%58 = OpFAdd %float %57 %float_1
133OpStore %b %58
134OpBranch %29
135%33 = OpLabel
136OpStore %c %int_0
137OpBranch %61
138%61 = OpLabel
139OpLoopMerge %65 %64 None
140OpBranch %62
141%62 = OpLabel
142%66 = OpLoad %int %c
143%68 = OpSLessThan %bool %66 %int_10
144OpBranchConditional %68 %63 %65
145%63 = OpLabel
146%69 = OpAccessChain %_ptr_Function_float %result %int_2
147%71 = OpLoad %float %69
148%72 = OpFAdd %float %71 %float_1
149OpStore %69 %72
150OpBranch %64
151%64 = OpLabel
152%73 = OpLoad %int %c
153%74 = OpIAdd %int %73 %int_1
154OpStore %c %74
155OpBranch %61
156%65 = OpLabel
157%78 = OpCompositeConstruct %_arr_float_int_2 %float_0 %float_10
158OpStore %d %78
159%86 = OpCompositeConstruct %_arr_float_int_4 %float_1 %float_2 %float_3 %float_4
160OpStore %e %86
161OpStore %f %float_9
162OpBranch %89
163%89 = OpLabel
164OpLoopMerge %93 %92 None
165OpBranch %90
166%90 = OpLabel
167%94 = OpAccessChain %_ptr_Function_float %d %int_0
168%95 = OpLoad %float %94
169%96 = OpAccessChain %_ptr_Function_float %d %int_1
170%97 = OpLoad %float %96
171%98 = OpFOrdLessThan %bool %95 %97
172OpBranchConditional %98 %91 %93
173%91 = OpLabel
174%99 = OpAccessChain %_ptr_Function_float %e %int_0
175%100 = OpLoad %float %99
176%101 = OpLoad %float %f
177%102 = OpFMul %float %100 %101
178%103 = OpAccessChain %_ptr_Function_float %result %int_3
179OpStore %103 %102
180OpBranch %92
181%92 = OpLabel
182%105 = OpAccessChain %_ptr_Function_float %d %int_0
183%106 = OpLoad %float %105
184%107 = OpFAdd %float %106 %float_1
185OpStore %105 %107
186OpBranch %89
187%93 = OpLabel
188OpBranch %108
189%108 = OpLabel
190OpLoopMerge %112 %111 None
191OpBranch %109
192%109 = OpLabel
193OpBranch %110
194%110 = OpLabel
195OpBranch %112
196%111 = OpLabel
197OpBranch %108
198%112 = OpLabel
199OpBranch %113
200%113 = OpLabel
201OpLoopMerge %117 %116 None
202OpBranch %114
203%114 = OpLabel
204OpBranch %115
205%115 = OpLabel
206OpBranch %117
207%116 = OpLabel
208OpBranch %113
209%117 = OpLabel
210%118 = OpLoad %v4float %result
211OpReturnValue %118
212OpFunctionEnd
213