| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://skia.googlecode.com/svn/trunk@537 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
| |
git-svn-id: http://skia.googlecode.com/svn/trunk@405 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
|
|
| |
git-svn-id: http://skia.googlecode.com/svn/trunk@395 2bbb7eff-a529-9590-31e7-b0007b416f81
|
|
git-svn-id: http://skia.googlecode.com/svn/trunk@353 2bbb7eff-a529-9590-31e7-b0007b416f81
|