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