aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapProcState_matrixProcs.cpp
Commit message (Collapse)AuthorAge
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* eliminate all warnings in non-thirdparty code on macGravatar humper@google.com2013-01-07
| | | | | | | | | | | | | | | | Most of these issues were due to functions whose definitions appear in header files; I changed those functions to be 'static inline' instead of just 'static' or 'inline', which kills the warning for such functions. Other functions that were static or anonymous-namespaced but were unused in cpp files were probably called at some point but are no longer; someone who knows more than I do should probably scrub all the functions I either deleted or #if 0'ed out and make sure that the right thing is happening here. Lots of unused variables removed, and one nasty const issue handled. There remains a single warning in thirdparty/externals/cityhash/src/city.cc on line 146 related to a signed/unsigned mismatch. I don't know if we have control over this library so I didn't fix this one, but perhaps someone could do something about that one. BUG= Review URL: https://codereview.appspot.com/7067044 git-svn-id: http://skia.googlecode.com/svn/trunk@7051 2bbb7eff-a529-9590-31e7-b0007b416f81
* correctly handle negative values in fixed_clamp()Gravatar reed@google.com2012-10-09
| | | | | | Review URL: https://codereview.appspot.com/6633049 git-svn-id: http://skia.googlecode.com/svn/trunk@5867 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* rm: Introduce SK_ARM_NEON_WRAP handy wrapper macro.Gravatar digit@google.com2012-08-06
| | | | | | | It is used to simplify arm/neon dispatch logic code. Review URL: https://codereview.appspot.com/6458060 git-svn-id: http://skia.googlecode.com/svn/trunk@4958 2bbb7eff-a529-9590-31e7-b0007b416f81
* 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
* Fix calling (and checking) the decal_ functions when the input is ↵Gravatar reed@google.com2012-06-13
| | | | | | | | | | | | | SkFractionalInt. The bug was to cast to SkFixed from SkFractionalInt, when what we needed to do was shift the fractional guy down to fixed. This bug was only caught on an android device w/o neon, since other configs have assembly for their matrixproc that didn't have this bug. Review URL: https://codereview.appspot.com/6303074 git-svn-id: http://skia.googlecode.com/svn/trunk@4256 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix/revert the unsigned-shift change made to clamp in 3836. For clamp we wantGravatar reed@google.com2012-05-04
| | | | | | | | to see the negatives, so we must have a signed shift. git-svn-id: http://skia.googlecode.com/svn/trunk@3839 2bbb7eff-a529-9590-31e7-b0007b416f81
* We were numerically overflowing our 16bit coordinates that we communicateGravatar reed@google.com2012-05-03
| | | | | | | | | | | | | between these two procs. The fixes was in two parts: 1. Just don't draw bitmaps larger than 64K-1 in width or height, since we can't represent those coordinates in our transport format (yet). 2. Perform an unsigned shift during the calculation, so we don't get sign-extension bleed when packing the two values (X,Y) into our 32bit slot. Review URL: https://codereview.appspot.com/6173046 git-svn-id: http://skia.googlecode.com/svn/trunk@3836 2bbb7eff-a529-9590-31e7-b0007b416f81
* speculative fix for debug/release problem on windows with mirror bitmapsGravatar reed@google.com2012-04-18
| | | | | | Review URL: https://codereview.appspot.com/6063051 git-svn-id: http://skia.googlecode.com/svn/trunk@3728 2bbb7eff-a529-9590-31e7-b0007b416f81
* don't flip the fractional bits (low 4) for bilerp when in kMirror_TileModeGravatar reed@google.com2012-03-09
| | | | | | Review URL: https://codereview.appspot.com/5795043 git-svn-id: http://skia.googlecode.com/svn/trunk@3357 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
* fix overflow in matrixproc, and add debugging code to test thatGravatar reed@android.com2010-04-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@548 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
* fix typo in matrix proc index computation, where we were always taking theGravatar reed@android.com2009-08-14
| | | | | | | | perspective case when affine would have been enough (and lots faster). git-svn-id: http://skia.googlecode.com/svn/trunk@323 2bbb7eff-a529-9590-31e7-b0007b416f81
* add method to compute max count for a given buffer size in the bitmap shader.Gravatar reed@android.com2009-08-14
| | | | | | | | fix bug in quad loop of fill_sequential where we were going one quad too far. git-svn-id: http://skia.googlecode.com/svn/trunk@322 2bbb7eff-a529-9590-31e7-b0007b416f81
* add special matrixprocs when the matrix is at most translate. These are fasterGravatar reed@android.com2009-08-13
| | | | | | | | | | | (somewhat) than their scale counterparts, but are also numerically exact for any size bitmaps. The scale versions, because they operate in a scaled 65535 space, are not always exact for large images (due to SK_Fixed1 / width) loss of bits git-svn-id: http://skia.googlecode.com/svn/trunk@320 2bbb7eff-a529-9590-31e7-b0007b416f81
* grab from latest androidGravatar reed@android.com2008-12-17
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81