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