2 /* copy pixel x color --> dst */
6 _op_copy_p_c_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
16 _op_copy_p_caa_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
27 #define _op_copy_pas_c_dp _op_copy_p_c_dp
28 #define _op_copy_pan_c_dp _op_copy_p_c_dp
29 #define _op_copy_p_can_dp _op_copy_p_c_dp
30 #define _op_copy_pas_can_dp _op_copy_p_can_dp
31 #define _op_copy_pan_can_dp _op_copy_p_c_dp
32 #define _op_copy_pas_caa_dp _op_copy_p_caa_dp
33 #define _op_copy_pan_caa_dp _op_copy_p_caa_dp
35 #define _op_copy_p_c_dpan _op_copy_p_c_dp
36 #define _op_copy_pas_c_dpan _op_copy_pas_c_dp
37 #define _op_copy_pan_c_dpan _op_copy_pan_c_dp
38 #define _op_copy_p_can_dpan _op_copy_p_can_dp
39 #define _op_copy_pas_can_dpan _op_copy_pas_can_dp
40 #define _op_copy_pan_can_dpan _op_copy_pan_can_dp
41 #define _op_copy_p_caa_dpan _op_copy_p_caa_dp
42 #define _op_copy_pas_caa_dpan _op_copy_pas_caa_dp
43 #define _op_copy_pan_caa_dpan _op_copy_pan_caa_dp
46 init_copy_pixel_color_span_funcs_c(void)
48 op_copy_span_funcs[SP][SM_N][SC][DP][CPU_C] = _op_copy_p_c_dp;
49 op_copy_span_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_copy_pas_c_dp;
50 op_copy_span_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_copy_pan_c_dp;
51 op_copy_span_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_copy_p_can_dp;
52 op_copy_span_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_copy_pas_can_dp;
53 op_copy_span_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_copy_pan_can_dp;
54 op_copy_span_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_copy_p_caa_dp;
55 op_copy_span_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_copy_pas_caa_dp;
56 op_copy_span_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_copy_pan_caa_dp;
58 op_copy_span_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_copy_p_c_dpan;
59 op_copy_span_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_copy_pas_c_dpan;
60 op_copy_span_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_copy_pan_c_dpan;
61 op_copy_span_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_p_can_dpan;
62 op_copy_span_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_pas_can_dpan;
63 op_copy_span_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_pan_can_dpan;
64 op_copy_span_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_p_caa_dpan;
65 op_copy_span_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_pas_caa_dpan;
66 op_copy_span_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_pan_caa_dpan;
72 _op_copy_pt_p_c_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
77 _op_copy_pt_p_caa_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
78 *d = MUL_SYM(c >> 24, s);
82 #define _op_copy_pt_p_can_dp _op_copy_pt_p_c_dp
83 #define _op_copy_pt_pan_c_dp _op_copy_pt_p_c_dp
84 #define _op_copy_pt_pan_can_dp _op_copy_pt_p_c_dp
85 #define _op_copy_pt_pan_caa_dp _op_copy_pt_p_caa_dp
86 #define _op_copy_pt_pas_c_dp _op_copy_pt_p_c_dp
87 #define _op_copy_pt_pas_can_dp _op_copy_pt_p_can_dp
88 #define _op_copy_pt_pas_caa_dp _op_copy_pt_p_caa_dp
90 #define _op_copy_pt_p_c_dpan _op_copy_pt_p_c_dp
91 #define _op_copy_pt_pas_c_dpan _op_copy_pt_pas_c_dp
92 #define _op_copy_pt_pan_c_dpan _op_copy_pt_pan_c_dp
93 #define _op_copy_pt_p_can_dpan _op_copy_pt_p_can_dp
94 #define _op_copy_pt_pas_can_dpan _op_copy_pt_pas_can_dp
95 #define _op_copy_pt_pan_can_dpan _op_copy_pt_pan_can_dp
96 #define _op_copy_pt_p_caa_dpan _op_copy_pt_p_caa_dp
97 #define _op_copy_pt_pas_caa_dpan _op_copy_pt_pas_caa_dp
98 #define _op_copy_pt_pan_caa_dpan _op_copy_pt_pan_caa_dp
101 init_copy_pixel_color_pt_funcs_c(void)
103 op_copy_pt_funcs[SP][SM_N][SC][DP][CPU_C] = _op_copy_pt_p_c_dp;
104 op_copy_pt_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_copy_pt_pas_c_dp;
105 op_copy_pt_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_copy_pt_pan_c_dp;
106 op_copy_pt_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_copy_pt_p_can_dp;
107 op_copy_pt_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_copy_pt_pas_can_dp;
108 op_copy_pt_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_copy_pt_pan_can_dp;
109 op_copy_pt_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_copy_pt_p_caa_dp;
110 op_copy_pt_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_copy_pt_pas_caa_dp;
111 op_copy_pt_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_copy_pt_pan_caa_dp;
113 op_copy_pt_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_copy_pt_p_c_dpan;
114 op_copy_pt_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_copy_pt_pas_c_dpan;
115 op_copy_pt_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_copy_pt_pan_c_dpan;
116 op_copy_pt_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_pt_p_can_dpan;
117 op_copy_pt_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_pt_pas_can_dpan;
118 op_copy_pt_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_pt_pan_can_dpan;
119 op_copy_pt_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_pt_p_caa_dpan;
120 op_copy_pt_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_pt_pas_caa_dpan;
121 op_copy_pt_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_pt_pan_caa_dpan;
127 /* copy_rel pixel x color --> dst */
131 _op_copy_rel_p_c_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
134 DATA32 cs = MUL4_SYM(c, *s);
135 *d = MUL_SYM(*d >> 24, cs);
141 #define _op_copy_rel_pas_c_dp _op_copy_rel_p_c_dp
142 #define _op_copy_rel_pan_c_dp _op_copy_rel_p_c_dp
143 #define _op_copy_rel_p_can_dp _op_copy_rel_p_c_dp
144 #define _op_copy_rel_pas_can_dp _op_copy_rel_pas_c_dp
145 #define _op_copy_rel_pan_can_dp _op_copy_rel_p_c_dp
146 #define _op_copy_rel_p_caa_dp _op_copy_rel_p_c_dp
147 #define _op_copy_rel_pas_caa_dp _op_copy_rel_p_c_dp
148 #define _op_copy_rel_pan_caa_dp _op_copy_rel_p_c_dp
150 #define _op_copy_rel_p_c_dpan _op_copy_p_c_dpan
151 #define _op_copy_rel_pas_c_dpan _op_copy_pas_c_dpan
152 #define _op_copy_rel_pan_c_dpan _op_copy_pan_c_dpan
153 #define _op_copy_rel_p_can_dpan _op_copy_p_can_dpan
154 #define _op_copy_rel_pas_can_dpan _op_copy_pas_can_dpan
155 #define _op_copy_rel_pan_can_dpan _op_copy_pan_can_dpan
156 #define _op_copy_rel_p_caa_dpan _op_copy_p_caa_dpan
157 #define _op_copy_rel_pas_caa_dpan _op_copy_pas_caa_dpan
158 #define _op_copy_rel_pan_caa_dpan _op_copy_pan_caa_dpan
161 init_copy_rel_pixel_color_span_funcs_c(void)
163 op_copy_rel_span_funcs[SP][SM_N][SC][DP][CPU_C] = _op_copy_rel_p_c_dp;
164 op_copy_rel_span_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_copy_rel_pas_c_dp;
165 op_copy_rel_span_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_copy_rel_pan_c_dp;
166 op_copy_rel_span_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_copy_rel_p_can_dp;
167 op_copy_rel_span_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_copy_rel_pas_can_dp;
168 op_copy_rel_span_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_copy_rel_pan_can_dp;
169 op_copy_rel_span_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_copy_rel_p_caa_dp;
170 op_copy_rel_span_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_copy_rel_pas_caa_dp;
171 op_copy_rel_span_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_copy_rel_pan_caa_dp;
173 op_copy_rel_span_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_copy_rel_p_c_dpan;
174 op_copy_rel_span_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_copy_rel_pas_c_dpan;
175 op_copy_rel_span_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_copy_rel_pan_c_dpan;
176 op_copy_rel_span_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_rel_p_can_dpan;
177 op_copy_rel_span_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_rel_pas_can_dpan;
178 op_copy_rel_span_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_rel_pan_can_dpan;
179 op_copy_rel_span_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_rel_p_caa_dpan;
180 op_copy_rel_span_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_rel_pas_caa_dpan;
181 op_copy_rel_span_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_rel_pan_caa_dpan;
187 _op_copy_rel_pt_p_c_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
189 *d = MUL_SYM(*d >> 24, s);
192 #define _op_copy_rel_pt_pas_c_dp _op_copy_rel_pt_p_c_dp
193 #define _op_copy_rel_pt_pan_c_dp _op_copy_rel_pt_p_c_dp
194 #define _op_copy_rel_pt_p_can_dp _op_copy_rel_pt_p_c_dp
195 #define _op_copy_rel_pt_pas_can_dp _op_copy_rel_pt_p_can_dp
196 #define _op_copy_rel_pt_pan_can_dp _op_copy_rel_pt_p_c_dp
197 #define _op_copy_rel_pt_p_caa_dp _op_copy_rel_pt_p_c_dp
198 #define _op_copy_rel_pt_pas_caa_dp _op_copy_rel_pt_p_caa_dp
199 #define _op_copy_rel_pt_pan_caa_dp _op_copy_rel_pt_p_caa_dp
201 #define _op_copy_rel_pt_p_c_dpan _op_copy_pt_p_c_dpan
202 #define _op_copy_rel_pt_pas_c_dpan _op_copy_pt_pas_c_dpan
203 #define _op_copy_rel_pt_pan_c_dpan _op_copy_pt_pan_c_dpan
204 #define _op_copy_rel_pt_p_can_dpan _op_copy_pt_p_can_dpan
205 #define _op_copy_rel_pt_pas_can_dpan _op_copy_pt_pas_can_dpan
206 #define _op_copy_rel_pt_pan_can_dpan _op_copy_pt_pan_can_dpan
207 #define _op_copy_rel_pt_p_caa_dpan _op_copy_pt_p_caa_dpan
208 #define _op_copy_rel_pt_pas_caa_dpan _op_copy_pt_pas_caa_dpan
209 #define _op_copy_rel_pt_pan_caa_dpan _op_copy_pt_pan_caa_dpan
212 init_copy_rel_pixel_color_pt_funcs_c(void)
214 op_copy_rel_pt_funcs[SP][SM_N][SC][DP][CPU_C] = _op_copy_rel_pt_p_c_dp;
215 op_copy_rel_pt_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_copy_rel_pt_pas_c_dp;
216 op_copy_rel_pt_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_copy_rel_pt_pan_c_dp;
217 op_copy_rel_pt_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_copy_rel_pt_p_can_dp;
218 op_copy_rel_pt_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_copy_rel_pt_pas_can_dp;
219 op_copy_rel_pt_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_copy_rel_pt_pan_can_dp;
220 op_copy_rel_pt_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_copy_rel_pt_p_caa_dp;
221 op_copy_rel_pt_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_copy_rel_pt_pas_caa_dp;
222 op_copy_rel_pt_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_copy_rel_pt_pan_caa_dp;
224 op_copy_rel_pt_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_copy_rel_pt_p_c_dpan;
225 op_copy_rel_pt_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_copy_rel_pt_pas_c_dpan;
226 op_copy_rel_pt_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_copy_rel_pt_pan_c_dpan;
227 op_copy_rel_pt_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_rel_pt_p_can_dpan;
228 op_copy_rel_pt_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_rel_pt_pas_can_dpan;
229 op_copy_rel_pt_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_copy_rel_pt_pan_can_dpan;
230 op_copy_rel_pt_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_rel_pt_p_caa_dpan;
231 op_copy_rel_pt_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_rel_pt_pas_caa_dpan;
232 op_copy_rel_pt_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_copy_rel_pt_pan_caa_dpan;