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