aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapProcState_matrix_repeat.h
Commit message (Collapse)AuthorAge
* arm: dynamic NEON support for SkBitmapProcState matrix operations.Gravatar digit@google.com2012-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements dynamic ARM NEON support for the functions implemented by src/core/SkBitmapProcState_matrixProcs.cpp. - Because the SkBitmapProcState_matrix_{clamp,repeat}.h headers are NEON-specific, they are renamed with a _neon.h suffix, and moved to src/opts/ (from src/core/) - Add a new file src/opts/SkBitmapProcState_matrixProcs_neon.cpp which implements the NEON code paths for all builds, and add it to the 'opts_neon' static library. - Modify SkBitmapProcState_matrixProcs.cpp to select the right code-path depending on our build configuration. Note that in the case where 'arm_neon == 1', we do not embed regular ARM code paths in the final binary. Only 'arm_neon_optional == 1' builds will contain both regular and NEON code paths at the same time. Note that there doesn't seem to be a simple way to put the NEON-specific selection from that currently is in SkBitmapProcState_matrixProcs.cpp into src/opts/. Doing so would require much more drastic restructuring. This is also true of the other SkBitmapProcState source files that will be touched in a future patch. Review URL: https://codereview.appspot.com/6453065 git-svn-id: http://skia.googlecode.com/svn/trunk@4888 2bbb7eff-a529-9590-31e7-b0007b416f81
* Correctly calculate remaining span length in Neon fallback blitterGravatar skyostil@google.com2012-07-26
| | | | | | | | | | | | | | | | | | | | | | In the non-Neon optimized fallback in SCALE_NOFILTER_NAME() the pixels are first processed in groups of 4, followed by the final remaining 0-3 pixels depending on the span length. Currently the remaining span length (0-3) pixels is incorrectly calculated as count - count / 4. This generally causes the function to access outside the bounds of the input and/or output bitmaps. The correct formula is count % 4, because all the full multiples of 4 pixels have been processed and only the remainder remains. Bug spotted by Xianzhu Wang. TEST=None, because this part of the code isn't actually even being compiled due to the !defined(__ARM_HAVE_NEON) guard at the top of the file. It was compiled in by mistake in Chrome for Android, which is how this bug was spotted. Review URL: https://codereview.appspot.com/6441050 git-svn-id: http://skia.googlecode.com/svn/trunk@4777 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added BSD license language where missing.Gravatar caryclark@google.com2012-02-17
| | | | | | | See Chromium bug 98464, Review URL: https://codereview.appspot.com/5671083 git-svn-id: http://skia.googlecode.com/svn/trunk@3218 2bbb7eff-a529-9590-31e7-b0007b416f81
* ray fixes neon for dither and blendGravatar reed@android.com2010-04-09
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@537 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix S32A_D565_Blend_neonGravatar reed@android.com2009-10-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@405 2bbb7eff-a529-9590-31e7-b0007b416f81
* enable neon opts from motorola for perspectiveGravatar reed@android.com2009-10-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@395 2bbb7eff-a529-9590-31e7-b0007b416f81
* add neon opts for matrix procsGravatar reed@android.com2009-09-15
git-svn-id: http://skia.googlecode.com/svn/trunk@353 2bbb7eff-a529-9590-31e7-b0007b416f81