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 %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "colorRed"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorWhite"
12OpMemberName %_UniformBuffer 3 "colorBlack"
13OpName %_entrypoint_v "_entrypoint_v"
14OpName %setToColorBlack_vh4 "setToColorBlack_vh4"
15OpName %main "main"
16OpName %a "a"
17OpName %b "b"
18OpName %c "c"
19OpName %d "d"
20OpDecorate %sk_FragColor RelaxedPrecision
21OpDecorate %sk_FragColor Location 0
22OpDecorate %sk_FragColor Index 0
23OpDecorate %sk_Clockwise BuiltIn FrontFacing
24OpMemberDecorate %_UniformBuffer 0 Offset 0
25OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
26OpMemberDecorate %_UniformBuffer 1 Offset 16
27OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
28OpMemberDecorate %_UniformBuffer 2 Offset 32
29OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
30OpMemberDecorate %_UniformBuffer 3 Offset 48
31OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
32OpDecorate %_UniformBuffer Block
33OpDecorate %11 Binding 0
34OpDecorate %11 DescriptorSet 0
35OpDecorate %32 RelaxedPrecision
36OpDecorate %a RelaxedPrecision
37OpDecorate %b RelaxedPrecision
38OpDecorate %c RelaxedPrecision
39OpDecorate %d RelaxedPrecision
40OpDecorate %42 RelaxedPrecision
41OpDecorate %45 RelaxedPrecision
42OpDecorate %49 RelaxedPrecision
43OpDecorate %50 RelaxedPrecision
44OpDecorate %51 RelaxedPrecision
45OpDecorate %52 RelaxedPrecision
46OpDecorate %53 RelaxedPrecision
47OpDecorate %54 RelaxedPrecision
48OpDecorate %55 RelaxedPrecision
49OpDecorate %56 RelaxedPrecision
50OpDecorate %57 RelaxedPrecision
51OpDecorate %58 RelaxedPrecision
52OpDecorate %59 RelaxedPrecision
53OpDecorate %60 RelaxedPrecision
54OpDecorate %61 RelaxedPrecision
55OpDecorate %63 RelaxedPrecision
56OpDecorate %65 RelaxedPrecision
57OpDecorate %71 RelaxedPrecision
58OpDecorate %73 RelaxedPrecision
59OpDecorate %79 RelaxedPrecision
60OpDecorate %81 RelaxedPrecision
61OpDecorate %87 RelaxedPrecision
62OpDecorate %89 RelaxedPrecision
63OpDecorate %98 RelaxedPrecision
64OpDecorate %100 RelaxedPrecision
65OpDecorate %101 RelaxedPrecision
66%float = OpTypeFloat 32
67%v4float = OpTypeVector %float 4
68%_ptr_Output_v4float = OpTypePointer Output %v4float
69%sk_FragColor = OpVariable %_ptr_Output_v4float Output
70%bool = OpTypeBool
71%_ptr_Input_bool = OpTypePointer Input %bool
72%sk_Clockwise = OpVariable %_ptr_Input_bool Input
73%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float
74%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
75%11 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
76%void = OpTypeVoid
77%16 = OpTypeFunction %void
78%v2float = OpTypeVector %float 2
79%float_0 = OpConstant %float 0
80%20 = OpConstantComposite %v2float %float_0 %float_0
81%_ptr_Function_v2float = OpTypePointer Function %v2float
82%_ptr_Function_v4float = OpTypePointer Function %v4float
83%24 = OpTypeFunction %void %_ptr_Function_v4float
84%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
85%int = OpTypeInt 32 1
86%int_3 = OpConstant %int 3
87%33 = OpTypeFunction %v4float %_ptr_Function_v2float
88%int_0 = OpConstant %int 0
89%int_1 = OpConstant %int 1
90%int_2 = OpConstant %int 2
91%false = OpConstantFalse %bool
92%v4bool = OpTypeVector %bool 4
93%_entrypoint_v = OpFunction %void None %16
94%17 = OpLabel
95%21 = OpVariable %_ptr_Function_v2float Function
96OpStore %21 %20
97%23 = OpFunctionCall %v4float %main %21
98OpStore %sk_FragColor %23
99OpReturn
100OpFunctionEnd
101%setToColorBlack_vh4 = OpFunction %void None %24
102%26 = OpFunctionParameter %_ptr_Function_v4float
103%27 = OpLabel
104%28 = OpAccessChain %_ptr_Uniform_v4float %11 %int_3
105%32 = OpLoad %v4float %28
106OpStore %26 %32
107OpReturn
108OpFunctionEnd
109%main = OpFunction %v4float None %33
110%34 = OpFunctionParameter %_ptr_Function_v2float
111%35 = OpLabel
112%a = OpVariable %_ptr_Function_v4float Function
113%b = OpVariable %_ptr_Function_v4float Function
114%c = OpVariable %_ptr_Function_v4float Function
115%d = OpVariable %_ptr_Function_v4float Function
116%93 = OpVariable %_ptr_Function_v4float Function
117%40 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0
118%42 = OpLoad %v4float %40
119OpStore %b %42
120%43 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1
121%45 = OpLoad %v4float %43
122OpStore %c %45
123%46 = OpFunctionCall %void %setToColorBlack_vh4 %d
124%47 = OpAccessChain %_ptr_Uniform_v4float %11 %int_2
125%49 = OpLoad %v4float %47
126OpStore %a %49
127%50 = OpLoad %v4float %a
128%51 = OpLoad %v4float %a
129%52 = OpFMul %v4float %50 %51
130OpStore %a %52
131%53 = OpLoad %v4float %b
132%54 = OpLoad %v4float %b
133%55 = OpFMul %v4float %53 %54
134OpStore %b %55
135%56 = OpLoad %v4float %c
136%57 = OpLoad %v4float %c
137%58 = OpFMul %v4float %56 %57
138OpStore %c %58
139%59 = OpLoad %v4float %d
140%60 = OpLoad %v4float %d
141%61 = OpFMul %v4float %59 %60
142OpStore %d %61
143%63 = OpLoad %v4float %a
144%64 = OpAccessChain %_ptr_Uniform_v4float %11 %int_2
145%65 = OpLoad %v4float %64
146%66 = OpFOrdEqual %v4bool %63 %65
147%68 = OpAll %bool %66
148OpSelectionMerge %70 None
149OpBranchConditional %68 %69 %70
150%69 = OpLabel
151%71 = OpLoad %v4float %b
152%72 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0
153%73 = OpLoad %v4float %72
154%74 = OpFOrdEqual %v4bool %71 %73
155%75 = OpAll %bool %74
156OpBranch %70
157%70 = OpLabel
158%76 = OpPhi %bool %false %35 %75 %69
159OpSelectionMerge %78 None
160OpBranchConditional %76 %77 %78
161%77 = OpLabel
162%79 = OpLoad %v4float %c
163%80 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1
164%81 = OpLoad %v4float %80
165%82 = OpFOrdEqual %v4bool %79 %81
166%83 = OpAll %bool %82
167OpBranch %78
168%78 = OpLabel
169%84 = OpPhi %bool %false %70 %83 %77
170OpSelectionMerge %86 None
171OpBranchConditional %84 %85 %86
172%85 = OpLabel
173%87 = OpLoad %v4float %d
174%88 = OpAccessChain %_ptr_Uniform_v4float %11 %int_3
175%89 = OpLoad %v4float %88
176%90 = OpFOrdEqual %v4bool %87 %89
177%91 = OpAll %bool %90
178OpBranch %86
179%86 = OpLabel
180%92 = OpPhi %bool %false %78 %91 %85
181OpSelectionMerge %96 None
182OpBranchConditional %92 %94 %95
183%94 = OpLabel
184%97 = OpAccessChain %_ptr_Uniform_v4float %11 %int_1
185%98 = OpLoad %v4float %97
186OpStore %93 %98
187OpBranch %96
188%95 = OpLabel
189%99 = OpAccessChain %_ptr_Uniform_v4float %11 %int_0
190%100 = OpLoad %v4float %99
191OpStore %93 %100
192OpBranch %96
193%96 = OpLabel
194%101 = OpLoad %v4float %93
195OpReturnValue %101
196OpFunctionEnd
197