Commit Graph

39 Commits

Author SHA1 Message Date
reed@google.com
a869248bf8 remove obsolete comments
git-svn-id: http://skia.googlecode.com/svn/trunk@3875 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-09 14:01:03 +00:00
reed@google.com
6997e5d282 remove dead conditional
Review URL: https://codereview.appspot.com/6197065

git-svn-id: http://skia.googlecode.com/svn/trunk@3873 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-09 13:48:50 +00:00
tomhudson@google.com
17b6ba41f2 Reinstate early out from antialiased path rendering if we anticipate
overflow (or if the path is completely clipped out).

Fixes http://code.google.com/p/chromium/issues/detail?id=121405
Reviewed at http://codereview.appspot.com/5989070/



git-svn-id: http://skia.googlecode.com/svn/trunk@3658 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-12 14:23:58 +00:00
reed@google.com
f9f258c656 detect all masks, and don't use masksuperblitter with those
git-svn-id: http://skia.googlecode.com/svn/trunk@3364 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-12 16:09:06 +00:00
reed@google.com
d76dafb261 handle checking for large bounds correctly when SkScalar is fixed
git-svn-id: http://skia.googlecode.com/svn/trunk@3274 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 16:34:29 +00:00
reed@google.com
07db86126a since SkScalarCeil/Floor do not explicitly detect overflows from float->int,
create special version of roundOut that checks if the result can fit, and if
not we abort the draw. 32bits (or 30 for antialiasing) should be enough for
anyone...



git-svn-id: http://skia.googlecode.com/svn/trunk@3271 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 15:32:42 +00:00
reed@google.com
a4e923824d Disable check for large bounds in antipath
git-svn-id: http://skia.googlecode.com/svn/trunk@3267 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-27 22:10:21 +00:00
tomhudson@google.com
ffc92488ae Fix math in coverage_to_alpha() (renamed coverage_to_partial_alpha()), behind
a #define so that we can stage coping with the huge amount of rebaselining
necessary.

http://codereview.appspot.com/5696049/



git-svn-id: http://skia.googlecode.com/svn/trunk@3243 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 19:34:34 +00:00
reed@google.com
dceecc70a8 always allocate (only) the width of the clip for the AA row, since it will
already be clamped to 32K (our impl limit at the moment.)

add unittest to confirm this fix



git-svn-id: http://skia.googlecode.com/svn/trunk@3242 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 19:20:19 +00:00
reed@google.com
5546ef2dd9 inject a 32767 bounded cliprect before using SuperSampler blitter, to avoid
crash/assert when our run-array is larger than int16_t. Better fix may be to
"tile" the drawing, so we never see a clip that's too wide, and perhaps this
technique can help us avoid disabling AA for large parths (not sure tho).



git-svn-id: http://skia.googlecode.com/svn/trunk@3104 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 17:09:45 +00:00
tomhudson@google.com
31bab3934c Fix off-by-one error in assertion; improve coverage_to_exact_alpha()
implementation.

http://codereview.appspot.com/5504116/



git-svn-id: http://skia.googlecode.com/svn/trunk@2947 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-03 20:12:42 +00:00
tomhudson@google.com
4714359ec0 Bugfixes to antialiased blitting.
More details of blitter contracts in function headers.
New precautionary assert in one high-level default blitter.



git-svn-id: http://skia.googlecode.com/svn/trunk@2928 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-28 17:58:07 +00:00
tomhudson@google.com
0c00f21fee Add SkDEBUGFAIL to clean up use of SkASSERT(!"text");
catch a couple of latent SkASSERT("text") bugs.

http://codereview.appspot.com/5504090/



git-svn-id: http://skia.googlecode.com/svn/trunk@2926 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-28 14:59:50 +00:00
tomhudson@google.com
49eac192fa New 'blitAntiRect' entry point for blitters, specialized in supersampling
code to avoid quarter-scanline-at-a-time building of large rectangular
clips.

Speeds up aa_clip_build_path_AA benchmark 2x, aa_clip_build_rect_AA benchmark
10x or more. This is a sufficient performance gain to let Chromium reenable
WebKit's soft clipping code. Rolling into Chromium will require ~18
rebaselines.



git-svn-id: http://skia.googlecode.com/svn/trunk@2924 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-27 13:59:20 +00:00
reed@google.com
ee068aae55 add unittest for invariants for empty paths, still need to think about
hairlines in those cases



git-svn-id: http://skia.googlecode.com/svn/trunk@2919 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-21 19:36:21 +00:00
reed@google.com
a89c77b5ca revert 2783 -- broke debug gm
git-svn-id: http://skia.googlecode.com/svn/trunk@2784 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 21:47:26 +00:00
tomhudson@google.com
f974a5d782 New function SkBlitter::blitAntiRect(); specifically accelerated for
supersampled antialiased clips.



