Update rive-cpp to 2.0 version
[platform/core/uifw/rive-tizen.git] / submodule / skia / tests / sksl / intrinsics / Log2.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 %80 RelaxedPrecision
49 OpDecorate %81 RelaxedPrecision
50 OpDecorate %89 RelaxedPrecision
51 OpDecorate %90 RelaxedPrecision
52 OpDecorate %99 RelaxedPrecision
53 OpDecorate %100 RelaxedPrecision
54 OpDecorate %109 RelaxedPrecision
55 OpDecorate %120 RelaxedPrecision
56 OpDecorate %123 RelaxedPrecision
57 OpDecorate %124 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 %87 = OpConstantComposite %v2float %float_0 %float_1
86 %float_2 = OpConstant %float 2
87 %97 = OpConstantComposite %v3float %float_0 %float_1 %float_2
88 %float_3 = OpConstant %float 3
89 %107 = OpConstantComposite %v4float %float_0 %float_1 %float_2 %float_3
90 %_ptr_Function_v4float = OpTypePointer Function %v4float
91 %int_2 = OpConstant %int 2
92 %int_3 = OpConstant %int 3
93 %_entrypoint_v = OpFunction %void None %15
94 %16 = OpLabel
95 %20 = OpVariable %_ptr_Function_v2float Function
96 OpStore %20 %19
97 %22 = OpFunctionCall %v4float %main %20
98 OpStore %sk_FragColor %22
99 OpReturn
100 OpFunctionEnd
101 %main = OpFunction %v4float None %23
102 %24 = OpFunctionParameter %_ptr_Function_v2float
103 %25 = OpLabel
104 %113 = OpVariable %_ptr_Function_v4float Function
105 %28 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
106 %32 = OpLoad %v4float %28
107 %33 = OpCompositeExtract %float %32 0
108 %27 = OpExtInst %float %1 Log2 %33
109 %34 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
110 %36 = OpLoad %v4float %34
111 %37 = OpCompositeExtract %float %36 0
112 %38 = OpFOrdEqual %bool %27 %37
113 OpSelectionMerge %40 None
114 OpBranchConditional %38 %39 %40
115 %39 = OpLabel
116 %42 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
117 %43 = OpLoad %v4float %42
118 %44 = OpVectorShuffle %v2float %43 %43 0 1
119 %41 = OpExtInst %v2float %1 Log2 %44
120 %45 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
121 %46 = OpLoad %v4float %45
122 %47 = OpVectorShuffle %v2float %46 %46 0 1
123 %48 = OpFOrdEqual %v2bool %41 %47
124 %50 = OpAll %bool %48
125 OpBranch %40
126 %40 = OpLabel
127 %51 = OpPhi %bool %false %25 %50 %39
128 OpSelectionMerge %53 None
129 OpBranchConditional %51 %52 %53
130 %52 = OpLabel
131 %55 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
132 %56 = OpLoad %v4float %55
133 %57 = OpVectorShuffle %v3float %56 %56 0 1 2
134 %54 = OpExtInst %v3float %1 Log2 %57
135 %59 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
136 %60 = OpLoad %v4float %59
137 %61 = OpVectorShuffle %v3float %60 %60 0 1 2
138 %62 = OpFOrdEqual %v3bool %54 %61
139 %64 = OpAll %bool %62
140 OpBranch %53
141 %53 = OpLabel
142 %65 = OpPhi %bool %false %40 %64 %52
143 OpSelectionMerge %67 None
144 OpBranchConditional %65 %66 %67
145 %66 = OpLabel
146 %69 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
147 %70 = OpLoad %v4float %69
148 %68 = OpExtInst %v4float %1 Log2 %70
149 %71 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
150 %72 = OpLoad %v4float %71
151 %73 = OpFOrdEqual %v4bool %68 %72
152 %75 = OpAll %bool %73
153 OpBranch %67
154 %67 = OpLabel
155 %76 = OpPhi %bool %false %53 %75 %66
156 OpSelectionMerge %78 None
157 OpBranchConditional %76 %77 %78
158 %77 = OpLabel
159 %79 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
160 %80 = OpLoad %v4float %79
161 %81 = OpCompositeExtract %float %80 0
162 %82 = OpFOrdEqual %bool %float_0 %81
163 OpBranch %78
164 %78 = OpLabel
165 %83 = OpPhi %bool %false %67 %82 %77
166 OpSelectionMerge %85 None
167 OpBranchConditional %83 %84 %85
168 %84 = OpLabel
169 %88 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
170 %89 = OpLoad %v4float %88
171 %90 = OpVectorShuffle %v2float %89 %89 0 1
172 %91 = OpFOrdEqual %v2bool %87 %90
173 %92 = OpAll %bool %91
174 OpBranch %85
175 %85 = OpLabel
176 %93 = OpPhi %bool %false %78 %92 %84
177 OpSelectionMerge %95 None
178 OpBranchConditional %93 %94 %95
179 %94 = OpLabel
180 %98 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
181 %99 = OpLoad %v4float %98
182 %100 = OpVectorShuffle %v3float %99 %99 0 1 2
183 %101 = OpFOrdEqual %v3bool %97 %100
184 %102 = OpAll %bool %101
185 OpBranch %95
186 %95 = OpLabel
187 %103 = OpPhi %bool %false %85 %102 %94
188 OpSelectionMerge %105 None
189 OpBranchConditional %103 %104 %105
190 %104 = OpLabel
191 %108 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
192 %109 = OpLoad %v4float %108
193 %110 = OpFOrdEqual %v4bool %107 %109
194 %111 = OpAll %bool %110
195 OpBranch %105
196 %105 = OpLabel
197 %112 = OpPhi %bool %false %95 %111 %104
198 OpSelectionMerge %117 None
199 OpBranchConditional %112 %115 %116
200 %115 = OpLabel
201 %118 = OpAccessChain %_ptr_Uniform_v4float %10 %int_2
202 %120 = OpLoad %v4float %118
203 OpStore %113 %120
204 OpBranch %117
205 %116 = OpLabel
206 %121 = OpAccessChain %_ptr_Uniform_v4float %10 %int_3
207 %123 = OpLoad %v4float %121
208 OpStore %113 %123
209 OpBranch %117
210 %117 = OpLabel
211 %124 = OpLoad %v4float %113
212 OpReturnValue %124
213 OpFunctionEnd