Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / Exp2.asm.frag
1 OpCapability Shader
2 %1 = OpExtInstImport "GLSL.std.450"
3 OpMemoryModel Logical GLSL450
4 OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5 OpExecutionMode %_entrypoint_v OriginUpperLeft
6 OpName %sk_FragColor "sk_FragColor"
7 OpName %sk_Clockwise "sk_Clockwise"
8 OpName %_UniformBuffer "_UniformBuffer"
9 OpMemberName %_UniformBuffer 0 "inputVal"
10 OpMemberName %_UniformBuffer 1 "expected"
11 OpMemberName %_UniformBuffer 2 "colorGreen"
12 OpMemberName %_UniformBuffer 3 "colorRed"
13 OpName %_entrypoint_v "_entrypoint_v"
14 OpName %main "main"
15 OpDecorate %sk_FragColor RelaxedPrecision
16 OpDecorate %sk_FragColor Location 0
17 OpDecorate %sk_FragColor Index 0
18 OpDecorate %sk_Clockwise BuiltIn FrontFacing
19 OpMemberDecorate %_UniformBuffer 0 Offset 0
20 OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
21 OpMemberDecorate %_UniformBuffer 1 Offset 16
22 OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
23 OpMemberDecorate %_UniformBuffer 2 Offset 32
24 OpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
25 OpMemberDecorate %_UniformBuffer 3 Offset 48
26 OpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
27 OpDecorate %_UniformBuffer Block
28 OpDecorate %10 Binding 0
29 OpDecorate %10 DescriptorSet 0
30 OpDecorate %27 RelaxedPrecision
31 OpDecorate %32 RelaxedPrecision
32 OpDecorate %33 RelaxedPrecision
33 OpDecorate %36 RelaxedPrecision
34 OpDecorate %37 RelaxedPrecision
35 OpDecorate %41 RelaxedPrecision
36 OpDecorate %43 RelaxedPrecision
37 OpDecorate %44 RelaxedPrecision
38 OpDecorate %46 RelaxedPrecision
39 OpDecorate %47 RelaxedPrecision
40 OpDecorate %54 RelaxedPrecision
41 OpDecorate %56 RelaxedPrecision
42 OpDecorate %57 RelaxedPrecision
43 OpDecorate %60 RelaxedPrecision
44 OpDecorate %61 RelaxedPrecision
45 OpDecorate %68 RelaxedPrecision
46 OpDecorate %70 RelaxedPrecision
47 OpDecorate %72 RelaxedPrecision
48 OpDecorate %81 RelaxedPrecision
49 OpDecorate %82 RelaxedPrecision
50 OpDecorate %90 RelaxedPrecision
51 OpDecorate %91 RelaxedPrecision
52 OpDecorate %100 RelaxedPrecision
53 OpDecorate %101 RelaxedPrecision
54 OpDecorate %110 RelaxedPrecision
55 OpDecorate %121 RelaxedPrecision
56 OpDecorate %124 RelaxedPrecision
57 OpDecorate %125 RelaxedPrecision
58 %float = OpTypeFloat 32
59 %v4float = OpTypeVector %float 4
60 %_ptr_Output_v4float = OpTypePointer Output %v4float
61 %sk_FragColor = OpVariable %_ptr_Output_v4float Output
62 %bool = OpTypeBool
63 %_ptr_Input_bool = OpTypePointer Input %bool
64 %sk_Clockwise = OpVariable %_ptr_Input_bool Input
65 %_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float
66 %_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
67 %10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
68 %void = OpTypeVoid
69 %15 = OpTypeFunction %void
70 %float_0 = OpConstant %float 0
71 %v2float = OpTypeVector %float 2
72 %19 = OpConstantComposite %v2float %float_0 %float_0
73 %_ptr_Function_v2float = OpTypePointer Function %v2float
74 %23 = OpTypeFunction %v4float %_ptr_Function_v2float
75 %false = OpConstantFalse %bool
76 %_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
77 %int = OpTypeInt 32 1
78 %int_0 = OpConstant %int 0
79 %int_1 = OpConstant %int 1
80 %v2bool = OpTypeVector %bool 2
81 %v3float = OpTypeVector %float 3
82 %v3bool = OpTypeVector %bool 3
83 %v4bool = OpTypeVector %bool 4
84 %float_1 = OpConstant %float 1
85 %float_2 = OpConstant %float 2
86 %88 = OpConstantComposite %v2float %float_1 %float_2
87 %float_4 = OpConstant %float 4
88 %98 = OpConstantComposite %v3float %float_1 %float_2 %float_4
89 %float_8 = OpConstant %float 8
90 %108 = OpConstantComposite %v4float %float_1 %float_2 %float_4 %float_8
91 %_ptr_Function_v4float = OpTypePointer Function %v4float
92 %int_2 = OpConstant %int 2
93 %int_3 = OpConstant %int 3
94 %_entrypoint_v = OpFunction %void None %15
95 %16 = OpLabel
96 %20 = OpVariable %_ptr_Function_v2float Function
97 OpStore %20 %19
98 %22 = OpFunctionCall %v4float %main %20
99 OpStore %sk_FragColor %22
100 OpReturn
101 OpFunctionEnd
102 %main = OpFunction %v4float None %23
103 %24 = OpFunctionParameter %_ptr_Function_v2float
104 %25 = OpLabel
105 %114 = OpVariable %_ptr_Function_v4float Function
106 %28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
107 %32 = OpLoad %v4float %28
108 %33 = OpCompositeExtract %float %32 0
109 %27 = OpExtInst %float %1 Exp2 %33
110 %34 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
111 %36 = OpLoad %v4float %34
112 %37 = OpCompositeExtract %float %36 0
113 %38 = OpFOrdEqual %bool %27 %37
114 OpSelectionMerge %40 None
115 OpBranchConditional %38 %39 %40
116 %39 = OpLabel
117 %42 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
118 %43 = OpLoad %v4float %42
119 %44 = OpVectorShuffle %v2float %43 %43 0 1
120 %41 = OpExtInst %v2float %1 Exp2 %44
121 %45 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
122 %46 = OpLoad %v4float %45
123 %47 = OpVectorShuffle %v2float %46 %46 0 1
124 %48 = OpFOrdEqual %v2bool %41 %47
125 %50 = OpAll %bool %48
126 OpBranch %40
127 %40 = OpLabel
128 %51 = OpPhi %bool %false %25 %50 %39
129 OpSelectionMerge %53 None
130 OpBranchConditional %51 %52 %53
131 %52 = OpLabel
132 %55 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
133 %56 = OpLoad %v4float %55
134 %57 = OpVectorShuffle %v3float %56 %56 0 1 2
135 %54 = OpExtInst %v3float %1 Exp2 %57
136 %59 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
137 %60 = OpLoad %v4float %59
138 %61 = OpVectorShuffle %v3float %60 %60 0 1 2
139 %62 = OpFOrdEqual %v3bool %54 %61
140 %64 = OpAll %bool %62
141 OpBranch %53
142 %53 = OpLabel
143 %65 = OpPhi %bool %false %40 %64 %52
144 OpSelectionMerge %67 None
145 OpBranchConditional %65 %66 %67
146 %66 = OpLabel
147 %69 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
148 %70 = OpLoad %v4float %69
149 %68 = OpExtInst %v4float %1 Exp2 %70
150 %71 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
151 %72 = OpLoad %v4float %71
152 %73 = OpFOrdEqual %v4bool %68 %72
153 %75 = OpAll %bool %73
154 OpBranch %67
155 %67 = OpLabel
156 %76 = OpPhi %bool %false %53 %75 %66
157 OpSelectionMerge %78 None
158 OpBranchConditional %76 %77 %78
159 %77 = OpLabel
160 %80 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
161 %81 = OpLoad %v4float %80
162 %82 = OpCompositeExtract %float %81 0
163 %83 = OpFOrdEqual %bool %float_1 %82
164 OpBranch %78
165 %78 = OpLabel
166 %84 = OpPhi %bool %false %67 %83 %77
167 OpSelectionMerge %86 None
168 OpBranchConditional %84 %85 %86
169 %85 = OpLabel
170 %89 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
171 %90 = OpLoad %v4float %89
172 %91 = OpVectorShuffle %v2float %90 %90 0 1
173 %92 = OpFOrdEqual %v2bool %88 %91
174 %93 = OpAll %bool %92
175 OpBranch %86
176 %86 = OpLabel
177 %94 = OpPhi %bool %false %78 %93 %85
178 OpSelectionMerge %96 None
179 OpBranchConditional %94 %95 %96
180 %95 = OpLabel
181 %99 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
182 %100 = OpLoad %v4float %99
183 %101 = OpVectorShuffle %v3float %100 %100 0 1 2
184 %102 = OpFOrdEqual %v3bool %98 %101
185 %103 = OpAll %bool %102
186 OpBranch %96
187 %96 = OpLabel
188 %104 = OpPhi %bool %false %86 %103 %95
189 OpSelectionMerge %106 None
190 OpBranchConditional %104 %105 %106
191 %105 = OpLabel
192 %109 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
193 %110 = OpLoad %v4float %109
194 %111 = OpFOrdEqual %v4bool %108 %110
195 %112 = OpAll %bool %111
196 OpBranch %106
197 %106 = OpLabel
198 %113 = OpPhi %bool %false %96 %112 %105
199 OpSelectionMerge %118 None
200 OpBranchConditional %113 %116 %117
201 %116 = OpLabel
202 %119 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
203 %121 = OpLoad %v4float %119
204 OpStore %114 %121
205 OpBranch %118
206 %117 = OpLabel
207 %122 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3
208 %124 = OpLoad %v4float %122
209 OpStore %114 %124
210 OpBranch %118
211 %118 = OpLabel
212 %125 = OpLoad %v4float %114
213 OpReturnValue %125
214 OpFunctionEnd