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