git-svn-id: http://skia.googlecode.com/svn/trunk@2783 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 21:09:00 +00:00
tomhudson@google.com
05fffdcc91 Doxygen configuration file, documentation and minor cleanup on blitters.
git-svn-id: http://skia.googlecode.com/svn/trunk@2782 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-01 20:41:24 +00:00
reed@google.com
f2fc5a5708 match blitH computation for coverage in new blitRect for supersampler
git-svn-id: http://skia.googlecode.com/svn/trunk@2576 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-01 11:42:42 +00:00
reed@google.com
967a35d8c5 specialize blitRect in supersampler:
10% fast aa-roundrects blits,
2x faster aa-roundrect-clips building



git-svn-id: http://skia.googlecode.com/svn/trunk@2575 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-31 19:37:58 +00:00
reed@google.com
562a2ac95b call blitRect in our convex scanconverter (next: take advantage of that in our
region and soft-region builders, and in our supersampler)



git-svn-id: http://skia.googlecode.com/svn/trunk@2563 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-31 14:14:18 +00:00
reed@google.com
045e62d715 enable soft clipping (yikes)
git-svn-id: http://skia.googlecode.com/svn/trunk@2515 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-24 12:19:46 +00:00
reed@google.com
1ba7137fc0 add rasterclip entrypoints for scan converting paths
git-svn-id: http://skia.googlecode.com/svn/trunk@2473 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-12 20:42:05 +00:00
reed@google.com
2c508f2dc2 add force-rle parameter to help with aaclip testing
git-svn-id: http://skia.googlecode.com/svn/trunk@2401 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-03 21:15:46 +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
2f3567c000 check-point for unifying results between runs and mask backends for aa
git-svn-id: http://skia.googlecode.com/svn/trunk@1554 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-09 15:54:38 +00:00
reed@google.com
34e52a0392 initialize fCurrY
git-svn-id: http://skia.googlecode.com/svn/trunk@1468 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-01 17:32:11 +00:00
reed@google.com
fa57ae7d1e remember previous x-offset when we re-enter the runs array. speeds up paths
with lots of x-transitions in a single scanline



git-svn-id: http://skia.googlecode.com/svn/trunk@1456 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-31 19:18:02 +00:00
reed@google.com
5a1e79595f remove dead code
git-svn-id: http://skia.googlecode.com/svn/trunk@1447 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-31 14:36:21 +00:00
reed@google.com
9f2f0a84d5 add testing defines to test different blitters for antialiasing (RLE and mask)
speed up wide spans for maskblitter by accumulating 4-bytes at a time
code style clean up



git-svn-id: http://skia.googlecode.com/svn/trunk@1109 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:43:58 +00:00
reed@google.com
55b6b58d8f Fix inverse scanconversion -- be sure to keep our calls to SkBlitter in scanline
order (top to bottom), since the region blitter explicitly requires this.



git-svn-id: http://skia.googlecode.com/svn/trunk@876 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-02 15:58:18 +00:00
agl@chromium.org
8cfdf01ff9 Correctly handle SkPath::kInverseWinding_FillType
Fix for http://code.google.com/p/skia/issues/detail?id=87

Even when SkPath::kInverseWinding_FillType is given, Skia left some
lines not filled(cleared) in one case.

Patch-by: morrita

http://codereview.appspot.com/3443041

git-svn-id: http://skia.googlecode.com/svn/trunk@630 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-06 18:52:40 +00:00
reed@android.com
dca6a56b71 explicitly pass bounds.top to the edgelist walker, so we don't leave any gaps
when the path is in an inverse fillmode, and its top or bottom are on a
fractional boundary. (thanks senorblanco)



git-svn-id: http://skia.googlecode.com/svn/trunk@504 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-22 16:05:48 +00:00
reed@android.com
5ebbe14f76 fix cheap calc of edgelist size
git-svn-id: http://skia.googlecode.com/svn/trunk@419 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-11-05 21:04:00 +00:00
senorblanco@chromium.org
c41513c4da Add a sanity check to MaskSuperBlitter::blitH(), to avoid a subsequent
crash in *Blitter::blitMask(), and add some more asserts.

http://codereview.appspot.com/110050
http://crbug.com/17569



git-svn-id: http://skia.googlecode.com/svn/trunk@330 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-21 22:00:12 +00:00
senorblanco@chromium.org
feef49c4d1 Add some SkASSERT's, to try to track down a reliability issue in Chrome.
http://codereview.appspot.com/105075
http://crbug.com/17569



git-svn-id: http://skia.googlecode.com/svn/trunk@317 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-08-12 20:21:49 +00:00
reed@android.com
d252db03d9 API change: SkPath computeBounds -> getBounds
git-svn-id: http://skia.googlecode.com/svn/trunk@140 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-04-01 18:31:44 +00:00
reed@android.com
3555591c15 add sanity checks to handles extremely large coordinates or filter margins.
Should not hurt features (we hope), but is an easy way to survive malicious
values on a small-memory machine like a handset.



git-svn-id: http://skia.googlecode.com/svn/trunk@123 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-03-16 18:46:55 +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