2 /* copy mask x color -> dst */
6 _op_copy_mas_c_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
19 *d = INTERP_256(l, c, *d);
26 #define _op_copy_mas_cn_dp _op_copy_mas_c_dp
27 #define _op_copy_mas_can_dp _op_copy_mas_c_dp
28 #define _op_copy_mas_caa_dp _op_copy_mas_c_dp
30 #define _op_copy_mas_c_dpan _op_copy_mas_c_dp
31 #define _op_copy_mas_cn_dpan _op_copy_mas_c_dpan
32 #define _op_copy_mas_can_dpan _op_copy_mas_c_dpan
33 #define _op_copy_mas_caa_dpan _op_copy_mas_c_dpan
36 init_copy_mask_color_span_funcs_c(void)
38 op_copy_span_funcs[SP_N][SM_AS][SC_N][DP][CPU_C] = _op_copy_mas_cn_dp;
39 op_copy_span_funcs[SP_N][SM_AS][SC][DP][CPU_C] = _op_copy_mas_c_dp;
40 op_copy_span_funcs[SP_N][SM_AS][SC_AN][DP][CPU_C] = _op_copy_mas_can_dp;
41 op_copy_span_funcs[SP_N][SM_AS][SC_AA][DP][CPU_C] = _op_copy_mas_caa_dp;
43 op_copy_span_funcs[SP_N][SM_AS][SC_N][DP_AN][CPU_C] = _op_copy_mas_cn_dpan;
44 op_copy_span_funcs[SP_N][SM_AS][SC][DP_AN][CPU_C] = _op_copy_mas_c_dpan;
45 op_copy_span_funcs[SP_N][SM_AS][SC_AN][DP_AN][CPU_C] = _op_copy_mas_can_dpan;
46 op_copy_span_funcs[SP_N][SM_AS][SC_AA][DP_AN][CPU_C] = _op_copy_mas_caa_dpan;
52 _op_copy_pt_mas_c_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
53 *d = INTERP_256(m + 1, c, *d);
57 #define _op_copy_pt_mas_cn_dp _op_copy_pt_mas_c_dp
58 #define _op_copy_pt_mas_can_dp _op_copy_pt_mas_c_dp
59 #define _op_copy_pt_mas_caa_dp _op_copy_pt_mas_c_dp
61 #define _op_copy_pt_mas_c_dpan _op_copy_pt_mas_c_dp
62 #define _op_copy_pt_mas_cn_dpan _op_copy_pt_mas_c_dpan
63 #define _op_copy_pt_mas_can_dpan _op_copy_pt_mas_c_dpan
64 #define _op_copy_pt_mas_caa_dpan _op_copy_pt_mas_c_dpan
67 init_copy_mask_color_pt_funcs_c(void)
69 op_copy_pt_funcs[SP_N][SM_AS][SC_N][DP][CPU_C] = _op_copy_pt_mas_cn_dp;
70 op_copy_pt_funcs[SP_N][SM_AS][SC][DP][CPU_C] = _op_copy_pt_mas_c_dp;
71 op_copy_pt_funcs[SP_N][SM_AS][SC_AN][DP][CPU_C] = _op_copy_pt_mas_can_dp;
72 op_copy_pt_funcs[SP_N][SM_AS][SC_AA][DP][CPU_C] = _op_copy_pt_mas_caa_dp;
74 op_copy_pt_funcs[SP_N][SM_AS][SC_N][DP_AN][CPU_C] = _op_copy_pt_mas_cn_dpan;
75 op_copy_pt_funcs[SP_N][SM_AS][SC][DP_AN][CPU_C] = _op_copy_pt_mas_c_dpan;
76 op_copy_pt_funcs[SP_N][SM_AS][SC_AN][DP_AN][CPU_C] = _op_copy_pt_mas_can_dpan;
77 op_copy_pt_funcs[SP_N][SM_AS][SC_AA][DP_AN][CPU_C] = _op_copy_pt_mas_caa_dpan;
83 /* copy_rel mask x color -> dst */
87 _op_copy_rel_mas_c_dp(DATA32 *s, DATA8 *m, DATA32 c, DATA32 *d, int l) {
101 DATA32 da = 1 + (*d >> 24);
104 *d = INTERP_256(l, da, *d);
113 #define _op_copy_rel_mas_cn_dp _op_copy_rel_mas_c_dp
114 #define _op_copy_rel_mas_can_dp _op_copy_rel_mas_c_dp
115 #define _op_copy_rel_mas_caa_dp _op_copy_rel_mas_c_dp
117 #define _op_copy_rel_mas_c_dpan _op_copy_mas_c_dpan
118 #define _op_copy_rel_mas_cn_dpan _op_copy_mas_cn_dpan
119 #define _op_copy_rel_mas_can_dpan _op_copy_mas_can_dpan
120 #define _op_copy_rel_mas_caa_dpan _op_copy_mas_caa_dpan
123 init_copy_rel_mask_color_span_funcs_c(void)
125 op_copy_rel_span_funcs[SP_N][SM_AS][SC_N][DP][CPU_C] = _op_copy_rel_mas_cn_dp;
126 op_copy_rel_span_funcs[SP_N][SM_AS][SC][DP][CPU_C] = _op_copy_rel_mas_c_dp;
127 op_copy_rel_span_funcs[SP_N][SM_AS][SC_AN][DP][CPU_C] = _op_copy_rel_mas_can_dp;
128 op_copy_rel_span_funcs[SP_N][SM_AS][SC_AA][DP][CPU_C] = _op_copy_rel_mas_caa_dp;
130 op_copy_rel_span_funcs[SP_N][SM_AS][SC_N][DP_AN][CPU_C] = _op_copy_rel_mas_cn_dpan;
131 op_copy_rel_span_funcs[SP_N][SM_AS][SC][DP_AN][CPU_C] = _op_copy_rel_mas_c_dpan;
132 op_copy_rel_span_funcs[SP_N][SM_AS][SC_AN][DP_AN][CPU_C] = _op_copy_rel_mas_can_dpan;
133 op_copy_rel_span_funcs[SP_N][SM_AS][SC_AA][DP_AN][CPU_C] = _op_copy_rel_mas_caa_dpan;
139 _op_copy_rel_pt_mas_c_dp(DATA32 s, DATA8 m, DATA32 c, DATA32 *d) {
142 *d = INTERP_256(m + 1, s, *d);
145 #define _op_copy_rel_pt_mas_cn_dp _op_copy_rel_pt_mas_c_dp
146 #define _op_copy_rel_pt_mas_can_dp _op_copy_rel_pt_mas_c_dp
147 #define _op_copy_rel_pt_mas_caa_dp _op_copy_rel_pt_mas_c_dp
149 #define _op_copy_rel_pt_mas_c_dpan _op_copy_pt_mas_c_dpan
150 #define _op_copy_rel_pt_mas_cn_dpan _op_copy_pt_mas_cn_dpan
151 #define _op_copy_rel_pt_mas_can_dpan _op_copy_pt_mas_can_dpan
152 #define _op_copy_rel_pt_mas_caa_dpan _op_copy_pt_mas_caa_dpan
155 init_copy_rel_mask_color_pt_funcs_c(void)
157 op_copy_rel_pt_funcs[SP_N][SM_AS][SC_N][DP][CPU_C] = _op_copy_rel_pt_mas_cn_dp;
158 op_copy_rel_pt_funcs[SP_N][SM_AS][SC][DP][CPU_C] = _op_copy_rel_pt_mas_c_dp;
159 op_copy_rel_pt_funcs[SP_N][SM_AS][SC_AN][DP][CPU_C] = _op_copy_rel_pt_mas_can_dp;
160 op_copy_rel_pt_funcs[SP_N][SM_AS][SC_AA][DP][CPU_C] = _op_copy_rel_pt_mas_caa_dp;
162 op_copy_rel_pt_funcs[SP_N][SM_AS][SC_N][DP_AN][CPU_C] = _op_copy_rel_pt_mas_cn_dpan;
163 op_copy_rel_pt_funcs[SP_N][SM_AS][SC][DP_AN][CPU_C] = _op_copy_rel_pt_mas_c_dpan;
164 op_copy_rel_pt_funcs[SP_N][SM_AS][SC_AN][DP_AN][CPU_C] = _op_copy_rel_pt_mas_can_dpan;
165 op_copy_rel_pt_funcs[SP_N][SM_AS][SC_AA][DP_AN][CPU_C] = _op_copy_rel_pt_mas_caa_dpan;