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