• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "testInputs"
10OpMemberName %_UniformBuffer 1 "colorGreen"
11OpMemberName %_UniformBuffer 2 "colorRed"
12OpName %_entrypoint_v "_entrypoint_v"
13OpName %main "main"
14OpName %expectedA "expectedA"
15OpName %expectedB "expectedB"
16OpDecorate %sk_FragColor RelaxedPrecision
17OpDecorate %sk_FragColor Location 0
18OpDecorate %sk_FragColor Index 0
19OpDecorate %sk_Clockwise BuiltIn FrontFacing
20OpMemberDecorate %_UniformBuffer 0 Offset 0
21OpMemberDecorate %_UniformBuffer 1 Offset 16
22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23OpMemberDecorate %_UniformBuffer 2 Offset 32
24OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25OpDecorate %_UniformBuffer Block
26OpDecorate %10 Binding 0
27OpDecorate %10 DescriptorSet 0
28OpDecorate %119 RelaxedPrecision
29OpDecorate %120 RelaxedPrecision
30OpDecorate %132 RelaxedPrecision
31OpDecorate %133 RelaxedPrecision
32OpDecorate %146 RelaxedPrecision
33OpDecorate %147 RelaxedPrecision
34OpDecorate %159 RelaxedPrecision
35OpDecorate %196 RelaxedPrecision
36OpDecorate %199 RelaxedPrecision
37OpDecorate %200 RelaxedPrecision
38%float = OpTypeFloat 32
39%v4float = OpTypeVector %float 4
40%_ptr_Output_v4float = OpTypePointer Output %v4float
41%sk_FragColor = OpVariable %_ptr_Output_v4float Output
42%bool = OpTypeBool
43%_ptr_Input_bool = OpTypePointer Input %bool
44%sk_Clockwise = OpVariable %_ptr_Input_bool Input
45%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float
46%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
47%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
48%void = OpTypeVoid
49%15 = OpTypeFunction %void
50%v2float = OpTypeVector %float 2
51%float_0 = OpConstant %float 0
52%19 = OpConstantComposite %v2float %float_0 %float_0
53%_ptr_Function_v2float = OpTypePointer Function %v2float
54%23 = OpTypeFunction %v4float %_ptr_Function_v2float
55%_ptr_Function_v4float = OpTypePointer Function %v4float
56%float_n1_25 = OpConstant %float -1.25
57%float_0_5 = OpConstant %float 0.5
58%30 = OpConstantComposite %v4float %float_n1_25 %float_0 %float_0_5 %float_0_5
59%float_1 = OpConstant %float 1
60%33 = OpConstantComposite %v4float %float_n1_25 %float_0 %float_0 %float_1
61%false = OpConstantFalse %bool
62%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
63%int = OpTypeInt 32 1
64%int_0 = OpConstant %int 0
65%v2bool = OpTypeVector %bool 2
66%v3float = OpTypeVector %float 3
67%v3bool = OpTypeVector %bool 3
68%v4bool = OpTypeVector %bool 4
69%91 = OpConstantComposite %v2float %float_n1_25 %float_0
70%99 = OpConstantComposite %v3float %float_n1_25 %float_0 %float_0_5
71%int_1 = OpConstant %int 1
72%179 = OpConstantComposite %v3float %float_n1_25 %float_0 %float_0
73%int_2 = OpConstant %int 2
74%_entrypoint_v = OpFunction %void None %15
75%16 = OpLabel
76%20 = OpVariable %_ptr_Function_v2float Function
77OpStore %20 %19
78%22 = OpFunctionCall %v4float %main %20
79OpStore %sk_FragColor %22
80OpReturn
81OpFunctionEnd
82%main = OpFunction %v4float None %23
83%24 = OpFunctionParameter %_ptr_Function_v2float
84%25 = OpLabel
85%expectedA = OpVariable %_ptr_Function_v4float Function
86%expectedB = OpVariable %_ptr_Function_v4float Function
87%191 = OpVariable %_ptr_Function_v4float Function
88OpStore %expectedA %30
89OpStore %expectedB %33
90%36 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
91%40 = OpLoad %v4float %36
92%41 = OpCompositeExtract %float %40 0
93%35 = OpExtInst %float %1 FMin %41 %float_0_5
94%42 = OpLoad %v4float %expectedA
95%43 = OpCompositeExtract %float %42 0
96%44 = OpFOrdEqual %bool %35 %43
97OpSelectionMerge %46 None
98OpBranchConditional %44 %45 %46
99%45 = OpLabel
100%48 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
101%49 = OpLoad %v4float %48
102%50 = OpVectorShuffle %v2float %49 %49 0 1
103%51 = OpCompositeConstruct %v2float %float_0_5 %float_0_5
104%47 = OpExtInst %v2float %1 FMin %50 %51
105%52 = OpLoad %v4float %expectedA
106%53 = OpVectorShuffle %v2float %52 %52 0 1
107%54 = OpFOrdEqual %v2bool %47 %53
108%56 = OpAll %bool %54
109OpBranch %46
110%46 = OpLabel
111%57 = OpPhi %bool %false %25 %56 %45
112OpSelectionMerge %59 None
113OpBranchConditional %57 %58 %59
114%58 = OpLabel
115%61 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
116%62 = OpLoad %v4float %61
117%63 = OpVectorShuffle %v3float %62 %62 0 1 2
118%65 = OpCompositeConstruct %v3float %float_0_5 %float_0_5 %float_0_5
119%60 = OpExtInst %v3float %1 FMin %63 %65
120%66 = OpLoad %v4float %expectedA
121%67 = OpVectorShuffle %v3float %66 %66 0 1 2
122%68 = OpFOrdEqual %v3bool %60 %67
123%70 = OpAll %bool %68
124OpBranch %59
125%59 = OpLabel
126%71 = OpPhi %bool %false %46 %70 %58
127OpSelectionMerge %73 None
128OpBranchConditional %71 %72 %73
129%72 = OpLabel
130%75 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
131%76 = OpLoad %v4float %75
132%77 = OpCompositeConstruct %v4float %float_0_5 %float_0_5 %float_0_5 %float_0_5
133%74 = OpExtInst %v4float %1 FMin %76 %77
134%78 = OpLoad %v4float %expectedA
135%79 = OpFOrdEqual %v4bool %74 %78
136%81 = OpAll %bool %79
137OpBranch %73
138%73 = OpLabel
139%82 = OpPhi %bool %false %59 %81 %72
140OpSelectionMerge %84 None
141OpBranchConditional %82 %83 %84
142%83 = OpLabel
143%85 = OpLoad %v4float %expectedA
144%86 = OpCompositeExtract %float %85 0
145%87 = OpFOrdEqual %bool %float_n1_25 %86
146OpBranch %84
147%84 = OpLabel
148%88 = OpPhi %bool %false %73 %87 %83
149OpSelectionMerge %90 None
150OpBranchConditional %88 %89 %90
151%89 = OpLabel
152%92 = OpLoad %v4float %expectedA
153%93 = OpVectorShuffle %v2float %92 %92 0 1
154%94 = OpFOrdEqual %v2bool %91 %93
155%95 = OpAll %bool %94
156OpBranch %90
157%90 = OpLabel
158%96 = OpPhi %bool %false %84 %95 %89
159OpSelectionMerge %98 None
160OpBranchConditional %96 %97 %98
161%97 = OpLabel
162%100 = OpLoad %v4float %expectedA
163%101 = OpVectorShuffle %v3float %100 %100 0 1 2
164%102 = OpFOrdEqual %v3bool %99 %101
165%103 = OpAll %bool %102
166OpBranch %98
167%98 = OpLabel
168%104 = OpPhi %bool %false %90 %103 %97
169OpSelectionMerge %106 None
170OpBranchConditional %104 %105 %106
171%105 = OpLabel
172%107 = OpLoad %v4float %expectedA
173%108 = OpFOrdEqual %v4bool %30 %107
174%109 = OpAll %bool %108
175OpBranch %106
176%106 = OpLabel
177%110 = OpPhi %bool %false %98 %109 %105
178OpSelectionMerge %112 None
179OpBranchConditional %110 %111 %112
180%111 = OpLabel
181%114 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
182%115 = OpLoad %v4float %114
183%116 = OpCompositeExtract %float %115 0
184%117 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
185%119 = OpLoad %v4float %117
186%120 = OpCompositeExtract %float %119 0
187%113 = OpExtInst %float %1 FMin %116 %120
188%121 = OpLoad %v4float %expectedB
189%122 = OpCompositeExtract %float %121 0
190%123 = OpFOrdEqual %bool %113 %122
191OpBranch %112
192%112 = OpLabel
193%124 = OpPhi %bool %false %106 %123 %111
194OpSelectionMerge %126 None
195OpBranchConditional %124 %125 %126
196%125 = OpLabel
197%128 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
198%129 = OpLoad %v4float %128
199%130 = OpVectorShuffle %v2float %129 %129 0 1
200%131 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
201%132 = OpLoad %v4float %131
202%133 = OpVectorShuffle %v2float %132 %132 0 1
203%127 = OpExtInst %v2float %1 FMin %130 %133
204%134 = OpLoad %v4float %expectedB
205%135 = OpVectorShuffle %v2float %134 %134 0 1
206%136 = OpFOrdEqual %v2bool %127 %135
207%137 = OpAll %bool %136
208OpBranch %126
209%126 = OpLabel
210%138 = OpPhi %bool %false %112 %137 %125
211OpSelectionMerge %140 None
212OpBranchConditional %138 %139 %140
213%139 = OpLabel
214%142 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
215%143 = OpLoad %v4float %142
216%144 = OpVectorShuffle %v3float %143 %143 0 1 2
217%145 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
218%146 = OpLoad %v4float %145
219%147 = OpVectorShuffle %v3float %146 %146 0 1 2
220%141 = OpExtInst %v3float %1 FMin %144 %147
221%148 = OpLoad %v4float %expectedB
222%149 = OpVectorShuffle %v3float %148 %148 0 1 2
223%150 = OpFOrdEqual %v3bool %141 %149
224%151 = OpAll %bool %150
225OpBranch %140
226%140 = OpLabel
227%152 = OpPhi %bool %false %126 %151 %139
228OpSelectionMerge %154 None
229OpBranchConditional %152 %153 %154
230%153 = OpLabel
231%156 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
232%157 = OpLoad %v4float %156
233%158 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
234%159 = OpLoad %v4float %158
235%155 = OpExtInst %v4float %1 FMin %157 %159
236%160 = OpLoad %v4float %expectedB
237%161 = OpFOrdEqual %v4bool %155 %160
238%162 = OpAll %bool %161
239OpBranch %154
240%154 = OpLabel
241%163 = OpPhi %bool %false %140 %162 %153
242OpSelectionMerge %165 None
243OpBranchConditional %163 %164 %165
244%164 = OpLabel
245%166 = OpLoad %v4float %expectedB
246%167 = OpCompositeExtract %float %166 0
247%168 = OpFOrdEqual %bool %float_n1_25 %167
248OpBranch %165
249%165 = OpLabel
250%169 = OpPhi %bool %false %154 %168 %164
251OpSelectionMerge %171 None
252OpBranchConditional %169 %170 %171
253%170 = OpLabel
254%172 = OpLoad %v4float %expectedB
255%173 = OpVectorShuffle %v2float %172 %172 0 1
256%174 = OpFOrdEqual %v2bool %91 %173
257%175 = OpAll %bool %174
258OpBranch %171
259%171 = OpLabel
260%176 = OpPhi %bool %false %165 %175 %170
261OpSelectionMerge %178 None
262OpBranchConditional %176 %177 %178
263%177 = OpLabel
264%180 = OpLoad %v4float %expectedB
265%181 = OpVectorShuffle %v3float %180 %180 0 1 2
266%182 = OpFOrdEqual %v3bool %179 %181
267%183 = OpAll %bool %182
268OpBranch %178
269%178 = OpLabel
270%184 = OpPhi %bool %false %171 %183 %177
271OpSelectionMerge %186 None
272OpBranchConditional %184 %185 %186
273%185 = OpLabel
274%187 = OpLoad %v4float %expectedB
275%188 = OpFOrdEqual %v4bool %33 %187
276%189 = OpAll %bool %188
277OpBranch %186
278%186 = OpLabel
279%190 = OpPhi %bool %false %178 %189 %185
280OpSelectionMerge %194 None
281OpBranchConditional %190 %192 %193
282%192 = OpLabel
283%195 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
284%196 = OpLoad %v4float %195
285OpStore %191 %196
286OpBranch %194
287%193 = OpLabel
288%197 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
289%199 = OpLoad %v4float %197
290OpStore %191 %199
291OpBranch %194
292%194 = OpLabel
293%200 = OpLoad %v4float %191
294OpReturnValue %200
295OpFunctionEnd
296