OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The Android Open Source Project | 2 * Copyright 2012 The Android Open Source Project |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "SkBlitRow_opts_arm.h" | 8 #include "SkBlitRow_opts_arm.h" |
9 | 9 |
10 #include "SkBlitMask.h" | 10 #include "SkBlitMask.h" |
(...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1255 S32A_D565_Opaque_neon, | 1255 S32A_D565_Opaque_neon, |
1256 S32A_D565_Blend_neon, | 1256 S32A_D565_Blend_neon, |
1257 | 1257 |
1258 // dither | 1258 // dither |
1259 S32_D565_Opaque_Dither_neon, | 1259 S32_D565_Opaque_Dither_neon, |
1260 S32_D565_Blend_Dither_neon, | 1260 S32_D565_Blend_Dither_neon, |
1261 S32A_D565_Opaque_Dither_neon, | 1261 S32A_D565_Opaque_Dither_neon, |
1262 NULL, // S32A_D565_Blend_Dither | 1262 NULL, // S32A_D565_Blend_Dither |
1263 }; | 1263 }; |
1264 | 1264 |
1265 const SkBlitRow::Proc sk_blitrow_platform_4444_procs_arm_neon[] = { | |
1266 // no dither | |
1267 NULL, // S32_D4444_Opaque, | |
1268 NULL, // S32_D4444_Blend, | |
1269 NULL, // S32A_D4444_Opaque, | |
1270 NULL, // S32A_D4444_Blend, | |
1271 | |
1272 // dither | |
1273 NULL, // S32_D4444_Opaque_Dither, | |
1274 NULL, // S32_D4444_Blend_Dither, | |
1275 NULL, // S32A_D4444_Opaque_Dither, | |
1276 NULL, // S32A_D4444_Blend_Dither | |
1277 }; | |
1278 | |
1279 const SkBlitRow::Proc32 sk_blitrow_platform_32_procs_arm_neon[] = { | 1265 const SkBlitRow::Proc32 sk_blitrow_platform_32_procs_arm_neon[] = { |
1280 NULL, // S32_Opaque, | 1266 NULL, // S32_Opaque, |
1281 S32_Blend_BlitRow32_neon, // S32_Blend, | 1267 S32_Blend_BlitRow32_neon, // S32_Blend, |
1282 /* | 1268 /* |
1283 * We have two choices for S32A_Opaque procs. The one reads the src alpha | 1269 * We have two choices for S32A_Opaque procs. The one reads the src alpha |
1284 * value and attempts to optimize accordingly. The optimization is | 1270 * value and attempts to optimize accordingly. The optimization is |
1285 * sensitive to the source content and is not a win in all cases. For | 1271 * sensitive to the source content and is not a win in all cases. For |
1286 * example, if there are a lot of transitions between the alpha states, | 1272 * example, if there are a lot of transitions between the alpha states, |
1287 * the performance will almost certainly be worse. However, for many | 1273 * the performance will almost certainly be worse. However, for many |
1288 * common cases the performance is equivalent or better than the standard | 1274 * common cases the performance is equivalent or better than the standard |
1289 * case where we do not inspect the src alpha. | 1275 * case where we do not inspect the src alpha. |
1290 */ | 1276 */ |
1291 #if SK_A32_SHIFT == 24 | 1277 #if SK_A32_SHIFT == 24 |
1292 // This proc assumes the alpha value occupies bits 24-32 of each SkPMColor | 1278 // This proc assumes the alpha value occupies bits 24-32 of each SkPMColor |
1293 S32A_Opaque_BlitRow32_neon_src_alpha, // S32A_Opaque, | 1279 S32A_Opaque_BlitRow32_neon_src_alpha, // S32A_Opaque, |
1294 #else | 1280 #else |
1295 S32A_Opaque_BlitRow32_neon, // S32A_Opaque, | 1281 S32A_Opaque_BlitRow32_neon, // S32A_Opaque, |
1296 #endif | 1282 #endif |
1297 S32A_Blend_BlitRow32_arm // S32A_Blend | 1283 S32A_Blend_BlitRow32_arm // S32A_Blend |
1298 }; | 1284 }; |
OLD | NEW |