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