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