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