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