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