• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1OpCapability Shader
2%1 = OpExtInstImport "GLSL.std.450"
3OpMemoryModel Logical GLSL450
4OpEntryPoint Fragment %main "main" %sk_FragColor %sk_Clockwise
5OpExecutionMode %main OriginUpperLeft
6OpName %sk_FragColor "sk_FragColor"
7OpName %sk_Clockwise "sk_Clockwise"
8OpName %_UniformBuffer "_UniformBuffer"
9OpMemberName %_UniformBuffer 0 "src"
10OpMemberName %_UniformBuffer 1 "dst"
11OpName %_blend_overlay_component_hh2h2 "_blend_overlay_component_hh2h2"
12OpName %blend_overlay_h4h4h4 "blend_overlay_h4h4h4"
13OpName %result "result"
14OpName %main "main"
15OpDecorate %sk_FragColor RelaxedPrecision
16OpDecorate %sk_FragColor Location 0
17OpDecorate %sk_FragColor Index 0
18OpDecorate %sk_Clockwise BuiltIn FrontFacing
19OpMemberDecorate %_UniformBuffer 0 Offset 0
20OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21OpMemberDecorate %_UniformBuffer 1 Offset 16
22OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23OpDecorate %_UniformBuffer Block
24OpDecorate %12 Binding 0
25OpDecorate %12 DescriptorSet 0
26OpDecorate %22 RelaxedPrecision
27OpDecorate %23 RelaxedPrecision
28OpDecorate %24 RelaxedPrecision
29OpDecorate %25 RelaxedPrecision
30OpDecorate %26 RelaxedPrecision
31OpDecorate %33 RelaxedPrecision
32OpDecorate %34 RelaxedPrecision
33OpDecorate %35 RelaxedPrecision
34OpDecorate %36 RelaxedPrecision
35OpDecorate %37 RelaxedPrecision
36OpDecorate %38 RelaxedPrecision
37OpDecorate %39 RelaxedPrecision
38OpDecorate %40 RelaxedPrecision
39OpDecorate %41 RelaxedPrecision
40OpDecorate %42 RelaxedPrecision
41OpDecorate %43 RelaxedPrecision
42OpDecorate %44 RelaxedPrecision
43OpDecorate %45 RelaxedPrecision
44OpDecorate %46 RelaxedPrecision
45OpDecorate %47 RelaxedPrecision
46OpDecorate %48 RelaxedPrecision
47OpDecorate %49 RelaxedPrecision
48OpDecorate %50 RelaxedPrecision
49OpDecorate %51 RelaxedPrecision
50OpDecorate %52 RelaxedPrecision
51OpDecorate %53 RelaxedPrecision
52OpDecorate %54 RelaxedPrecision
53OpDecorate %55 RelaxedPrecision
54OpDecorate %56 RelaxedPrecision
55OpDecorate %57 RelaxedPrecision
56OpDecorate %result RelaxedPrecision
57OpDecorate %64 RelaxedPrecision
58OpDecorate %65 RelaxedPrecision
59OpDecorate %67 RelaxedPrecision
60OpDecorate %68 RelaxedPrecision
61OpDecorate %71 RelaxedPrecision
62OpDecorate %72 RelaxedPrecision
63OpDecorate %74 RelaxedPrecision
64OpDecorate %75 RelaxedPrecision
65OpDecorate %78 RelaxedPrecision
66OpDecorate %79 RelaxedPrecision
67OpDecorate %81 RelaxedPrecision
68OpDecorate %82 RelaxedPrecision
69OpDecorate %85 RelaxedPrecision
70OpDecorate %86 RelaxedPrecision
71OpDecorate %88 RelaxedPrecision
72OpDecorate %89 RelaxedPrecision
73OpDecorate %90 RelaxedPrecision
74OpDecorate %91 RelaxedPrecision
75OpDecorate %92 RelaxedPrecision
76OpDecorate %93 RelaxedPrecision
77OpDecorate %94 RelaxedPrecision
78OpDecorate %95 RelaxedPrecision
79OpDecorate %96 RelaxedPrecision
80OpDecorate %97 RelaxedPrecision
81OpDecorate %99 RelaxedPrecision
82OpDecorate %100 RelaxedPrecision
83OpDecorate %101 RelaxedPrecision
84OpDecorate %102 RelaxedPrecision
85OpDecorate %103 RelaxedPrecision
86OpDecorate %104 RelaxedPrecision
87OpDecorate %105 RelaxedPrecision
88OpDecorate %106 RelaxedPrecision
89OpDecorate %107 RelaxedPrecision
90OpDecorate %108 RelaxedPrecision
91OpDecorate %109 RelaxedPrecision
92OpDecorate %110 RelaxedPrecision
93OpDecorate %111 RelaxedPrecision
94OpDecorate %112 RelaxedPrecision
95OpDecorate %113 RelaxedPrecision
96OpDecorate %114 RelaxedPrecision
97OpDecorate %115 RelaxedPrecision
98OpDecorate %123 RelaxedPrecision
99OpDecorate %127 RelaxedPrecision
100%float = OpTypeFloat 32
101%v4float = OpTypeVector %float 4
102%_ptr_Output_v4float = OpTypePointer Output %v4float
103%sk_FragColor = OpVariable %_ptr_Output_v4float Output
104%bool = OpTypeBool
105%_ptr_Input_bool = OpTypePointer Input %bool
106%sk_Clockwise = OpVariable %_ptr_Input_bool Input
107%_UniformBuffer = OpTypeStruct %v4float %v4float
108%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
109%12 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
110%v2float = OpTypeVector %float 2
111%_ptr_Function_v2float = OpTypePointer Function %v2float
112%16 = OpTypeFunction %float %_ptr_Function_v2float %_ptr_Function_v2float
113%float_2 = OpConstant %float 2
114%_ptr_Function_float = OpTypePointer Function %float
115%_ptr_Function_v4float = OpTypePointer Function %v4float
116%58 = OpTypeFunction %v4float %_ptr_Function_v4float %_ptr_Function_v4float
117%float_1 = OpConstant %float 1
118%v3float = OpTypeVector %float 3
119%void = OpTypeVoid
120%117 = OpTypeFunction %void
121%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
122%int = OpTypeInt 32 1
123%int_1 = OpConstant %int 1
124%int_0 = OpConstant %int 0
125%_blend_overlay_component_hh2h2 = OpFunction %float None %16
126%18 = OpFunctionParameter %_ptr_Function_v2float
127%19 = OpFunctionParameter %_ptr_Function_v2float
128%20 = OpLabel
129%28 = OpVariable %_ptr_Function_float Function
130%22 = OpLoad %v2float %19
131%23 = OpCompositeExtract %float %22 0
132%24 = OpFMul %float %float_2 %23
133%25 = OpLoad %v2float %19
134%26 = OpCompositeExtract %float %25 1
135%27 = OpFOrdLessThanEqual %bool %24 %26
136OpSelectionMerge %32 None
137OpBranchConditional %27 %30 %31
138%30 = OpLabel
139%33 = OpLoad %v2float %18
140%34 = OpCompositeExtract %float %33 0
141%35 = OpFMul %float %float_2 %34
142%36 = OpLoad %v2float %19
143%37 = OpCompositeExtract %float %36 0
144%38 = OpFMul %float %35 %37
145OpStore %28 %38
146OpBranch %32
147%31 = OpLabel
148%39 = OpLoad %v2float %18
149%40 = OpCompositeExtract %float %39 1
150%41 = OpLoad %v2float %19
151%42 = OpCompositeExtract %float %41 1
152%43 = OpFMul %float %40 %42
153%44 = OpLoad %v2float %19
154%45 = OpCompositeExtract %float %44 1
155%46 = OpLoad %v2float %19
156%47 = OpCompositeExtract %float %46 0
157%48 = OpFSub %float %45 %47
158%49 = OpFMul %float %float_2 %48
159%50 = OpLoad %v2float %18
160%51 = OpCompositeExtract %float %50 1
161%52 = OpLoad %v2float %18
162%53 = OpCompositeExtract %float %52 0
163%54 = OpFSub %float %51 %53
164%55 = OpFMul %float %49 %54
165%56 = OpFSub %float %43 %55
166OpStore %28 %56
167OpBranch %32
168%32 = OpLabel
169%57 = OpLoad %float %28
170OpReturnValue %57
171OpFunctionEnd
172%blend_overlay_h4h4h4 = OpFunction %v4float None %58
173%60 = OpFunctionParameter %_ptr_Function_v4float
174%61 = OpFunctionParameter %_ptr_Function_v4float
175%62 = OpLabel
176%result = OpVariable %_ptr_Function_v4float Function
177%66 = OpVariable %_ptr_Function_v2float Function
178%69 = OpVariable %_ptr_Function_v2float Function
179%73 = OpVariable %_ptr_Function_v2float Function
180%76 = OpVariable %_ptr_Function_v2float Function
181%80 = OpVariable %_ptr_Function_v2float Function
182%83 = OpVariable %_ptr_Function_v2float Function
183%64 = OpLoad %v4float %60
184%65 = OpVectorShuffle %v2float %64 %64 0 3
185OpStore %66 %65
186%67 = OpLoad %v4float %61
187%68 = OpVectorShuffle %v2float %67 %67 0 3
188OpStore %69 %68
189%70 = OpFunctionCall %float %_blend_overlay_component_hh2h2 %66 %69
190%71 = OpLoad %v4float %60
191%72 = OpVectorShuffle %v2float %71 %71 1 3
192OpStore %73 %72
193%74 = OpLoad %v4float %61
194%75 = OpVectorShuffle %v2float %74 %74 1 3
195OpStore %76 %75
196%77 = OpFunctionCall %float %_blend_overlay_component_hh2h2 %73 %76
197%78 = OpLoad %v4float %60
198%79 = OpVectorShuffle %v2float %78 %78 2 3
199OpStore %80 %79
200%81 = OpLoad %v4float %61
201%82 = OpVectorShuffle %v2float %81 %81 2 3
202OpStore %83 %82
203%84 = OpFunctionCall %float %_blend_overlay_component_hh2h2 %80 %83
204%85 = OpLoad %v4float %60
205%86 = OpCompositeExtract %float %85 3
206%88 = OpLoad %v4float %60
207%89 = OpCompositeExtract %float %88 3
208%90 = OpFSub %float %float_1 %89
209%91 = OpLoad %v4float %61
210%92 = OpCompositeExtract %float %91 3
211%93 = OpFMul %float %90 %92
212%94 = OpFAdd %float %86 %93
213%95 = OpCompositeConstruct %v4float %70 %77 %84 %94
214OpStore %result %95
215%96 = OpLoad %v4float %result
216%97 = OpVectorShuffle %v3float %96 %96 0 1 2
217%99 = OpLoad %v4float %61
218%100 = OpVectorShuffle %v3float %99 %99 0 1 2
219%101 = OpLoad %v4float %60
220%102 = OpCompositeExtract %float %101 3
221%103 = OpFSub %float %float_1 %102
222%104 = OpVectorTimesScalar %v3float %100 %103
223%105 = OpLoad %v4float %60
224%106 = OpVectorShuffle %v3float %105 %105 0 1 2
225%107 = OpLoad %v4float %61
226%108 = OpCompositeExtract %float %107 3
227%109 = OpFSub %float %float_1 %108
228%110 = OpVectorTimesScalar %v3float %106 %109
229%111 = OpFAdd %v3float %104 %110
230%112 = OpFAdd %v3float %97 %111
231%113 = OpLoad %v4float %result
232%114 = OpVectorShuffle %v4float %113 %112 4 5 6 3
233OpStore %result %114
234%115 = OpLoad %v4float %result
235OpReturnValue %115
236OpFunctionEnd
237%main = OpFunction %void None %117
238%118 = OpLabel
239%124 = OpVariable %_ptr_Function_v4float Function
240%128 = OpVariable %_ptr_Function_v4float Function
241%119 = OpAccessChain %_ptr_Uniform_v4float %12 %int_1
242%123 = OpLoad %v4float %119
243OpStore %124 %123
244%125 = OpAccessChain %_ptr_Uniform_v4float %12 %int_0
245%127 = OpLoad %v4float %125
246OpStore %128 %127
247%129 = OpFunctionCall %v4float %blend_overlay_h4h4h4 %124 %128
248OpStore %sk_FragColor %129
249OpReturn
250OpFunctionEnd
251