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