Lines Matching defs:dst
106 // A generic driver that maps fn over a src array into a dst array.
107 // fn should take an Sk4px (4 src pixels) and return an Sk4px (4 dst pixels).
109 static void MapSrc(int n, SkPMColor* dst, const SkPMColor* src, const Fn& fn) {
110 SkASSERT(dst);
118 dst0.store4(dst+0);
119 dst4.store4(dst+4);
120 dst += 8; src += 8; n -= 8;
125 fn(Load4(src)).store4(dst);
126 dst += 4; src += 4; n -= 4;
129 fn(Load2(src)).store2(dst);
130 dst += 2; src += 2; n -= 2;
133 fn(Load1(src)).store1(dst);
141 static void MapDstSrc(int n, SkPMColor* dst, const SkPMColor* src, const Fn& fn) {
142 SkASSERT(dst);
146 Sk4px dst0 = fn(Load4(dst+0), Load4(src+0)),
147 dst4 = fn(Load4(dst+4), Load4(src+4));
148 dst0.store4(dst+0);
149 dst4.store4(dst+4);
150 dst += 8; src += 8; n -= 8;
155 fn(Load4(dst), Load4(src)).store4(dst);
156 dst += 4; src += 4; n -= 4;
159 fn(Load2(dst), Load2(src)).store2(dst);
160 dst += 2; src += 2; n -= 2;
163 fn(Load1(dst), Load1(src)).store1(dst);
171 static void MapDstAlpha(int n, SkPMColor* dst, const SkAlpha* a, const Fn& fn) {
172 SkASSERT(dst);
176 Sk4px dst0 = fn(Load4(dst+0), Load4Alphas(a+0)),
177 dst4 = fn(Load4(dst+4), Load4Alphas(a+4));
178 dst0.store4(dst+0);
179 dst4.store4(dst+4);
180 dst += 8; a += 8; n -= 8;
185 fn(Load4(dst), Load4Alphas(a)).store4(dst);
186 dst += 4; a += 4; n -= 4;
189 fn(Load2(dst), Load2Alphas(a)).store2(dst);
190 dst += 2; a += 2; n -= 2;
193 fn(Load1(dst), Sk16b(*a)).store1(dst);
201 static void MapDstSrcAlpha(int n, SkPMColor* dst, const SkPMColor* src, const SkAlpha* a,
203 SkASSERT(dst);
208 Sk4px dst0 = fn(Load4(dst+0), Load4(src+0), Load4Alphas(a+0)),
209 dst4 = fn(Load4(dst+4), Load4(src+4), Load4Alphas(a+4));
210 dst0.store4(dst+0);
211 dst4.store4(dst+4);
212 dst += 8; src += 8; a += 8; n -= 8;
217 fn(Load4(dst), Load4(src), Load4Alphas(a)).store4(dst);
218 dst += 4; src += 4; a += 4; n -= 4;
221 fn(Load2(dst), Load2(src), Load2Alphas(a)).store2(dst);
222 dst += 2; src += 2; a += 2; n -= 2;
225 fn(Load1(dst), Load1(src), Sk16b(*a)).store1(dst);