caryclark
3127c99986
ubsan shift fixes
...
Use an inline function that does a normal shift. When built for the sanitizer, add casts so that the shift is unsigned.
Also make a few fixes to do unsigned shifts or avoid the shift altogether; and add an argument spec to some macros.
R=reed@google.com ,mtklein@google.com
BUG=skia:4633
Review URL: https://codereview.chromium.org/1503423003
2015-12-09 12:02:30 -08:00
mtklein
e47f1a7c74
Fix UB in SkDivBits
...
This used to:
DIVBITS_ITER was shifting bits up into the sign bit, which is a no-no.
This turns numer into a uint32_t to make those defined, and adds a few notes.
x >= 0 is always true for unsigned x, so we needed a few small logic refactors.
Instead it now:
Only call SkDivBits if the old behavior is required.
Usually, just do the divide with /.
BUG=skia:3562
Committed: https://skia.googlesource.com/skia/+/988adddd48322bfa3e3cb0c017cfce71fbbf1123
Committed: https://skia.googlesource.com/skia/+/6c7b104b4c08ae2332a6ce3c8c906da4e8c51e5f
TBR=reed@google.com
No API change.
Review URL: https://codereview.chromium.org/1455163004
2015-11-20 13:58:19 -08:00
benjaminwagner
0b2a189221
Fix code that left shifts a negative value. This has undefined behavior.
...
Patched from internal cl/107515669 by rtrieu and added comments.
BUG=skia:2481
Review URL: https://codereview.chromium.org/1439483002
2015-11-11 08:46:34 -08:00
bungeman
f4fddfc300
Correct SkFixedToDouble.
...
SkFixedToDouble uses the decimal floating point string representation
of 1/(2^16) to provide a constant value. This value is exactly
representable by a double but the decimal constant currently used
does not map to this value.
This change modifies this constant to more decimal digits so that
the actual double value desired is created.
Review URL: https://codereview.chromium.org/1097473002
2015-04-17 10:05:43 -07:00
reed
effcba4a4d
Revert of replace SkFixedDiv impl with native 64bit math (patchset #2 id:20001 of https://codereview.chromium.org/1022543003/ )
...
Reason for revert:
http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/53096
layouttests failures
Original issue's description:
> replace SkFixedDiv impl with native 64bit math
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/7c44ca926bf42b3b2e56131f250c0fd58f87ac71
TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1018523008
2015-03-19 04:10:42 -07:00
reed
7c44ca926b
replace SkFixedDiv impl with native 64bit math
...
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1022543003
2015-03-18 19:04:43 -07:00
bungeman
d709ea8d14
Remove SkLONGLONG.
...
All users now define SkLONGLONG.
This fixes a long outstanding TODO now that int64_t is required.
BUG=skia:179
Review URL: https://codereview.chromium.org/1000933003
2015-03-17 07:23:39 -07:00
bungeman
79738cc7bf
Glyph positions maintain 32 bit integer part.
...
A glyph position when mapped from canvas space to device space may land
outside the bounds of the current 16 bit integer part of device space.
Device space is already limited to 32 bits for the integer part,
but for a short space in drawText and drawPosText it is currently
limited to 16 bits (SkFixed). Raise this limit by moving to 48.16.
This matches the current similar fix for measureText.
BUG=chromium:375322
Review URL: https://codereview.chromium.org/977623002
2015-03-11 14:05:29 -07:00
mtklein
1794651509
Switch SkBitmapProcState's SkFractionalInt to 32.32.
...
16 bits are not enough to hold the integral part of fx in
Clamp_S32_opaque_D32_nofilter_DX_shaderproc.
Weirdly, no GM diffs on my desktop.
BUG=skia:3096
Review URL: https://codereview.chromium.org/733163003
2014-11-21 12:10:33 -08:00
mtklein
f6fde175b8
Archive more dead code.
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/617003004
2014-09-30 15:22:06 -07:00
mtklein
3a2682a77f
SK_CPU_ARM --> SK_CPU_ARM32
...
That's what it means. It keeps confusing us as named today.
BUG=skia:
R=djsollen@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/314643004
2014-06-03 12:07:31 -07:00
commit-bot@chromium.org
9c7fdab2f3
Always inline SkFloatToFixed_arm.
...
We have "inline" assembly for speed on ARM, but the compiler when
told to optimize for space wasn't inlining it, destroying any
possible performance improvement.
BUG=skbug:2550
R=mtklein@google.com , reed@google.com , tomhudson@google.com
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/281143002
git-svn-id: http://skia.googlecode.com/svn/trunk@14745 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 09:46:20 +00:00
reed@google.com
614cbeef47
remove SK_SUPPORTED_DEPRECATED_FIXEDROUND, no longer needed
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12918 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:49:32 +00:00
mike@reedtribe.org
9fb00413ec
SK_SUPPORTED_DEPRECATED_FIXEDROUND around deprecated fixed[round,ceil,floor]
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12903 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 03:02:37 +00:00
reed@google.com
01c41a556e
Revert "Revert "begin to remove SkLONGLONG and wean Skia off of Sk64""
...
This reverts commit 15b986baf026a3da5e2cac8106a1b753df242c39.
BUG=
Review URL: https://codereview.chromium.org/119353003
git-svn-id: http://skia.googlecode.com/svn/trunk@12796 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:24:21 +00:00
reed@google.com
b1560445c6
Revert "begin to remove SkLONGLONG and wean Skia off of Sk64"
...
This reverts commit 784890196fdab96289f9389db43aca01f35db0f9.
Revert "use LL suffix for 64bit literal"
This reverts commit 9634295aff9bffd7a3875a0ca4a9b1a27d0793fc.
BUG=
Review URL: https://codereview.chromium.org/116543009
git-svn-id: http://skia.googlecode.com/svn/trunk@12790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 22:28:48 +00:00
reed@google.com
d6a301e9ad
begin to remove SkLONGLONG and wean Skia off of Sk64
...
BUG=
R=caryclark@google.com
Review URL: https://codereview.chromium.org/99433009
git-svn-id: http://skia.googlecode.com/svn/trunk@12788 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 21:54:27 +00:00
reed@google.com
1915fd09f3
remove unused SkFixed and SkFract functions
...
BUG=
R=caryclark@google.com
Review URL: https://codereview.chromium.org/113873008
git-svn-id: http://skia.googlecode.com/svn/trunk@12767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 14:22:03 +00:00
reed@google.com
8f4d2306fa
remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats
...
To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.
BUG=
R=bsalomon@google.com , caryclark@google.com
Review URL: https://codereview.chromium.org/117053002
git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:44:46 +00:00
commit-bot@chromium.org
46ec81572b
The register keyword is deprecated in C++, even at -O0, registers are used automatically.
...
Having the register keyword there causes a warning about deprecated keywords when using clang (and possibly future gcc versions), and isn't needed.
Patch originally submitted to AOSP
https://android-review.googlesource.com/#/c/72501
R=mtklein@google.com , scroggo@google.com , reed@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/93703005
git-svn-id: http://skia.googlecode.com/svn/trunk@12702 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 23:51:11 +00:00
robertphillips@google.com
0e6e8cc627
Revert r10705 (ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG) due to 1000+ linux_layout failures ( http://build.chromium.org/p/tryserver.chromium/builders/linux_layout_rel/builds/18997/steps/webkit_tests/logs/stdio )
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10729 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 13:43:23 +00:00
commit-bot@chromium.org
73ab296536
ARM Skia NEON patches - 04 - Clean SkFixed / SkLONGLONG
...
It removes SkLONGLONG and uses int64_t to implement the SkFixed
operations for which a SkLONGLONG version existed. It also
removes the 32 bit version that are being replaced.
BUG=
R=djsollen@google.com , reed@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://chromiumcodereview.appspot.com/18539004
git-svn-id: http://skia.googlecode.com/svn/trunk@10705 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 11:43:52 +00:00
mtklein@google.com
069aea7f2c
one more thing to try before rebaselining android
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/21112004
git-svn-id: http://skia.googlecode.com/svn/trunk@10420 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-29 19:30:00 +00:00
djsollen@google.com
25a11e48e5
Add bench to test float to fixed conversion
...
R=reed@google.com
Review URL: https://codereview.chromium.org/19773006
git-svn-id: http://skia.googlecode.com/svn/trunk@10155 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:11:30 +00:00
commit-bot@chromium.org
c2050e3a3e
ARM Skia NEON patches - 01 - Simple fixes
...
This series contains a few fairly non-controversial fixes.
Misc: remove dead references to neon 4444 functions
Misc: avoid the double _neon_neon suffix in the clamp matrix functions.
MAKENAME already adds the _neon suffix
Misc: a few stupid / obvious fixes
BUG=
R=djsollen@google.com
Author: kevin.petit.arm@gmail.com
Review URL: https://chromiumcodereview.appspot.com/18666004
git-svn-id: http://skia.googlecode.com/svn/trunk@10072 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 13:10:31 +00:00
caryclark@google.com
867cbd8bc2
first cut at making iOS work
...
Replace __arm__ with SK_CPU_ARM
add support for iOS simulator and device
fix const warning in iOSSampleApp
update gyp files
https://code.google.com/p/skia/issues/detail?id=900
tracks fixing missing arm assembly
Review URL: https://codereview.appspot.com/6552045
git-svn-id: http://skia.googlecode.com/svn/trunk@5606 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 15:45:41 +00:00
reed@google.com
dea8e252e1
fix warngs by casting from float to int64_t
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4945 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 13:55:37 +00:00
reed@google.com
c9af5d8d8a
add debugging SkFloatToFixed_Check() which asserts that the float is in range of a fixed
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4942 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 12:45:14 +00:00
reed@google.com
7886ad3de1
remove SK_CAN_USE_FLOAT (deprecated)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4232 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 21:21:26 +00:00
reed@google.com
4bc0a9db18
use higher precision (64bit) fixed-point for matrix proc
...
Review URL: https://codereview.appspot.com/5772044
git-svn-id: http://skia.googlecode.com/svn/trunk@3336 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-07 21:47:41 +00:00
tomhudson@google.com
889bd8bd7f
Make SkMath.h less visible in public header files.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2340 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-27 17:38:17 +00:00
reed@google.com
1b20280f9b
deprecate SkScalarFloor, SkScalarCeil, SkScalarRound
...
Should instead use the explicit version that returns either a scalar or int
e.g.
SkScalarRoundToInt
SkScalarROundToScalar
git-svn-id: http://skia.googlecode.com/svn/trunk@2018 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-01 20:49:45 +00:00
epoger@google.com
ec3ed6a5eb
Automatic update of all copyright notices to reflect new license terms.
...
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.
The following files still need to be modified manually, in a separate CL:
android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058
git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
reed@google.com
a87e065870
add SkFixedFloorToFixed
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1524 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-07 13:38:39 +00:00
bsalomon@google.com
ee9aa30457
Fixes from Sk/Gr rect unification.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1288 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-09 22:32:52 +00:00
wjmaclean@chromium.org
1fbf760a12
Fix SkFixed overflows in SkFixedSquare, SkGradientShader.
...
Return SK_FixedMax when overflow occurs.
git-svn-id: http://skia.googlecode.com/svn/trunk@1117 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-13 13:31:06 +00:00
reed@google.com
4b22602383
add getter/setter for device-factory on canvas
...
git-svn-id: http://skia.googlecode.com/svn/trunk@683 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-11 18:32:13 +00:00
reed@google.com
72cf4927e5
fix build for scalar==fixed
...
git-svn-id: http://skia.googlecode.com/svn/trunk@671 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-04 19:58:20 +00:00
reed@android.com
8a1c16ff38
grab from latest android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 15:59:43 +00:00