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 "colorGreen"
10OpMemberName %_UniformBuffer 1 "colorRed"
11OpName %_entrypoint_v "_entrypoint_v"
12OpName %main "main"
13OpName %result "result"
14OpName %g "g"
15OpName %h "h"
16OpName %i "i"
17OpName %j "j"
18OpName %k "k"
19OpName %l "l"
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
28OpDecorate %_UniformBuffer Block
29OpDecorate %10 Binding 0
30OpDecorate %10 DescriptorSet 0
31OpDecorate %164 RelaxedPrecision
32OpDecorate %167 RelaxedPrecision
33OpDecorate %168 RelaxedPrecision
34%float = OpTypeFloat 32
35%v4float = OpTypeVector %float 4
36%_ptr_Output_v4float = OpTypePointer Output %v4float
37%sk_FragColor = OpVariable %_ptr_Output_v4float Output
38%bool = OpTypeBool
39%_ptr_Input_bool = OpTypePointer Input %bool
40%sk_Clockwise = OpVariable %_ptr_Input_bool Input
41%_UniformBuffer = OpTypeStruct %v4float %v4float
42%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
43%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
44%void = OpTypeVoid
45%15 = OpTypeFunction %void
46%v2float = OpTypeVector %float 2
47%float_0 = OpConstant %float 0
48%19 = OpConstantComposite %v2float %float_0 %float_0
49%_ptr_Function_v2float = OpTypePointer Function %v2float
50%23 = OpTypeFunction %v4float %_ptr_Function_v2float
51%_ptr_Function_float = OpTypePointer Function %float
52%v3float = OpTypeVector %float 3
53%mat3v3float = OpTypeMatrix %v3float 3
54%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
55%float_1 = OpConstant %float 1
56%mat2v3float = OpTypeMatrix %v3float 2
57%int = OpTypeInt 32 1
58%int_0 = OpConstant %int 0
59%_ptr_Function_v3float = OpTypePointer Function %v3float
60%mat3v2float = OpTypeMatrix %v2float 3
61%mat4v4float = OpTypeMatrix %v4float 4
62%_ptr_Function_mat4v4float = OpTypePointer Function %mat4v4float
63%mat4v2float = OpTypeMatrix %v2float 4
64%mat4v3float = OpTypeMatrix %v3float 4
65%_ptr_Function_v4float = OpTypePointer Function %v4float
66%mat2v4float = OpTypeMatrix %v4float 2
67%mat3v4float = OpTypeMatrix %v4float 3
68%_ptr_Function_mat2v4float = OpTypePointer Function %mat2v4float
69%_ptr_Function_mat4v2float = OpTypePointer Function %mat4v2float
70%float_6 = OpConstant %float 6
71%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
72%int_1 = OpConstant %int 1
73%_entrypoint_v = OpFunction %void None %15
74%16 = OpLabel
75%20 = OpVariable %_ptr_Function_v2float Function
76OpStore %20 %19
77%22 = OpFunctionCall %v4float %main %20
78OpStore %sk_FragColor %22
79OpReturn
80OpFunctionEnd
81%main = OpFunction %v4float None %23
82%24 = OpFunctionParameter %_ptr_Function_v2float
83%25 = OpLabel
84%result = OpVariable %_ptr_Function_float Function
85%g = OpVariable %_ptr_Function_mat3v3float Function
86%h = OpVariable %_ptr_Function_mat3v3float Function
87%i = OpVariable %_ptr_Function_mat4v4float Function
88%j = OpVariable %_ptr_Function_mat4v4float Function
89%k = OpVariable %_ptr_Function_mat2v4float Function
90%l = OpVariable %_ptr_Function_mat4v2float Function
91%158 = OpVariable %_ptr_Function_v4float Function
92OpStore %result %float_0
93%34 = OpCompositeConstruct %v3float %float_1 %float_0 %float_0
94%35 = OpCompositeConstruct %v3float %float_0 %float_1 %float_0
95%33 = OpCompositeConstruct %mat2v3float %34 %35
96%38 = OpCompositeExtract %v3float %33 0
97%39 = OpCompositeExtract %v3float %33 1
98%40 = OpCompositeConstruct %v3float %float_0 %float_0 %float_1
99%37 = OpCompositeConstruct %mat3v3float %38 %39 %40
100OpStore %g %37
101%41 = OpLoad %float %result
102%44 = OpAccessChain %_ptr_Function_v3float %g %int_0
103%46 = OpLoad %v3float %44
104%47 = OpCompositeExtract %float %46 0
105%48 = OpFAdd %float %41 %47
106OpStore %result %48
107%51 = OpCompositeConstruct %v2float %float_1 %float_0
108%52 = OpCompositeConstruct %v2float %float_0 %float_1
109%53 = OpCompositeConstruct %v2float %float_0 %float_0
110%50 = OpCompositeConstruct %mat3v2float %51 %52 %53
111%56 = OpCompositeExtract %v2float %50 0
112%57 = OpCompositeConstruct %v3float %56 %float_0
113%58 = OpCompositeExtract %v2float %50 1
114%59 = OpCompositeConstruct %v3float %58 %float_0
115%60 = OpCompositeExtract %v2float %50 2
116%61 = OpCompositeConstruct %v3float %60 %float_1
117%55 = OpCompositeConstruct %mat3v3float %57 %59 %61
118OpStore %h %55
119%62 = OpLoad %float %result
120%63 = OpAccessChain %_ptr_Function_v3float %h %int_0
121%64 = OpLoad %v3float %63
122%65 = OpCompositeExtract %float %64 0
123%66 = OpFAdd %float %62 %65
124OpStore %result %66
125%71 = OpCompositeConstruct %v2float %float_1 %float_0
126%72 = OpCompositeConstruct %v2float %float_0 %float_1
127%73 = OpCompositeConstruct %v2float %float_0 %float_0
128%74 = OpCompositeConstruct %v2float %float_0 %float_0
129%70 = OpCompositeConstruct %mat4v2float %71 %72 %73 %74
130%77 = OpCompositeExtract %v2float %70 0
131%78 = OpCompositeConstruct %v3float %77 %float_0
132%79 = OpCompositeExtract %v2float %70 1
133%80 = OpCompositeConstruct %v3float %79 %float_0
134%81 = OpCompositeExtract %v2float %70 2
135%82 = OpCompositeConstruct %v3float %81 %float_1
136%83 = OpCompositeExtract %v2float %70 3
137%84 = OpCompositeConstruct %v3float %83 %float_0
138%76 = OpCompositeConstruct %mat4v3float %78 %80 %82 %84
139%87 = OpCompositeExtract %v3float %76 0
140%88 = OpCompositeConstruct %v4float %87 %float_0
141%89 = OpCompositeExtract %v3float %76 1
142%90 = OpCompositeConstruct %v4float %89 %float_0
143%91 = OpCompositeExtract %v3float %76 2
144%92 = OpCompositeConstruct %v4float %91 %float_0
145%93 = OpCompositeExtract %v3float %76 3
146%94 = OpCompositeConstruct %v4float %93 %float_1
147%86 = OpCompositeConstruct %mat4v4float %88 %90 %92 %94
148OpStore %i %86
149%95 = OpLoad %float %result
150%96 = OpAccessChain %_ptr_Function_v4float %i %int_0
151%98 = OpLoad %v4float %96
152%99 = OpCompositeExtract %float %98 0
153%100 = OpFAdd %float %95 %99
154OpStore %result %100
155%103 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
156%104 = OpCompositeConstruct %v4float %float_0 %float_1 %float_0 %float_0
157%102 = OpCompositeConstruct %mat2v4float %103 %104
158%107 = OpCompositeExtract %v4float %102 0
159%108 = OpCompositeExtract %v4float %102 1
160%109 = OpCompositeConstruct %v4float %float_0 %float_0 %float_1 %float_0
161%106 = OpCompositeConstruct %mat3v4float %107 %108 %109
162%112 = OpCompositeExtract %v4float %106 0
163%113 = OpCompositeExtract %v4float %106 1
164%114 = OpCompositeExtract %v4float %106 2
165%115 = OpCompositeConstruct %v4float %float_0 %float_0 %float_0 %float_1
166%111 = OpCompositeConstruct %mat4v4float %112 %113 %114 %115
167OpStore %j %111
168%116 = OpLoad %float %result
169%117 = OpAccessChain %_ptr_Function_v4float %j %int_0
170%118 = OpLoad %v4float %117
171%119 = OpCompositeExtract %float %118 0
172%120 = OpFAdd %float %116 %119
173OpStore %result %120
174%124 = OpCompositeConstruct %v2float %float_1 %float_0
175%125 = OpCompositeConstruct %v2float %float_0 %float_1
176%126 = OpCompositeConstruct %v2float %float_0 %float_0
177%127 = OpCompositeConstruct %v2float %float_0 %float_0
178%123 = OpCompositeConstruct %mat4v2float %124 %125 %126 %127
179%129 = OpCompositeExtract %v2float %123 0
180%130 = OpCompositeConstruct %v4float %129 %float_0 %float_0
181%131 = OpCompositeExtract %v2float %123 1
182%132 = OpCompositeConstruct %v4float %131 %float_0 %float_0
183%128 = OpCompositeConstruct %mat2v4float %130 %132
184OpStore %k %128
185%133 = OpLoad %float %result
186%134 = OpAccessChain %_ptr_Function_v4float %k %int_0
187%135 = OpLoad %v4float %134
188%136 = OpCompositeExtract %float %135 0
189%137 = OpFAdd %float %133 %136
190OpStore %result %137
191%141 = OpCompositeConstruct %v4float %float_1 %float_0 %float_0 %float_0
192%142 = OpCompositeConstruct %v4float %float_0 %float_1 %float_0 %float_0
193%140 = OpCompositeConstruct %mat2v4float %141 %142
194%144 = OpCompositeExtract %v4float %140 0
195%145 = OpVectorShuffle %v2float %144 %144 0 1
196%146 = OpCompositeExtract %v4float %140 1
197%147 = OpVectorShuffle %v2float %146 %146 0 1
198%148 = OpCompositeConstruct %v2float %float_0 %float_0
199%149 = OpCompositeConstruct %v2float %float_0 %float_0
200%143 = OpCompositeConstruct %mat4v2float %145 %147 %148 %149
201OpStore %l %143
202%150 = OpLoad %float %result
203%151 = OpAccessChain %_ptr_Function_v2float %l %int_0
204%152 = OpLoad %v2float %151
205%153 = OpCompositeExtract %float %152 0
206%154 = OpFAdd %float %150 %153
207OpStore %result %154
208%155 = OpLoad %float %result
209%157 = OpFOrdEqual %bool %155 %float_6
210OpSelectionMerge %161 None
211OpBranchConditional %157 %159 %160
212%159 = OpLabel
213%162 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
214%164 = OpLoad %v4float %162
215OpStore %158 %164
216OpBranch %161
217%160 = OpLabel
218%165 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
219%167 = OpLoad %v4float %165
220OpStore %158 %167
221OpBranch %161
222%161 = OpLabel
223%168 = OpLoad %v4float %158
224OpReturnValue %168
225OpFunctionEnd
226