Commit Graph

1323 Commits

Author SHA1 Message Date
reed@google.com
42cb6c0247 add SkDeviceLooper to handle larger-than-fixedpoint
BUG=

Review URL: https://codereview.chromium.org/23392006

git-svn-id: http://skia.googlecode.com/svn/trunk@10943 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 17:53:52 +00:00
mtklein@google.com
9f842d3904 New warning -> new pattern for fingers to learn for asserting failure.
The Ubuntu Clang compile bot has a warning enabled now that yells about !"foo"
before it breaks Chrome's build where the same warning is -Werror.

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/23586002

git-svn-id: http://skia.googlecode.com/svn/trunk@10937 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:15:37 +00:00
fmalita@google.com
d0f1a4fb28 Fix clip expansion in SkPictureRecord::recordRestoreOffsetPlaceholder()
For operations which can expand the region, zeroing previous clip ops' restore offsets is not enough: we need to also break the chain - otherwise the next restore() will simply traverse back and reset the skip offsets.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22987003

git-svn-id: http://skia.googlecode.com/svn/trunk@10934 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 15:50:19 +00:00
skia.committer@gmail.com
10adca5c4a Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10929 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 07:02:54 +00:00
reed@google.com
f272e3554a test drawing large-coord aa rects
git-svn-id: http://skia.googlecode.com/svn/trunk@10926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-26 21:27:03 +00:00
robertphillips@google.com
57c5672901 Fix leaked SkPDFDevice in PDFPrimitivesTest.cpp
https://chromiumcodereview.appspot.com/23003035/



git-svn-id: http://skia.googlecode.com/svn/trunk@10910 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-26 11:10:13 +00:00
mtklein@google.com
330313a8a8 My clang now doesn't complain about !"foo".
BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22875037

git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
skia.committer@gmail.com
b74bdf0249 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 07:01:29 +00:00
commit-bot@chromium.org
9504575438 Add perf benchmarks and more unit tests for matrix inversion
R=jvanverth@google.com, reed@google.com

Author: shawnsingh@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22886010

git-svn-id: http://skia.googlecode.com/svn/trunk@10836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:15:24 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
mtklein@google.com
9e3074e968 use SkTDynamicHash in picture recording
cleaned up SkPictureFlat.h quite a bit while working on this.

bench --match picture_record_ shows some improvement:
compare.sh bench --match picture_record_ --repeat 100
master -> usehash
N=3 p=0.001000 (corrected to 0.000333)
sig? rel. speed  bench
  y      1.0x  picture_record_dictionaries
  y      1.5x  picture_record_recurring_paint_dictionary
  y      3.8x  picture_record_unique_paint_dictionary
Overall relative speed:   1.9x

bench_pictures --record is pretty much neutral:
compare.sh bench_pictures -r ../skp --mode record --repeat 30
master -> usehash
N=63 p=0.001000 (corrected to 0.000016)
sig? rel. speed  bench
  n      0.9x  desk_pokemonwiki.skp
  y      0.9x  desk_googlespreadsheet.skp
  y      0.9x  tabl_pravda.skp
  y      1.0x  desk_googlespreadsheetdashed.skp
  n      1.0x  tabl_onlinewsj.skp
  n      1.0x  tabl_nytimes.skp
  n      1.0x  desk_googlehome.skp
  y      1.0x  desk_techcrunch.skp
  n      1.0x  tabl_slashdot.skp
  n      1.0x  tabl_techmeme.skp
  n      1.0x  desk_googleplus.skp
  n      1.0x  desk_sfgate.skp
  n      1.0x  tabl_transformice.skp
  n      1.0x  desk_espn.skp
  n      1.0x  desk_baidu.skp
  n      1.0x  tabl_worldjournal.skp
  n      1.0x  desk_chalkboard.skp
  n      1.0x  tabl_frantzen.skp
  n      1.0x  desk_gws.skp
  n      1.0x  tabl_androidpolice.skp
  n      1.0x  desk_linkedin.skp
  n      1.0x  mobi_wikipedia.skp
  n      1.0x  desk_wowwiki.skp
  n      1.0x  desk_css3gradients.skp
  n      1.0x  desk_gmailthread.skp
  n      1.0x  desk_yahoogames.skp
  n      1.0x  desk_facebook.skp
  n      1.0x  desk_wordpress.skp
  n      1.0x  tabl_vnexpress.skp
  n      1.0x  desk_br337.skp
  n      1.0x  tabl_engadget.skp
  n      1.0x  tabl_theverge.skp
  n      1.0x  desk_amazon.skp
  n      1.0x  desk_ebay.skp
  n      1.0x  tabl_hsfi.skp
  n      1.0x  tabl_sahadan.skp
  n      1.0x  desk_weather.skp
  n      1.0x  tabl_digg.skp
  n      1.0x  desk_youtubetvbrowse.skp
  n      1.0x  tabl_culturalsolutions.skp
  n      1.0x  tabl_ukwsj.skp
  n      1.0x  desk_youtube.skp
  n      1.0x  tabl_googlecalendar.skp
  y      1.0x  desk_yahooanswers.skp
  n      1.0x  desk_blogger.skp
  n      1.0x  desk_yahoonews.skp
  y      1.0x  desk_yahoosports.skp
  y      1.0x  tabl_mercurynews.skp
  n      1.0x  desk_youtubetvvideo.skp
  y      1.0x  tabl_gspro.skp
  y      1.1x  tabl_googleblog.skp
  y      1.1x  tabl_cnet.skp
  y      1.1x  tabl_mlb.skp
  y      1.1x  tabl_cuteoverload.skp
  y      1.1x  desk_booking.skp
  y      1.1x  tabl_deviantart.skp
  y      1.1x  desk_twitter.skp
  y      1.1x  tabl_cnn.skp
  y      1.1x  tabl_gamedeksiam.skp
  y      1.1x  tabl_gmail.skp
  y      1.1x  tabl_nofolo.skp
  y      1.1x  tabl_mozilla.skp
  y      1.1x  desk_pinterest.skp
Overall relative speed:   1.0x

(I'd take this to mean that the microbenches are probably drifting away from relevance.)
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/21564008

git-svn-id: http://skia.googlecode.com/svn/trunk@10825 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 16:48:47 +00:00
commit-bot@chromium.org
edd18989ac Tweak Matrix44 test so it'll pass on ChromeOS
BUG=
R=robertphillips@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/23093008

git-svn-id: http://skia.googlecode.com/svn/trunk@10822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 16:28:42 +00:00
commit-bot@chromium.org
f02f07835e Make SkMatrix44::invert() check for finite 1/det instead of magic value
Previously we were checking to see if the magnitude of
determinant of the matrix to be inverted was less than 
1.0e-8, which is a magic number possibly plucked from 
Graphics Gems. After some discussion, it's been determined 
(ha) that we can simply check to see if 1/det is finite and 
if so proceed.

BUG=222926

Committed: http://code.google.com/p/skia/source/detail?r=10758

R=reed@google.com, shawnsingh@chromium.org

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/22904003

git-svn-id: http://skia.googlecode.com/svn/trunk@10818 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 15:25:04 +00:00
scroggo@google.com
4271f79289 Revert "Make SkMatrix44::invert() check for finite 1/det instead of magic value"
This reverts commit f109b4ac6ef21ccb8b76891e50e63dae820af116.

git-svn-id: http://skia.googlecode.com/svn/trunk@10760 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 23:53:11 +00:00
commit-bot@chromium.org
7a3eeacd87 Make SkMatrix44::invert() check for finite 1/det instead of magic value
Previously we were checking to see if the magnitude of determinant of the 
matrix to be inverted was less than 1.0e-8, which is a magic number possibly
plucked from Graphics Gems. After some discussion, it's been determined (ha)
that we can simply check to see if 1/det is finite and if so proceed.

BUG=222926
R=reed@google.com, shawnsingh@chromium.org

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/22904003

git-svn-id: http://skia.googlecode.com/svn/trunk@10758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:56:38 +00:00
mtklein@google.com
cb8b0eeacf Update how SkPath handles fGenerationID and fSourcePath, and add tests to cover.
BUG=
R=bungeman@google.com, reed@google.com

Review URL: https://codereview.chromium.org/22911002

git-svn-id: http://skia.googlecode.com/svn/trunk@10756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:14:51 +00:00
egdaniel@google.com
259fbaf7a4 Add homogeneous point mapping to Matrix
Adds mapping of homogeneous points (points with three scalar components,
where the last component is not 1). Includes fix for tests when
running on 32 bit debug builds

BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/22816005

git-svn-id: http://skia.googlecode.com/svn/trunk@10755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:12:11 +00:00
mtklein@google.com
0038c12f33 Write NULL as "" so readString() always returns a non-NULL string.
BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/22862002

git-svn-id: http://skia.googlecode.com/svn/trunk@10754 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:01:32 +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
c1bf2de835 Fix crash when querying a runtime config that is defined in environment
Fix crash when querying a runtime config in case when there's no
skia.conf file and the config variable is still defined in the
environment.

Runs the added SkRTConf::UnitTest test as part of new "UnitTest" test.

Previous version of the patch failed Windows build due to setenv usage.
On Windows, use _putenv_s instead.

BUG=skia:1494
R=bsalomon@google.com, humper@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/23174002

git-svn-id: http://skia.googlecode.com/svn/trunk@10715 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 18:14:37 +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
c9ab2b7dd8 SkTDynamicHash
- add validate()
  - make add() and remove() strict
  - fill in maybeShrink()
  - make grow and shrink thresholds configurable.
  - fix issue where we were getting filled with deleted items - we need to count them as occupied when determining if we should grow

BUG=
R=reed@google.com

Review URL: https://codereview.chromium.org/22571010

git-svn-id: http://skia.googlecode.com/svn/trunk@10677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 14:51:25 +00:00
robertphillips@google.com
1c0ade7fc6 Reverted r10654 (Fix crash when querying a runtime config that is defined in environment) due to compilation failure on Chromium win_layout bot
git-svn-id: http://skia.googlecode.com/svn/trunk@10669 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-11 13:20:18 +00:00
jvanverth@google.com
f6ad1e8a06 Revert r10659: Add a map homogenous points to SkMatrix
git-svn-id: http://skia.googlecode.com/svn/trunk@10667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 21:06:38 +00:00
commit-bot@chromium.org
9d54aeb8a1 All rSomethingTo() immediately following a close() are relative to the point we closed from, not the point we close to. Fix that.
Seems like this has been broken since the stone ages.

BUG=skia:1474, code.google.com/p/android/issues/detail?id=41216
R=bsalomon@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/22681006

git-svn-id: http://skia.googlecode.com/svn/trunk@10666 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 19:48:26 +00:00
commit-bot@chromium.org
47fa13640b allow NULL in writeString/readString
BUG=skia:1469, code.google.com/p/android/issues/detail?id=58257
R=scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/22359003

git-svn-id: http://skia.googlecode.com/svn/trunk@10662 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 16:03:05 +00:00
egdaniel@google.com
2fae54d945 Add a map homogenous points to SkMatrix
BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/22330004

git-svn-id: http://skia.googlecode.com/svn/trunk@10659 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 15:07:10 +00:00
commit-bot@chromium.org
cb62224996 Removing deprecated constructors and setDevice from SkDeferredCanvas
R=senorblanco@google.com, senorblanco@chromium.org
BUR=crbug.com/270143

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22385011

git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 14:24:59 +00:00
commit-bot@chromium.org
a1007def7e Fix crash when querying a runtime config that is defined in environment
Fix crash when querying a runtime config in case when there's no
skia.conf file and the config variable is still defined in the
environment.

Runs the added SkRTConf::UnitTest test as part of new "UnitTest" test.

BUG=skia:1494
R=bsalomon@google.com, humper@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/22650007

git-svn-id: http://skia.googlecode.com/svn/trunk@10654 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 13:23:56 +00:00
skia.committer@gmail.com
17f1ae63d5 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10650 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 07:01:22 +00:00
commit-bot@chromium.org
c28f555f7f This attempts to replicate some bad cache behavior Mozilla reported.
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/22411005

git-svn-id: http://skia.googlecode.com/svn/trunk@10649 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 22:55:21 +00:00
robertphillips@google.com
b265741cc1 Revert r10603 (Remove operator== from SkPaint) due to Chrome failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10632 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 22:36:29 +00:00
scroggo@google.com
d79277f678 Support decoding subsets from JPG on Android.
Previously we only supported it for the framework. Making this
change allows us to test subset decoding in skimage, to make sure
we don't break it.

Will require rebaselining android skimage results.

R=djsollen@google.com

Review URL: https://codereview.chromium.org/21612003

git-svn-id: http://skia.googlecode.com/svn/trunk@10625 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:53:53 +00:00
commit-bot@chromium.org
28621517f4 Fix BGRA readback on Android
R=bsalomon@google.com, robertphillips@google.com

Author: snorp@snorp.net

Review URL: https://chromiumcodereview.appspot.com/22522002

git-svn-id: http://skia.googlecode.com/svn/trunk@10624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:43:45 +00:00
scroggo@google.com
7bb36ab259 Fix build.
Use SkIntToScalar.

Reflect that 8888 can be copied to 4444 in BitmapCopyTest.

Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@10623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:39:56 +00:00
mtklein@google.com
9c9d4a7002 Restore SkPath(const SkPath&) to copy the generation ID on Android.
BUG=
R=bsalomon@google.com, bungeman@google.com, reed@google.com

Review URL: https://codereview.chromium.org/22471002

git-svn-id: http://skia.googlecode.com/svn/trunk@10622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 19:17:53 +00:00
bungeman@google.com
839702b619 Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Committed: https://code.google.com/p/skia/source/detail?r=10592

Committed: https://code.google.com/p/skia/source/detail?r=10608

Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10615 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 17:09:22 +00:00
robertphillips@google.com
f7af91bd79 Reverting r10608 (Add getFamilyNames to SkTypeface) due to compilation failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10609 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:56:51 +00:00
bungeman@google.com
246b1c266f Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Committed: https://code.google.com/p/skia/source/detail?r=10592

Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:46:29 +00:00
commit-bot@chromium.org
37ffe8a5a3 Remove operator== from SkPaint
R=mtklein@google.com, reed@google.com

Author: sglez@google.com

Review URL: https://chromiumcodereview.appspot.com/21949007

git-svn-id: http://skia.googlecode.com/svn/trunk@10603 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 15:22:05 +00:00
bungeman@google.com
ad6477d02a Work around broken SkFontMgr_fontconfig.cpp for test.
git-svn-id: http://skia.googlecode.com/svn/trunk@10593 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 03:17:12 +00:00
bungeman@google.com
a980269c24 Add getFamilyNames to SkTypeface.
Committed: https://code.google.com/p/skia/source/detail?r=10589

Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 02:45:25 +00:00
jvanverth@google.com
7ca6d2f070 Reverting r10589: Add getFamilyNames to SkTypeface
git-svn-id: http://skia.googlecode.com/svn/trunk@10590 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 23:31:44 +00:00
bungeman@google.com
990d85f02b Add getFamilyNames to SkTypeface.
Review URL: https://codereview.chromium.org/21716005

git-svn-id: http://skia.googlecode.com/svn/trunk@10589 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 22:53:04 +00:00
skia.committer@gmail.com
ea4b7970b9 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10554 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 07:01:27 +00:00
mtklein@google.com
0d9f5f76f7 old compiler is dumb
BUG=

Review URL: https://codereview.chromium.org/22318002

git-svn-id: http://skia.googlecode.com/svn/trunk@10553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 23:08:19 +00:00
commit-bot@chromium.org
f916f9e7cf revise SkTDynamicHash and add unit tests
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/22292004

git-svn-id: http://skia.googlecode.com/svn/trunk@10552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 22:31:20 +00:00
jvanverth@google.com
2f683ba958 Temporarily disable GpuTestPath.
git-svn-id: http://skia.googlecode.com/svn/trunk@10532 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 14:50:31 +00:00
commit-bot@chromium.org
19dd017a62 Fix a crash on stroking empty paths with nv_path_rendering enabled
Fix the crash by defining that GrPathRenderer::drawPath and
GrPathRenderer::stencilPath are called only with non-empty paths.

Adds a new test "GpuDrawPath" and tests the condition.

BUG=1477
R=bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://chromiumcodereview.appspot.com/22173002

git-svn-id: http://skia.googlecode.com/svn/trunk@10528 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 13:28:55 +00:00
junov@chromium.org
44324fae1c Fixing SkDeferredCanvas::writePixels to trigger appropriate change notifications to SkSurface
BUG=crbug.com/256269
TEST=DeferredCanvas unit test, TestDeferredCanvasWritePixelsToSurface
R=reed@google.com

Review URL: https://codereview.chromium.org/20628005

git-svn-id: http://skia.googlecode.com/svn/trunk@10513 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-02 15:36:02 +00:00
commit-bot@chromium.org
62df526042 Make SkPath::conservativelyContainsRect not assert on paths that begin with repeated moveTos
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/21565002

git-svn-id: http://skia.googlecode.com/svn/trunk@10484 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 15:35:06 +00:00
commit-bot@chromium.org
4d24b747e2 Make SkImage_Gpu share it's pixelref with the surface to prevent premature return to scratch pool.
BUG=crbug.com/263329
TEST=Surface unit test, function Test_crbug263329
R=bsalomon@google.com, reed@google.com

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20354003

git-svn-id: http://skia.googlecode.com/svn/trunk@10378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 23:29:40 +00:00
robertphillips@google.com
9bf380ce7f drawBitmap* cleanup
https://codereview.chromium.org/19977003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 12:10:42 +00:00
skia.committer@gmail.com
5c561cb8d8 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10340 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 07:01:00 +00:00
senorblanco@chromium.org
194d775edc This patch implements a crop rect for SkImageFilter. It has been implemented for SkColorFilterImageFilter and SkBlurImageFilter as examples.
In order to preserve the immutability of SkImageFilters, the crop rect is passed as a constructor parameter. If NULL (the default), the bounds of the input image are used, as before.

This also tightens up the boundary handling for SkImageBlurFilter on the GPU backend. Where we were previously using clamping semantics, we now respect decal semantics (so we don't oversaturate the edges). This brings the GPU and raster backends into closer alignment, but will require some new baselines for the GPU tests.

At a minimum, the following tests will need new baselines: imageblur, imagefiltersbase, imagefilterscropped, spritebitmap.

R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10251

Review URL: https://codereview.chromium.org/19775006

git-svn-id: http://skia.googlecode.com/svn/trunk@10338 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 22:19:24 +00:00
commit-bot@chromium.org
ff36a1d07f Start from scratch on a faster SkFlatDictionary.
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:

Slowdown	bench
-1.59%	desk_youtubetvbrowse.skp
-2.56%	desk_googlehome.skp
-6.40%	tabl_androidpolice.skp
-6.45%	desk_youtubetvvideo.skp
-6.91%	tabl_googlecalendar.skp
...
-29.70%	desk_yahoogames.skp
-32.17%	desk_googlespreadsheet.skp
-32.23%	mobi_wikipedia.skp
-37.16%	desk_chalkboard.skp
-41.57%	desk_pokemonwiki.skp
Overall slowdown: -22.74%

running bench [640 480] picture_record_recurring_paint_dictionary  NONRENDERING: cmsecs =   9.92
running bench [640 480] picture_record_unique_paint_dictionary  NONRENDERING: cmsecs =  22.16
running bench [640 480]  picture_record_dictionaries  NONRENDERING: cmsecs =   9.18

BUG=

Committed: http://code.google.com/p/skia/source/detail?r=10328

R=tomhudson@google.com, reed@google.com, scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19564007

git-svn-id: http://skia.googlecode.com/svn/trunk@10336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 20:37:30 +00:00
mtklein@google.com
5174286bc5 Revert "Start from scratch on a faster SkFlatDictionary."
This reverts commit fec9bfa02d5d2b27bfa2dad3e37e5825a720784d.

git-svn-id: http://skia.googlecode.com/svn/trunk@10331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 19:11:15 +00:00
commit-bot@chromium.org
cae5d8d570 Start from scratch on a faster SkFlatDictionary.
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:

Slowdown	bench
-1.59%	desk_youtubetvbrowse.skp
-2.56%	desk_googlehome.skp
-6.40%	tabl_androidpolice.skp
-6.45%	desk_youtubetvvideo.skp
-6.91%	tabl_googlecalendar.skp
...
-29.70%	desk_yahoogames.skp
-32.17%	desk_googlespreadsheet.skp
-32.23%	mobi_wikipedia.skp
-37.16%	desk_chalkboard.skp
-41.57%	desk_pokemonwiki.skp
Overall slowdown: -22.74%

running bench [640 480] picture_record_recurring_paint_dictionary  NONRENDERING: cmsecs =   9.92
running bench [640 480] picture_record_unique_paint_dictionary  NONRENDERING: cmsecs =  22.16
running bench [640 480]  picture_record_dictionaries  NONRENDERING: cmsecs =   9.18

BUG=
R=tomhudson@google.com, reed@google.com, scroggo@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19564007

git-svn-id: http://skia.googlecode.com/svn/trunk@10328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:45:27 +00:00
jvanverth@google.com
588f3d3896 Change double constants to floats.
git-svn-id: http://skia.googlecode.com/svn/trunk@10327 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:44:10 +00:00
commit-bot@chromium.org
08284e4d24 Add basic SVD support to SkMatrix. Allows you to pull out the x- and y-scale factors, sandwiched by two rotations.
R=reed@google.com

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/19569007

git-svn-id: http://skia.googlecode.com/svn/trunk@10322 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:08:08 +00:00
sglez@google.com
586db93c44 refactor duplication (shouldSkip and skip_name) into a utility function
R=caryclark@google.com, reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10280

Review URL: https://codereview.chromium.org/19807005

git-svn-id: http://skia.googlecode.com/svn/trunk@10317 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 17:24:23 +00:00
reed@google.com
2c38fed29d use sk_bzero to init level, since I got the number of 0s wrong using { }
git-svn-id: http://skia.googlecode.com/svn/trunk@10308 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 14:55:00 +00:00
robertphillips@google.com
58c856a54a Reverting r10251 (Implement crop rect for SkImageFilter) due to Chromium-side unit test failures
git-svn-id: http://skia.googlecode.com/svn/trunk@10304 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 13:18:06 +00:00
skia.committer@gmail.com
7f1af501f2 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10299 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 07:01:12 +00:00
commit-bot@chromium.org
a7aa810894 Deterministic SkTSet and PDF Output
Addresses this issue: https://code.google.com/p/skia/issues/detail?id=1277

R=edisonn@google.com, vandebo@chromium.org

Author: richardlin@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19283005

git-svn-id: http://skia.googlecode.com/svn/trunk@10298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 01:51:08 +00:00
commit-bot@chromium.org
70d75ca764 Add SkChecksum::Murmur3.
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/19500020

git-svn-id: http://skia.googlecode.com/svn/trunk@10292 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 20:25:34 +00:00
reed@google.com
0e66162161 fix signed/unsigned warning
git-svn-id: http://skia.googlecode.com/svn/trunk@10287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 19:27:48 +00:00
reed@google.com
602a1d7025 add scaledimagecache
BUG=

Review URL: https://codereview.chromium.org/20005003

git-svn-id: http://skia.googlecode.com/svn/trunk@10286 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 19:13:54 +00:00
epoger@google.com
ed5eb4ef2a Revert r10280, which caused https://code.google.com/p/skia/issues/detail?id=1441
Review URL: https://codereview.chromium.org/19537005

git-svn-id: http://skia.googlecode.com/svn/trunk@10284 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:56:20 +00:00
sglez@google.com
434251f872 refactor duplication (shouldSkip and skip_name) into a utility function
R=caryclark@google.com, reed@google.com

Review URL: https://codereview.chromium.org/19807005

git-svn-id: http://skia.googlecode.com/svn/trunk@10280 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:26:34 +00:00
caryclark@google.com
4fdbb22964 turn off debugging printfs
fix pathops issues 1417, 1418

be more rigorous about pulling intersections of lines to end points
rewrite cubic/line and quad/line intersections to share style

BUG=

Review URL: https://codereview.chromium.org/19543005

git-svn-id: http://skia.googlecode.com/svn/trunk@10270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 15:27:41 +00:00
commit-bot@chromium.org
3e2ea2565d I don't want these changes as part of the "allow bleeding" CL.
R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/19842002

git-svn-id: http://skia.googlecode.com/svn/trunk@10256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 11:28:45 +00:00
skia.committer@gmail.com
6ae6383f56 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10254 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 07:01:05 +00:00
reed@google.com
9cfc83cc8a stop using bitmap-filter flags outside of paint itself, as a step towards really changing them into an enum
BUG=

Review URL: https://codereview.chromium.org/19825002

git-svn-id: http://skia.googlecode.com/svn/trunk@10240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 17:18:18 +00:00
bungeman@google.com
c29f3d8c6d Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

Committed: https://code.google.com/p/skia/source/detail?r=10178

Review URL: https://codereview.chromium.org/19677002

git-svn-id: http://skia.googlecode.com/svn/trunk@10218 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 22:32:11 +00:00
bungeman@google.com
88682b77d1 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=10171

Review URL: https://codereview.chromium.org/19677002

git-svn-id: http://skia.googlecode.com/svn/trunk@10178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 13:55:41 +00:00
skia.committer@gmail.com
a79919883e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 07:00:57 +00:00
robertphillips@google.com
6eee5c3ec4 Revert r10171 due to test failure in StreamTest
git-svn-id: http://skia.googlecode.com/svn/trunk@10172 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 23:59:16 +00:00
bungeman@google.com
eacb54e174 Add a detachAsStream to SkDynamicMemoryWStream.
R=reed@google.com

Review URL: https://codereview.chromium.org/19677002

git-svn-id: http://skia.googlecode.com/svn/trunk@10171 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 22:27:21 +00:00
reed@google.com
9a47ed785f use { 0, 0, 0, 0 } to fix warning
git-svn-id: http://skia.googlecode.com/svn/trunk@10167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:48:06 +00:00
reed@google.com
7437bfb9fa init prevLevel to avoid warning
git-svn-id: http://skia.googlecode.com/svn/trunk@10166 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:20:10 +00:00
scroggo@google.com
826d63af97 Add test to ensure buildTileIndex stores SkStream.
PNG fails this test without https://codereview.chromium.org/19185006/

R=djsollen@google.com

Review URL: https://codereview.chromium.org/19555004

git-svn-id: http://skia.googlecode.com/svn/trunk@10163 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 20:06:28 +00:00
reed@google.com
eed6f1b76b pull mipmap class into its own (private) header
BUG=
R=scroggo@google.com

Review URL: https://codereview.chromium.org/19462007

git-svn-id: http://skia.googlecode.com/svn/trunk@10161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:53:31 +00:00
scroggo@google.com
f698c8262d Allow decoding JPEG into A8.
If the original image is grayscale, allow decoding into A8.

Change the size of PrefConfigTable to allow for 8bit gray, a new source config.

Add a new sampler to SkScaledBitmapSampler to 'convert' to A8.

FIXME: Should there be a dithered option for gray scale?

R=reed@google.com

Review URL: https://codereview.chromium.org/18083026

git-svn-id: http://skia.googlecode.com/svn/trunk@10157 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-18 19:34:49 +00:00
commit-bot@chromium.org
fd03d4a829 Replace all instances of GrRect with SkRect.
And remove the typedef in GrRect.h. The same with GrIRect.

R=robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19449002

git-svn-id: http://skia.googlecode.com/svn/trunk@10130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 21:39:42 +00:00
skia.committer@gmail.com
eebe6f4a59 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-17 07:01:13 +00:00
commit-bot@chromium.org
50df631486 NIT MASTER 9000
fixed nits

BUG=
R=robertphillips@google.com

Author: dierk@google.com

Review URL: https://chromiumcodereview.appspot.com/19394004

git-svn-id: http://skia.googlecode.com/svn/trunk@10112 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 18:34:14 +00:00
commit-bot@chromium.org
b92f9fb0f5 More PathUtilsTest.cpp nits
Reordered the includes, changed define to a constant global var.





more PathUtils Nits

BUG=
R=robertphillips@google.com, tfarina@chromium.org

Author: dierk@google.com

Review URL: https://chromiumcodereview.appspot.com/19272014

git-svn-id: http://skia.googlecode.com/svn/trunk@10110 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 17:39:08 +00:00
commit-bot@chromium.org
40f960edc0 Fixed PathUtils nits.
Fixed PathUtils nits

BUG=
R=robertphillips@google.com

Author: dierk@google.com

Review URL: https://chromiumcodereview.appspot.com/19392002

git-svn-id: http://skia.googlecode.com/svn/trunk@10108 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 16:36:47 +00:00
caryclark@google.com
8d0a524a48 harden and speed up path op unit tests
PathOps tests internal routines direcctly. Check to make sure that
test points, lines, quads, curves, triangles, and bounds read from
arrays are valid (i.e., don't contain NaN) before calling the
test function.

Repurpose the test flags.
- make 'v' verbose test region output against path output
- make 'z' single threaded (before it made it multithreaded)

The latter change speeds up tests run by the buildbot by 2x to 3x.

BUG=

Review URL: https://codereview.chromium.org/19374003

git-svn-id: http://skia.googlecode.com/svn/trunk@10107 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 16:11:16 +00:00
skia.committer@gmail.com
977409aceb Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10096 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 07:00:56 +00:00
caryclark@google.com
5ec2b1ee8a call newOneOff instead of oneOff
calling the latter instead of the former walked off the end of the
array causing mysterious bugs

TODO: safeguard against NaNs in the input

BUG=

Review URL: https://codereview.chromium.org/19280002

git-svn-id: http://skia.googlecode.com/svn/trunk@10093 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 20:50:24 +00:00
bungeman@google.com
7bdd614a19 Implement onCountGlyphs and onGetUPEM on Windows.
R=vandebo@chromium.org

Review URL: https://codereview.chromium.org/19231003

git-svn-id: http://skia.googlecode.com/svn/trunk@10089 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 19:42:57 +00:00
robertphillips@google.com
b4a2855b66 Fix build error
git-svn-id: http://skia.googlecode.com/svn/trunk@10086 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 17:33:57 +00:00
robertphillips@google.com
226d508539 PathUtilsTest valgrind patch
https://codereview.chromium.org/18401005/



git-svn-id: http://skia.googlecode.com/svn/trunk@10085 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 17:16:48 +00:00
robertphillips@google.com
8dcea7dcf9 Fix compiler warning/error in r10079
git-svn-id: http://skia.googlecode.com/svn/trunk@10081 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 15:38:55 +00:00
caryclark@google.com
3dd2784cb7 add florin tests
hopefully fix build

BUG=

Review URL: https://codereview.chromium.org/19183005

git-svn-id: http://skia.googlecode.com/svn/trunk@10079 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 15:00:58 +00:00
caryclark@google.com
791d0de747 fix linux point compare
fix linux pt compare

BUG=

Review URL: https://codereview.chromium.org/19203002

git-svn-id: http://skia.googlecode.com/svn/trunk@10076 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 14:21:17 +00:00
commit-bot@chromium.org
2d3b492013 Remove possiblity of NULL effect in GrEffectStage
R=jvanverth@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/18295008

git-svn-id: http://skia.googlecode.com/svn/trunk@10075 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 13:54:06 +00:00
caryclark@google.com
fa2aeee27a path ops near exact
Modify line intersections to first
- match exact ends
- compute intersections
- match near ends
where the exact ends are preferred, then near matches, then
computed matches. This pulls matches towards existing end points
when possible, and keeps intersection distances consistent with
different line/line line/quad and line/cubic computations.

BUG=

Review URL: https://codereview.chromium.org/19183003

git-svn-id: http://skia.googlecode.com/svn/trunk@10073 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-15 13:29:13 +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
humper@google.com
9c96d4b5ff fix trivial matrix computation
Revert "Reverted 10056-10059"

This reverts commit bab4ebcaa7270c3b866a8e10917c39b055ebd51a.

Fix broken GM test, reintroduce image scaling.

BUG=

Review URL: https://codereview.chromium.org/18721006

git-svn-id: http://skia.googlecode.com/svn/trunk@10066 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-14 01:44:59 +00:00
robertphillips@google.com
7e4d99acef More valgrind suppressions
git-svn-id: http://skia.googlecode.com/svn/trunk@10065 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-13 19:50:40 +00:00
robertphillips@google.com
0408a34696 More valgrind suppressions
git-svn-id: http://skia.googlecode.com/svn/trunk@10061 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-13 17:11:59 +00:00
robertphillips@google.com
d647426714 Reverted 10056-10059
git-svn-id: http://skia.googlecode.com/svn/trunk@10060 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-13 15:37:25 +00:00
skia.committer@gmail.com
fa1bd5f86c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10059 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-13 07:00:56 +00:00
robertphillips@google.com
400798ad85 Fix valgrind suppressions file
git-svn-id: http://skia.googlecode.com/svn/trunk@10054 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 19:58:37 +00:00
robertphillips@google.com
4d37673739 Fix leak in SkAutoSTArray
https://codereview.chromium.org/18915010/



git-svn-id: http://skia.googlecode.com/svn/trunk@10053 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 18:44:23 +00:00
bungeman@google.com
f5cc5b140c R=mtklein@google.com
Review URL: https://codereview.chromium.org/18503009

git-svn-id: http://skia.googlecode.com/svn/trunk@10050 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 18:22:49 +00:00
robertphillips@google.com
cfe8aa6f56 More valgrind suppressions
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10048 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 17:29:30 +00:00
robertphillips@google.com
2cab8f7573 More valgrind suppressions
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10031 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 23:49:56 +00:00
robertphillips@google.com
49c6b43812 More valgrind suppressions
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@9951 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 13:38:33 +00:00
commit-bot@chromium.org
fe433c1370 When gather pixel refs was broken, REPORTER_ASSERT(data) realized that data was NULL, but subsequent lines dereferenced it anyway, and so segfaulted.
R=reed@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18904003

git-svn-id: http://skia.googlecode.com/svn/trunk@9933 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 16:04:32 +00:00
robertphillips@google.com
cb6d97ca71 Revert of r9902 (Consider conical shader opaque if it covers
entire plane - https://chromiumcodereview.appspot.com/18533006) due to roll issues (https://codereview.chromium.org/18859007/)



git-svn-id: http://skia.googlecode.com/svn/trunk@9926 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 13:50:09 +00:00
robertphillips@google.com
5d367c455c More valgrind suppressions
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@9923 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 12:51:58 +00:00
skia.committer@gmail.com
a4aced4728 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9919 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-09 07:00:56 +00:00
robertphillips@google.com
d7a1eea159 More valgrind suppressions
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@9909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-08 17:26:07 +00:00
caryclark@google.com
07e97fccd2 path ops work in progress
BUG=

Review URL: https://codereview.chromium.org/18058007

git-svn-id: http://skia.googlecode.com/svn/trunk@9908 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-08 17:17:02 +00:00
commit-bot@chromium.org
5e6c3557f8 Consider conical shader opaque if it covers entire plane.
BUG=222380
R=junov@chromium.org, senorblanco@chromium.org, reed@google.com

Author: arbesfeld@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18533006

git-svn-id: http://skia.googlecode.com/svn/trunk@9902 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-04 14:42:26 +00:00
robertphillips@google.com
9c4c3de53c valgrind suppressions for tests & gm
https://codereview.chromium.org/18332016/



git-svn-id: http://skia.googlecode.com/svn/trunk@9889 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:39:10 +00:00
robertphillips@google.com
491493119c Add canFilterMaskGPU & filterMaskGPU to SkMaskFilter
https://codereview.chromium.org/18110012/



git-svn-id: http://skia.googlecode.com/svn/trunk@9888 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 15:34:35 +00:00
skia.committer@gmail.com
98a196770c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9882 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-03 07:00:57 +00:00
commit-bot@chromium.org
738e02c6f8 Update tests valgrind suppressions
R=borenet@google.com

Author: robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/18510005

git-svn-id: http://skia.googlecode.com/svn/trunk@9871 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 17:40:22 +00:00
reed@google.com
c3eb56db6b use if (false) instead of #ifdef to avoid unused code warning
git-svn-id: http://skia.googlecode.com/svn/trunk@9861 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 14:01:23 +00:00
reed@google.com
bcb42aecf1 add charsToGlyphs to SkTypeface
Will disable new unittest until all backends are implemented.

On Mac, new API is 4x faster than old paint one, so next CL I will reimplement the paint calls in terms of the new typeface call.

R=eae@chromium.org

Review URL: https://codereview.chromium.org/18083023

git-svn-id: http://skia.googlecode.com/svn/trunk@9860 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 13:56:39 +00:00
skia.committer@gmail.com
0d55dd7d2c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9856 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-02 07:00:59 +00:00
robertphillips@google.com
f8846504c7 Yet another fix for Win7 compiler errors/warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@9854 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-01 23:47:44 +00:00
dierk@google.com
a950551018 Fixed non-constant array size in test.
Merge remote-tracking branch 'refs/remotes/git-svn'

Fixed non-constant array size in test.

Merge remote-tracking branch 'refs/remotes/git-svn'

fixed SkPathUtils.cpp:78

Fixed PathUtils.cpp:90

Fixed the float being passed to an int method

Fixed the bugs that crashed the build bots

git-svn-id: http://skia.googlecode.com/svn/trunk@9848 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-01 20:36:31 +00:00
commit-bot@chromium.org
064779aa18 Adding my Bitmap2Path sample for 1on1 meeting.
BUG=
R=reed@google.com, borenet@google.com

Author: dierk@google.com

Review URL: https://chromiumcodereview.appspot.com/16829003

git-svn-id: http://skia.googlecode.com/svn/trunk@9843 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-01 17:50:29 +00:00
skia.committer@gmail.com
a6ff36bd61 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9826 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-29 07:03:21 +00:00
scroggo@google.com
f1754ec691 Replace SkPicture(SkStream) constructors with a factory.
SkPicture:
Remove the constructors which take an SkStream as an argument. Rather
than having to check a variable for success, the factory will return
NULL on failure.
Add a protected function for determining if an SkStream is an SKP
to share code with SkTimedPicture.
In the factory, check for a NULL SkStream.
Use a default decoder (from BUG:
https://code.google.com/p/skia/issues/detail?id=1325)

SkDebuggerGUI:
Call SkPicture::CreateFromStream when necessary.
Write a factory for creating SkTimedPictures and use it.

Use the factory throughout tools.

Add include/lazy to utils and effects gyp include_dirs so SkPicture.h
can reference SkImageDecoder.h which references SkBitmapFactory.h (in
include/lazy).

Changes code Chromium uses, so this will require a temporary Skia
and then a change to Chromium to use the new Skia code.

TODO: Create a decoder that does nothing to be used by pinspect,
lua pictures, etc, and allow it to not assert in SkOrderedReadBuffer.

R=reed@google.com

Review URL: https://codereview.chromium.org/17113004

git-svn-id: http://skia.googlecode.com/svn/trunk@9822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 21:32:00 +00:00
reed@google.com
60d3235ab4 add bitmap::eraseArea
BUG=
R=scroggo@google.com

Review URL: https://codereview.chromium.org/18029021

git-svn-id: http://skia.googlecode.com/svn/trunk@9815 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 19:40:50 +00:00
reed@google.com
2cb1480ff8 remove kRLE_Index8_Config from SkBitmap
BUG=
R=djsollen@google.com

Review URL: https://codereview.chromium.org/17740003

git-svn-id: http://skia.googlecode.com/svn/trunk@9764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 14:35:02 +00:00
robertphillips@google.com
8fd160350c Revert r9724 (add rect-output parameter to isRect) to allow the DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@9750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-25 15:39:58 +00:00
skia.committer@gmail.com
020b25becb Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-22 07:00:58 +00:00
reed@google.com
ea33808d32 remove dead AutoValidator
git-svn-id: http://skia.googlecode.com/svn/trunk@9729 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 19:05:57 +00:00
reed@google.com
6ba4572eed remove dst/rendertarget support for kARGB_4444_Config
BUG=

Review URL: https://codereview.chromium.org/17335008

git-svn-id: http://skia.googlecode.com/svn/trunk@9727 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 18:30:53 +00:00
reed@google.com
da2b21fa9b add rect-output parameter to isRect, allowing us to return the correct bounds even if a rectagular path has a trailing moveTo
https://code.google.com/p/chromium/issues/detail?id=247770

R=caryclark@google.com

Review URL: https://codereview.chromium.org/16950021

git-svn-id: http://skia.googlecode.com/svn/trunk@9724 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 17:32:32 +00:00
bungeman@google.com
a5809a3e4c SkPath::rewind needs to have same reset as SkPath::reset.
R=caryclark@google.com, reed@google.com

Review URL: https://codereview.chromium.org/17432003

git-svn-id: http://skia.googlecode.com/svn/trunk@9718 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 15:13:34 +00:00
reed@google.com
6757a3c71f combine glyph and image bulk alloc, and adjust initial alloc size, to reduce total waste from 50% to 30%
add diagnostics to measure cache efficiency

BUG=

Review URL: https://codereview.chromium.org/17449012

git-svn-id: http://skia.googlecode.com/svn/trunk@9691 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 19:25:36 +00:00
epoger@google.com
d88a3d8336 Add SkString::appendU32() and SkString::appendU64()
as needed to re-land r9682

R=reed@google.com

Review URL: https://codereview.chromium.org/17448012

git-svn-id: http://skia.googlecode.com/svn/trunk@9686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 18:27:20 +00:00
commit-bot@chromium.org
1f7928663f Refactor: clean up some unused or mostly-unused API I saw here.
BUG=
R=bungeman@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/17414003

git-svn-id: http://skia.googlecode.com/svn/trunk@9668 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 20:50:34 +00:00
caryclark@google.com
d892bd8ba6 convert pathops to use SkSTArray where possible.
Replace SkTDArray with SkTArray and use SkSTArray when
the probable array size is known.

In a couple of places (spans, chases) the arrays are
constructed using insert() so SkTArrays can't be used for
now.

Also, add an optimization to cubic subdivide if either end
is zero or one.

BUG=

Review URL: https://codereview.chromium.org/16951017

git-svn-id: http://skia.googlecode.com/svn/trunk@9635 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-17 14:10:36 +00:00
scroggo@google.com
daaea2d51f Fixes for unpremul decode.
SkImageDecoder_CG.cpp:
If a non opaque bitmap was decoded, and the caller wants
unpremultiplied, unpremultiply the colors.

Always use the RGB colorspace, since the other colorspaces
do not match the desired bitmap format.

ImageDecodingTest:
Allow for a difference of 1 in each color component when comparing
the result of premultiplying the unpremultiplied decode with the
premultiplied decode, since I found an image (in WEBP format) where
the unpremultiplied colors did not compare perfectly in my comparison.

R=reed@google.com

Review URL: https://codereview.chromium.org/17084012

git-svn-id: http://skia.googlecode.com/svn/trunk@9628 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-14 20:39:48 +00:00
scroggo@google.com
2bbc2c945b Add an option to create unpremultiplied bitmaps.
Currently they cannot be used directly by Skia, but
the pixels can be used elsewhere.

SkImageDecoder:
Add functions to require unpremultiplied output
and query the presence of the requirement

SkImageDecoder_libpng:
SkImageDecoder_libwebp:
SkImageDecoder_WIC:
Respect the requirement for unpremultiplied output.
TODO: Fix SkImageDecoder_CG.

SkScaledBitmapSampler:
Add procs to skip premultiplication and a boolean
parameter to use those procs.

ImageDecodingTest:
Test unpremultiplied bitmap decoding.

SampleUnpremul:
Add a sample which allows visually comparing between the
unpremultiplied version (copied into a premultiplied bitmap,
since drawing unpremultiplied is not currently supported)
and a premultiplied version of image files.

gm.h:
Add a getter for the resource path, so Samples can use it.

As of patch set 13, https://codereview.chromium.org/16816016/
and https://codereview.chromium.org/16983004/, which were
approved separately.

R=reed@google.com

Review URL: https://codereview.chromium.org/16410009

git-svn-id: http://skia.googlecode.com/svn/trunk@9612 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-14 15:33:20 +00:00
bsalomon@google.com
eb6879f50a Replace fixed-size array of effect stages in GrDrawState with two appendable arrays, one for color, one for coverage.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/16952006

git-svn-id: http://skia.googlecode.com/svn/trunk@9592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-13 19:34:18 +00:00
commit-bot@chromium.org
6fbe54c663 Compact the clipstack for kReplace_Op'd geometry
When adding a clip rect or clip path to the stack with the
kReplace_Op operation, remove all previous elements within the
same save frame (elements with fSaveCount equal to the current
fSaveCount of the stack). This prevents unbounded growth of the
clipstack for long-lived instances that gets reused.

Addresses https://code.google.com/p/skia/issues/detail?id=748

R=robertphillips@google.com

Author: fs@opera.com

Review URL: https://chromiumcodereview.appspot.com/16160020

git-svn-id: http://skia.googlecode.com/svn/trunk@9502 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-11 11:01:48 +00:00
scroggo@google.com
99d43ffcfb Fix for caller of GetTmpDir.
Since I changed GetTmpDir to create an SkString each time, it
needs to be assigned to a variable in order for it to stick around.
Update a test which I missed because my client was out of date.

Review URL: https://codereview.chromium.org/15719006

git-svn-id: http://skia.googlecode.com/svn/trunk@9475 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-07 14:30:36 +00:00
bsalomon@google.com
2c84aa3598 separate arrays for color and coverage effects.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/16180006

git-svn-id: http://skia.googlecode.com/svn/trunk@9465 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-06 20:28:57 +00:00
scroggo@google.com
c76218d5ed Fix bug in setting directories for tests.
make_canonical_dir_path only worked if the provided directory
did not end with a slash. Remove this function, and call
SkPathJoin instead. Update the documentation to acknowledge
that this is an acceptable use of SkPathJoin, and update its
test.

R=epoger@google.com

Review URL: https://codereview.chromium.org/16098011

git-svn-id: http://skia.googlecode.com/svn/trunk@9458 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-06 14:59:56 +00:00
skia.committer@gmail.com
8f6ef4010f Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9440 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-05 07:01:06 +00:00
caryclark@google.com
20d5461df7 path ops -- try to fix build again
Review URL: https://codereview.chromium.org/15994019

git-svn-id: http://skia.googlecode.com/svn/trunk@9434 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 18:30:02 +00:00
caryclark@google.com
4b66f367b4 path ops work in progress
do not check in

Review URL: https://codereview.chromium.org/14865019

git-svn-id: http://skia.googlecode.com/svn/trunk@9433 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 18:14:11 +00:00
caryclark@google.com
cffbcc3b96 path ops -- rewrite angle sort
This is a major change resulting from a minor
tweak. In the old code, the intersection point
of two curves was shared between them, but the
intersection points and end points of sorted edges was
computed directly from the intersection T value.

In this CL, both intersection points and sorted points
are the same, and intermediate control points are computed
to preserve their slope.

The sort itself has been completely rewritten to be more
robust and remove 'magic' checks, conditions that empirically
worked but couldn't be rationalized.

This CL was triggered by errors generated computing the clips
of SKP files. At this point, all 73M standard tests work and
at least the first troublesome SKPs work.

Review URL: https://codereview.chromium.org/15338003

git-svn-id: http://skia.googlecode.com/svn/trunk@9432 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 17:59:42 +00:00
skia.committer@gmail.com
11f2b44450 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9423 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-04 07:00:53 +00:00
bungeman@google.com
11c9a55afd Add SkData::NewFromFD.
Chromium needs a SkStream backed by a file descriptor.
Skia already has the code and can do the work, this change exposes the
functionality in Skia in a clean way.

https://codereview.chromium.org/15941025/


git-svn-id: http://skia.googlecode.com/svn/trunk@9408 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-03 17:10:35 +00:00
reed@google.com
277c3f8765 bump picture version since SkPath has changed (conics)
enable conics in SkPath

git-svn-id: http://skia.googlecode.com/svn/trunk@9370 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 15:17:50 +00:00
reed@google.com
fa2f2a48f6 Revert "add asserts to point<-->verb helpers"
This reverts commit b4775ac7b55802e87231768f002e4b42f233b0aa.

git-svn-id: http://skia.googlecode.com/svn/trunk@9347 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 15:29:48 +00:00
reed@google.com
7950a9eba7 add asserts to point<-->verb helpers
patch from issue 16153005

BUG=

Review URL: https://codereview.chromium.org/16195004

git-svn-id: http://skia.googlecode.com/svn/trunk@9344 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 14:57:55 +00:00
bungeman@google.com
6cab1a4b6a Change SkStream.
https://codereview.chromium.org/15298009/


git-svn-id: http://skia.googlecode.com/svn/trunk@9312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:43:31 +00:00
robertphillips@google.com
0a4805e33f First pass at Comment API
https://codereview.chromium.org/13957009/



git-svn-id: http://skia.googlecode.com/svn/trunk@9310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:24:23 +00:00
junov@chromium.org
66070a527c Changing SkDeferredCanvas to use factories for creation
The objective of this change is to remove all calls to 
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.

A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack.  This changes nothing for chrome, but it
impacts skia test programs.

Review URL: https://codereview.chromium.org/16040002

git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 17:39:08 +00:00
scroggo@google.com
ccd7afb6fb Reland 'Add path utils, plus a test for it.'
Build SkPathJoin and SkBasename on windows also.

Previous CL did not build on Windows because the two functions were
accidentally placed inside an ifdef that did not include windows.
Move the functions to the top of the file, and add a comment by the
endif for clarity.

Previously reviewed at https://codereview.chromium.org/15747004/

Review URL: https://codereview.chromium.org/15740024

git-svn-id: http://skia.googlecode.com/svn/trunk@9295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 16:45:07 +00:00
scroggo@google.com
dbbcaa8983 Revert "Add path utils, plus a test for it."
This reverts commit d172374b46cae0bd5d7c024b9848f5bdafcc6a16.

This CL broke on Windows.

Review URL: https://codereview.chromium.org/15986004

git-svn-id: http://skia.googlecode.com/svn/trunk@9278 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:28:57 +00:00
scroggo@google.com
1bee037044 Add path utils, plus a test for it.
SkOSFile:
Added class SkOSPath with functions for
modifying strings representing path names.

OSPathTest.cpp:
Test of the new utilities.

factory.cpp:
Use SkPathJoin.

gmmain and gm_expectations:
Use SkOSPath::SkPathJoin instead of a local version.

skimage_main.cpp:
Use the new location of SkPathJoin and SkBasename.

R=epoger@google.com

Review URL: https://codereview.chromium.org/15747004

git-svn-id: http://skia.googlecode.com/svn/trunk@9277 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 18:12:17 +00:00
junov@chromium.org
7070f76b90 Adding setSurface public API method to SkDeferredCanvas
The purpose of this change is to provide an API that Blink 2D canvas layers can use
to install a new render target when recovering from a lost graphics context.

Review URL: https://codereview.chromium.org/15896005

git-svn-id: http://skia.googlecode.com/svn/trunk@9276 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 17:13:00 +00:00
epoger@google.com
d4993ff360 GM: create GmResultDigest that encapsulates digest type ("bitmap-64bitMD5") and value (12345)
R=scroggo@google.com

Review URL: https://codereview.chromium.org/15883004

git-svn-id: http://skia.googlecode.com/svn/trunk@9271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 14:33:28 +00:00
bsalomon@google.com
2db3ded335 Make GrGLProgramDesc's key variable length by compacting the effect key array
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/15252004

git-svn-id: http://skia.googlecode.com/svn/trunk@9239 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 14:34:04 +00:00
reed@google.com
25b3bd58df add kBicubicFilterBitmap_Flag to paint, just for testing purposes.
BUG=

Review URL: https://codereview.chromium.org/15553005

git-svn-id: http://skia.googlecode.com/svn/trunk@9236 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 13:55:54 +00:00
commit-bot@chromium.org
8f838259ab Add methods to SkLayerDrawLooper to allow adding layers on top
as well as on the bottom.

This is more convenient for some callers who generate layers
from a data structure in bottom-to-top, rather than top-to-bottom,
order.

BUG=242529
R=tomhudson@chromium.org

Author: jbroman@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15314003

git-svn-id: http://skia.googlecode.com/svn/trunk@9233 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 12:35:50 +00:00
scroggo@google.com
1b1bcc3cea New API for encoding bitmaps during serialization.
This change gives more flexibility to the implementation of
EncodeBitmap to prefer calling refEncodedData, doing its own
encode, or even doing both and making a decision about which
to use.

The new function signature also allows the implementation to
tell the ordered write buffer whether to store the pixel offset,
in the case where the encoded bitmap represents the larger
bitmap, or to ignore the pixel offset, in the case where the
implementation only encoded the subset that is used.

Requires changes to chromium to use the new function signature.
(https://codereview.chromium.org/15496006/)

SkPicture:
New API for EncodeBitmap.

SkOrderedReadBuffer:
Ifdef'd out addition of reading the offset.

SkOrderedWriteBuffer:
Never call refEncodedData. Allow the user to call that from their
EncodeBitmap function, if desired.
This addresses https://code.google.com/p/skia/issues/detail?id=1239
Add in ifdef'd out code to record the offset.

PictureTest and PictureRenderer:
Implement the new definition of EncodeBitmap. Also update the name
of the function to meet coding style guidelines.

BUG=https://code.google.com/p/skia/issues/detail?id=1239
R=reed@google.com

Review URL: https://codereview.chromium.org/15489004

git-svn-id: http://skia.googlecode.com/svn/trunk@9226 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 20:31:23 +00:00
junov@chromium.org
b1c725a108 Fixing deferred canvases so that they do not return deferred devices on createCompatibleDevice
TEST= DeferredCanvas unit test.

Review URL: https://codereview.chromium.org/15594004

git-svn-id: http://skia.googlecode.com/svn/trunk@9224 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 20:16:17 +00:00
skia.committer@gmail.com
845220b817 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9189 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-20 11:51:35 +00:00
bsalomon@google.com
20f7f173e0 One SkTSearch to rule them all. Allow key to be of different type than the array.
R=bungeman@google.com

Review URL: https://codereview.chromium.org/15070011

git-svn-id: http://skia.googlecode.com/svn/trunk@9182 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-17 19:05:03 +00:00
robertphillips@google.com
83d1a68141 Add special handling of rectori case for gpu
https://codereview.chromium.org/15080010/



git-svn-id: http://skia.googlecode.com/svn/trunk@9175 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-17 12:50:27 +00:00
bsalomon@google.com
b515881446 Key shader on whether frag pos read is relative to top-left or bottom-left
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/14633007

git-svn-id: http://skia.googlecode.com/svn/trunk@9113 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-13 18:50:25 +00:00
epoger@google.com
4a8084ced3 Revert r9081
Review URL: https://codereview.chromium.org/14773022

git-svn-id: http://skia.googlecode.com/svn/trunk@9082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 20:01:26 +00:00
epoger@google.com
3a8d3d06ea add SkString::append(const char c)
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/14813013

git-svn-id: http://skia.googlecode.com/svn/trunk@9081 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 19:37:41 +00:00
commit-bot@chromium.org
8d47ddc19a Make GrGLShaderBuilder check whether GrEffect advertised that it would require the dst color or fragment position
R=senorblanco@chromium.org, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://chromiumcodereview.appspot.com/14998007

git-svn-id: http://skia.googlecode.com/svn/trunk@9074 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 14:55:46 +00:00
bsalomon@google.com
504976ef6f Move loops that chain together effects into GrGLShaderBuilder from GrGLProgram.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/14925010

git-svn-id: http://skia.googlecode.com/svn/trunk@9073 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-09 13:45:02 +00:00
reed@google.com
3eff3592ac need to clamp all of the cubic points after a chop, in case our finite precision
meant we didn't compute values below the chop-point.

crbug:234190

R=caryclark@google.com

Review URL: https://codereview.chromium.org/14607012

git-svn-id: http://skia.googlecode.com/svn/trunk@9071 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 21:08:21 +00:00
epoger@google.com
2a9a8bec45 fix BitmapHasher unittest failure as of r9064
git-svn-id: http://skia.googlecode.com/svn/trunk@9066 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 16:24:05 +00:00
epoger@google.com
0a117be391 Re-land r9059 with empty cityhash.gyp, instead of deleted cityhash.gyp
R=rmistry@google.com

Review URL: https://codereview.chromium.org/15060008/



git-svn-id: http://skia.googlecode.com/svn/trunk@9064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 16:04:02 +00:00
junov@chromium.org
d575eed354 Fix behavior of SkPicture::kUsePathBoundsForClip_RecordingFlag to handle inverse fills and all clip ops correctly.
BUG=crbug.com/229011
TEST=Picture unit test + complexclip* GMs

Review URL: https://codereview.chromium.org/14820021

git-svn-id: http://skia.googlecode.com/svn/trunk@9063 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 15:39:13 +00:00
epoger@google.com
e8d08a0fc2 Roll out r9059 to unbreak bots
git-svn-id: http://skia.googlecode.com/svn/trunk@9060 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 15:22:36 +00:00
epoger@google.com
aaf7343e16 Remove third-party cityhash, unused since r8992
R=djsollen@google.com

Review URL: https://codereview.chromium.org/15027013

git-svn-id: http://skia.googlecode.com/svn/trunk@9059 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 14:49:50 +00:00
skia.committer@gmail.com
2b34fe01d7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9051 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-08 07:01:40 +00:00
caryclark@google.com
a5e55925ea path ops -- fix skp bugs
This fixes a series of bugs discovered by running
the small set of Skia skp files through pathops
to flatten the clips.
Review URL: https://codereview.chromium.org/14798004

git-svn-id: http://skia.googlecode.com/svn/trunk@9042 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 18:51:31 +00:00
commit-bot@chromium.org
66f5aaad90 Check whether font creation is failed to avoid segment fault.
In some rare cases, SkFontHost::CreateTypeface in src/ports/SkFontHost_fontconfig.cpp will return NULL, this will lead to segment fault because the previous code would access to 0x0 by (SkTypeface *)NULL->unref().
 
BUG=
R=reed@google.com, bungeman@google.com

Author: yunchao.he@intel.com

Review URL: https://chromiumcodereview.appspot.com/14907005

git-svn-id: http://skia.googlecode.com/svn/trunk@9034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 14:32:58 +00:00
junov@chromium.org
279627efc5 reverting 9031
git-svn-id: http://skia.googlecode.com/svn/trunk@9033 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 14:11:40 +00:00
junov@chromium.org
0962ae1fbc Fix SkPicture path bound optimization to handle inverse filled paths.
BUG=crbug.com/229011
TEST=Picture unit test

Review URL: https://codereview.chromium.org/14819008

git-svn-id: http://skia.googlecode.com/svn/trunk@9031 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-07 13:26:18 +00:00
reed@google.com
fcc9ca09a5 by hook or by crook, force gcc to return the value of SkPoint::length() to actually be a float
instead of a double. Otherwise we can't properly test for overflow with large values.

R=robertphillips@google.com

Review URL: https://codereview.chromium.org/14884011

git-svn-id: http://skia.googlecode.com/svn/trunk@9015 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-06 15:59:51 +00:00
skia.committer@gmail.com
ecc9d28072 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9002 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-04 07:01:15 +00:00
reed@google.com
dc9cdf8d49 add (temporary) diagnostic code for normalize test
git-svn-id: http://skia.googlecode.com/svn/trunk@8994 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 18:11:00 +00:00
reed@google.com
c9f81661c1 add endian tests (reviewed by bungeman)
git-svn-id: http://skia.googlecode.com/svn/trunk@8993 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 18:06:31 +00:00
epoger@google.com
b4ca46d748 SkBitmapHasher: use 64-bit-truncated MD5 instead of 64-bit CityHash
BUG=https://code.google.com/p/skia/issues/detail?id=1257

(if we change our mind within the next few days, we can toggle the
BITMAPHASHER_USES_TRUNCATED_MD5 #ifdef ; at some point, we'll remove that
option so we can delete our CityHash implementation entirely)

R=bungeman@google.com

Review URL: https://codereview.chromium.org/14054012

git-svn-id: http://skia.googlecode.com/svn/trunk@8992 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 17:35:39 +00:00
reed@google.com
25720b4d7e trick the compiler into not knowning that I will generate an overflow
(which is the point of the test). This avoids a warning, which breaks
our bots.



git-svn-id: http://skia.googlecode.com/svn/trunk@8991 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 16:30:44 +00:00
reed@google.com
5a5fe58595 change setLength and Normalize to handle when mag2 overflows a float, but the
actual lenght does not.

R=caryclark@google.com

Review URL: https://codereview.chromium.org/14838006

git-svn-id: http://skia.googlecode.com/svn/trunk@8988 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-03 15:59:39 +00:00
caryclark@google.com
89d1827fa0 fix error that ran no tests if no options were passed
git-svn-id: http://skia.googlecode.com/svn/trunk@8959 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 14:23:07 +00:00
caryclark@google.com
b631eec0e6 Allow unit tests to include or exclude test sets.
This modifies the command line to take test
matches of the form:

   --match [or -m] [~][^]match[$] [~][^]match[$] ...

   ~ causes a matching test to always be skipped

   ^ requires the start of the test to match

   $ requires the end of the test to match

   ^ and $ requires an exact match


If a test does not match any list entry,
it is skipped unless some list entry starts with ~
Review URL: https://codereview.chromium.org/14650009

git-svn-id: http://skia.googlecode.com/svn/trunk@8955 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-02 13:14:40 +00:00
junov@chromium.org
b516a41779 Build fix for SurfaceTest on non-gpu platforms
Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@8946 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 22:49:59 +00:00
junov@chromium.org
da90474b5f Adding public API method on SkImage for extracting the GPU texture handle.
TEST=Surface unit test

Review URL: https://codereview.chromium.org/14646007

git-svn-id: http://skia.googlecode.com/svn/trunk@8945 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 22:38:16 +00:00
bungeman@google.com
7103344b64 Add FontMgr to DirectWrite.
https://codereview.chromium.org/14314008/


git-svn-id: http://skia.googlecode.com/svn/trunk@8934 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-01 14:21:20 +00:00
skia.committer@gmail.com
8152113073 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8919 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-30 07:01:03 +00:00
reed@google.com
bc57a29a7a add wacky random shift so I can generate some zeros (without the optimizer knowing)
so I can test passing a 0 to SkCLZ()



git-svn-id: http://skia.googlecode.com/svn/trunk@8904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 15:27:42 +00:00
reed@google.com
7729534da4 reland 8897 (was not a build-breaker) and fix MathTest (was a build-breaker)
git-svn-id: http://skia.googlecode.com/svn/trunk@8899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 14:43:50 +00:00
reed@google.com
c21f86fc91 add unittest for SkCLZ
git-svn-id: http://skia.googlecode.com/svn/trunk@8896 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-29 14:18:23 +00:00
caryclark@google.com
e23b4a4f9e path ops -- disable fail test for now
fail test fails on 32 bit platforms

git-svn-id: http://skia.googlecode.com/svn/trunk@8884 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-26 20:41:24 +00:00
caryclark@google.com
66560ca776 path ops -- handle non-finite numbers
Op() and Simplify() do nothing if the input
is non-finite. Add code and tests.
Review URL: https://codereview.chromium.org/14407006

git-svn-id: http://skia.googlecode.com/svn/trunk@8882 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-26 19:51:16 +00:00
skia.committer@gmail.com
2cf444f704 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8873 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-26 07:00:58 +00:00
humper@google.com
8dd94f0931 Avoid side effects related to skia error callbacks in the testing infrastructure
BUG=

Review URL: https://codereview.chromium.org/14447018

git-svn-id: http://skia.googlecode.com/svn/trunk@8867 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 18:33:49 +00:00
scroggo@google.com
49ce11ba14 Use SkError for a bitmap that could not be decoded.
When recreating an SkPicture from an SkStream, use the
new error reporting system to report that an SkBitmap
could not be decoded.

Add a test that the parse error is thrown.

Review URL: https://codereview.chromium.org/13892009

git-svn-id: http://skia.googlecode.com/svn/trunk@8866 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 18:29:32 +00:00
reed@google.com
eb02957a5f disable checking the style name from fontmgr (not impl on some backends,
and likely will be remvoed in future api)



git-svn-id: http://skia.googlecode.com/svn/trunk@8858 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 14:59:32 +00:00
robertphillips@google.com
32c1b66a2c Added "SkRRect::contains(const SkRect&) const"
https://codereview.chromium.org/14200044/



git-svn-id: http://skia.googlecode.com/svn/trunk@8854 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 12:23:00 +00:00
caryclark@google.com
6dc7df69ae path ops : fix empty-diff bug, op-in-place
add some debugging around reverse diff, inverse
Review URL: https://codereview.chromium.org/13851015

git-svn-id: http://skia.googlecode.com/svn/trunk@8852 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 11:51:54 +00:00
skia.committer@gmail.com
83f0d302e8 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8851 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 07:01:04 +00:00
junov@chromium.org
d5cfdfffc8 Fixing numerical rounding edge case in SkTileGrid
BUG=https://code.google.com/p/chromium/issues/detail?id=234688
TEST=TileGrid skia unit test

Review URL: https://codereview.chromium.org/13860011

git-svn-id: http://skia.googlecode.com/svn/trunk@8839 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 15:39:11 +00:00
edisonn@google.com
f1a358f42c Fix compile warning on mac that breaks a bot, and remove jpeg creation bitmap since we mock the compression.
git-svn-id: http://skia.googlecode.com/svn/trunk@8836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 13:21:49 +00:00
edisonn@google.com
d9dfa18372 Encode images with DCTDecode (JPEG) in PDFs if it makes sense. Fallback to FlateDecode (zip) if it makes sense. Otherewise include uncompressed stream.
This change will reduce the size of PDFs to 50% (in the case of the existing SKPs, we reduce the total size of PDFs from 105MB to 50MB) 
Review URL: https://codereview.appspot.com/7068055

git-svn-id: http://skia.googlecode.com/svn/trunk@8835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 13:01:01 +00:00
bungeman@google.com
8c6a4f24d3 ARGB image encoder for checksums.
https://codereview.chromium.org/14267031/


git-svn-id: http://skia.googlecode.com/svn/trunk@8831 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 18:06:23 +00:00
caryclark@google.com
3b97af5add path ops -- use standard max, min, double-is-nan
fix a comment or two as well
Review URL: https://codereview.chromium.org/13934009

git-svn-id: http://skia.googlecode.com/svn/trunk@8822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 11:56:44 +00:00
commit-bot@chromium.org
c7e08bd6d0 Also proxy bumpTestCount.
Example output with -v -x:

...
Finished 127 tests, 0 failures, 0 skipped.
Ran 73094673 Internal tests.

BUG=
R=caryclark@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/13983011

git-svn-id: http://skia.googlecode.com/svn/trunk@8821 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-23 11:16:32 +00:00
reed@google.com
ea774d2a5a fix asserts in SkMulDiv255Round, and add test
Review URL: https://codereview.chromium.org/13934010

git-svn-id: http://skia.googlecode.com/svn/trunk@8813 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 20:21:56 +00:00
commit-bot@chromium.org
e1c5429027 Unbreak -z. The LocalReporter shim layer was forcing the pathops options back to defaults.
BUG=
R=caryclark@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/13849013

git-svn-id: http://skia.googlecode.com/svn/trunk@8804 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 17:35:55 +00:00
commit-bot@chromium.org
0506b9d7d5 Make it clearer what's going on at the end of tests.
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/14267022

git-svn-id: http://skia.googlecode.com/svn/trunk@8803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 16:43:07 +00:00
commit-bot@chromium.org
44c661ff15 Add thread-per-core setting to SkThreadPool.
BUG=
R=scroggo@google.com, caryclark@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/13855009

git-svn-id: http://skia.googlecode.com/svn/trunk@8802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 15:23:14 +00:00
caryclark@google.com
7dfbb0720a path ops : add support for inverse fill
add inverse fill, reverse diff, and gm tests
cleaned up some interfaces
Review URL: https://codereview.chromium.org/14371011

git-svn-id: http://skia.googlecode.com/svn/trunk@8798 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:37:05 +00:00
commit-bot@chromium.org
c4c9870953 Adding optimization to avoid image copy in SkSurface copy on write when content is discardable
This patch also adds code to SkDeferredCanvas to trigger the optimization.

TEST=DeferredSurfaceCopy bench, Surface unit test
R=reed@google.com

Author: junov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14063015

git-svn-id: http://skia.googlecode.com/svn/trunk@8797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 14:28:01 +00:00
rmistry@google.com
c9f3b38f67 Sanitizing source files in Skia_Periodic_House_Keeping (SkipBuildbotRuns)
git-svn-id: http://skia.googlecode.com/svn/trunk@8795 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-22 12:45:30 +00:00
mike@reedtribe.org
1b0b71df38 remove printf
git-svn-id: http://skia.googlecode.com/svn/trunk@8792 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:44:04 +00:00
mike@reedtribe.org
9ca81a76a9 pass 0 instead of NULL for size_t parameter
git-svn-id: http://skia.googlecode.com/svn/trunk@8791 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:43:09 +00:00
mike@reedtribe.org
cac3ae3752 specialize SkDataTable for arrays where all elements are the same size.
optimize impl to not require another level of indirection (SkData) for storage.
add unittests for flattening.
optimize builder to not make a deepcopy of its chunkalloc heap.



git-svn-id: http://skia.googlecode.com/svn/trunk@8790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-21 01:37:46 +00:00
skia.committer@gmail.com
64b682ca42 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8785 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-20 07:01:07 +00:00
reed@google.com
8c5c7a905b add SkDataTable, to efficiently store an immutable array. Includes a builder
helper class.
Review URL: https://codereview.chromium.org/14188049

git-svn-id: http://skia.googlecode.com/svn/trunk@8779 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 20:16:01 +00:00
bsalomon@google.com
8da9bc751e Add all remaining separable xfer modes to GPU backend.
Review URL: https://codereview.chromium.org/14189024

git-svn-id: http://skia.googlecode.com/svn/trunk@8768 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 15:03:21 +00:00
reed@google.com
c1ccda3af8 return empty fontstyleset instead of null
git-svn-id: http://skia.googlecode.com/svn/trunk@8767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 14:28:54 +00:00
bsalomon@google.com
72993ab542 silence && || parens clang warning.
git-svn-id: http://skia.googlecode.com/svn/trunk@8764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:25:28 +00:00
commit-bot@chromium.org
197845ae15 Add --threads to tests binary, to run non-GPU tests on multiple cores.
On my quad-core laptop I can get about a 3x speedup:
  Debug,   --threads 0  40.99s
  Debug,   --threads 8  14.39s
  Release, --threads 0   8.24s
  Release, --threads 8   2.80s

I also removed some unused Test.{h,cpp} APIs and refactored a little to make
things thread-safer.

BUG=
R=borenet@google.com, djsollen@google.com, scroggo@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://chromiumcodereview.appspot.com/13855007

git-svn-id: http://skia.googlecode.com/svn/trunk@8763 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:24:28 +00:00
bsalomon@google.com
5920ac2768 Perform coverage blend with the dst in the shader when using a dst-reading xfermode.
Review URL: https://codereview.chromium.org/14233006

git-svn-id: http://skia.googlecode.com/svn/trunk@8762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 13:14:45 +00:00
reed@google.com
87f99cb543 ensure that negative zeros are still ignored when computing isIdentity()
crbug.com/162747



git-svn-id: http://skia.googlecode.com/svn/trunk@8761 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-19 12:25:00 +00:00
caryclark@google.com
9515f09b6c path ops : remove countdown overkill
Review URL: https://codereview.chromium.org/13958005

git-svn-id: http://skia.googlecode.com/svn/trunk@8756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 19:50:01 +00:00
caryclark@google.com
16cfe40276 allow tests to optionally use multiple threads
modify threaded path ops tests to check

Background: this CL came out of a conversation with Eric where I learned that 10s of machines host 100s of bots. Since the bot hosting tests may be shared with many other tasks, it seems unwise for path ops to launch multiple test threads.

The change here is to make launching multiple threads "opt-in" and by default, bots can run path ops in a single thread.
Review URL: https://codereview.chromium.org/14002007

git-svn-id: http://skia.googlecode.com/svn/trunk@8750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 18:47:37 +00:00
reed@google.com
9d1cff124c use SkAutoTDelete instead of SkTScopedPtr
Review URL: https://codereview.chromium.org/13831011

git-svn-id: http://skia.googlecode.com/svn/trunk@8749 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 18:43:26 +00:00
caryclark@google.com
0361032c0b path ops work in progress
fix bugs in tests on 32 bit release

Most changes revolve around pinning computed t values
very close to zero and one.

git-svn-id: http://skia.googlecode.com/svn/trunk@8745 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-18 15:58:21 +00:00
caryclark@google.com
b3f0921fba shape ops work in progress
Try to fix the 32 bit build by making some math
decisions more robust.

Rewrite the cubic intersection special case that 
detects if only end points are shared.

Rewrite the angle sort setup that computes whether
a cubic bends to the left or right.

git-svn-id: http://skia.googlecode.com/svn/trunk@8726 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 15:49:16 +00:00
skia.committer@gmail.com
45fb8b6013 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8714 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-17 07:00:56 +00:00
junov@chromium.org
acea3ef448 Cleanup: Removing unnecessary args/complexity in SkSurface_Base and friends
Review URL: https://codereview.chromium.org/14263017

git-svn-id: http://skia.googlecode.com/svn/trunk@8708 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 19:41:09 +00:00
skia.committer@gmail.com
7841c63136 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8693 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-16 07:01:17 +00:00
tfarina@chromium.org
06910786a1 Use ILLEGAL_MODE macro to silence clang error.
This fixes the following clang error:

../../tests/XfermodeTest.cpp:43:44: error: comparison of constant -1 with expression of type 'SkXfermode::Mode' is always false [-Werror,-Wtautological-constant-out-of-range-compare]
    REPORTER_ASSERT(reporter, reportedMode == -1);
                                  ~~~~~~~~~~~~ ^  ~~

R=vandebo@chromium.org,reed@google.com

Review URL: https://codereview.chromium.org/14180004

git-svn-id: http://skia.googlecode.com/svn/trunk@8692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 22:12:43 +00:00
caryclark@google.com
ad65a3e5fb path ops work in progress
standardize tests
use SK_ARRAY_COUNT everywhere
debug why x87 differs from SIMD 64
various platform specific fixes

git-svn-id: http://skia.googlecode.com/svn/trunk@8689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 19:13:59 +00:00
junov@chromium.org
9becf0090f Fix crash with SkDeferredCanvas+SkSurface integration with in order draw buffer.
The fImmediateDevice member of DeferredDevice (SkDeferredCanvas.cpp) was becoming invalid after a fork of the backingstore in SkSurface_Gpu cause the device to be substituted.

New unit test code was to exercise SkSurface copy on write with draws that are deferred in GrInOrderDrawBuffer.  The bad pointer was causing the test to crash.

TEST=skia unit test DeferredCanvas, subtest TestDeferredCanvasSurface
Review URL: https://codereview.chromium.org/14263015

git-svn-id: http://skia.googlecode.com/svn/trunk@8686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-15 18:15:23 +00:00
skia.committer@gmail.com
4bb50b22fc Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8670 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-13 07:01:15 +00:00
junov@chromium.org
5ee449af74 Fixing viral copy/paste typo Shapshot -> Snapshot
Unreviewed

git-svn-id: http://skia.googlecode.com/svn/trunk@8667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 20:20:50 +00:00
junov@chromium.org
3c5ec8df2c Adding 'static' to eleminate compile warning on mac
Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@8649 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 13:34:47 +00:00
junov@chromium.org
67d7422844 Adding SkSurface support to SkDeferredCanvas
Review URL: https://codereview.chromium.org/14178002

git-svn-id: http://skia.googlecode.com/svn/trunk@8648 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 13:33:01 +00:00
caryclark@google.com
7abfa49390 turn on pathops unit test
This temporarily disables SK_ENABLE_INST_COUNT 
( skbug.com/1219 )

This fixes a linktime error on VS2012 in
PathTest.cpp; -SK_ScalarInfinity should be
SK_ScalarNegativeInfinity instead.

This adds pathops and pathops unit tests to the
main unit tests.

Should this change destabilize anything, it should
be sufficient to comment out the pathops gypi
includes. at test.gyp:18,21.
Review URL: https://codereview.chromium.org/14137010

git-svn-id: http://skia.googlecode.com/svn/trunk@8644 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 11:59:41 +00:00
epoger@google.com
908f583662 rename SkBitmapChecksummer as SkBitmapHasher, and prepare for it to possibly use
some algorithm other than CityHash
Review URL: https://codereview.chromium.org/14170010

git-svn-id: http://skia.googlecode.com/svn/trunk@8639 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 02:23:55 +00:00
scroggo@google.com
5a6324e314 Better fix for the patched build.
skia_test is also built on Android in pathops_unittest, which needed
to also depend on the flags project.

Remove the hack in skia_test of providing the full path.

Review URL: https://codereview.chromium.org/14177002

git-svn-id: http://skia.googlecode.com/svn/trunk@8632 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 20:11:40 +00:00
reed@google.com
66c9f9995e short names should be ... short, in commandlineflags
git-svn-id: http://skia.googlecode.com/svn/trunk@8629 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 19:04:34 +00:00
reed@google.com
83165a5f71 add fontmgr tests, and optional --verboseFontMgr flag (or -vfm) for more output
git-svn-id: http://skia.googlecode.com/svn/trunk@8626 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 18:31:25 +00:00
reed@google.com
9aff14831b restore option to --match (instead of --matchStr)
git-svn-id: http://skia.googlecode.com/svn/trunk@8624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 18:27:52 +00:00
scroggo@google.com
746cd0fc9a Fix build. Unreviewed.
I don't understand why this change is necessary. On Android,
SkCommandLineFlags.h is not found, but only in this project.
Other projects depend on flags and include the file without
using the full path. Likewise, this works on other platforms.
Removing for now until I figure out the correct fix.

Review URL: https://codereview.chromium.org/13910008

git-svn-id: http://skia.googlecode.com/svn/trunk@8621 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:27:58 +00:00
commit-bot@chromium.org
ba59d64b05 use commandlineflags for tests/
Author: reed@google.com

Reviewed By: scroggo@google.com

Review URL: https://chromiumcodereview.appspot.com/14047009

git-svn-id: http://skia.googlecode.com/svn/trunk@8616 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 16:54:09 +00:00
caryclark@google.com
db60de7cbe shape ops test fixes
- fix rand for Android
- build unit test on linux
- use atomic inc in test count
- add casting for Android

git-svn-id: http://skia.googlecode.com/svn/trunk@8610 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 12:33:23 +00:00
skia.committer@gmail.com
391ca66276 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 07:01:45 +00:00
caryclark@google.com
e942bc329a fix a few pathops test bugs exposed on Mac and Linux
git-svn-id: http://skia.googlecode.com/svn/trunk@8601 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:53:01 +00:00
reed@google.com
7a90daf258 fix bug introduced with SK_IGNORE_CUBIC_STROKE_FIX where we no longer respected
subDivide limit. This caused problems with degenate paths (too much recursion).

The fix was two parts:
1. decrement the subDivide limit as we recurse
2. up the limit for cubics to 7, to match our current quality

added unittest that replicated the too-much-recursion bug.
Review URL: https://codereview.chromium.org/14086002

git-svn-id: http://skia.googlecode.com/svn/trunk@8599 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 18:44:00 +00:00
caryclark@google.com
d54e1e9751 add extended option to Test
The command line option
--extended runs extended tests
--verbose reports number of tests run (if recorded)

Added simple help as well.
Review URL: https://codereview.chromium.org/14063005

git-svn-id: http://skia.googlecode.com/svn/trunk@8595 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:57:31 +00:00
caryclark@google.com
66089e4ec4 Make parallel unit testing work on windows
Review URL: https://codereview.chromium.org/14072002

git-svn-id: http://skia.googlecode.com/svn/trunk@8594 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-10 15:55:37 +00:00
junov@chromium.org
ef5b811426 Fixing SkTileGrid to clamp rather than clip content and querries that are outside the bounds of the grid
This fix prevents border padding and offsets on the tile grid structure from resulting in bad clipping. The job of clipping contents is left to the playback canvas.

BUG=https://code.google.com/p/skia/issues/detail?id=1209
TEST=TileGrid unit test, 
Review URL: https://codereview.chromium.org/13493016

git-svn-id: http://skia.googlecode.com/svn/trunk@8576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 16:13:09 +00:00
bsalomon@google.com
686bcb871b Reland of 8525 with fix for case when GrRT outlives GrTexture.
Review URL: https://codereview.chromium.org/13814015

git-svn-id: http://skia.googlecode.com/svn/trunk@8573 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 15:04:12 +00:00
skia.committer@gmail.com
3284017a60 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8568 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-09 07:01:27 +00:00
humper@google.com
8e029e6e59 silence android warning
git-svn-id: http://skia.googlecode.com/svn/trunk@8567 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 21:54:58 +00:00
humper@google.com
75e3ca127c Error checking / reporting API
Review URL: https://codereview.chromium.org/13699004

git-svn-id: http://skia.googlecode.com/svn/trunk@8566 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 21:44:11 +00:00
caryclark@google.com
496120185c saving the old before blowing away
git-svn-id: http://skia.googlecode.com/svn/trunk@8565 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 20:37:35 +00:00
caryclark@google.com
818b0cc1b8 Add implementation of path ops
This CL depends on
https://codereview.chromium.org/12880016/
"Add intersections for path ops"

Given a path, iterate through its contour, and
construct an array of segments containing its curves.

Intersect each curve with every other curve, and for
cubics, with itself.

Given the set of intersections, find one with the 
smallest y and sort the curves eminating from the
intersection. Assign each curve a winding value.

Operate on the curves, keeping and discarding them
according to the current operation and the sum of
the winding values.

Assemble the kept curves into an output path.
Review URL: https://codereview.chromium.org/13094010

git-svn-id: http://skia.googlecode.com/svn/trunk@8553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:50:46 +00:00
caryclark@google.com
9166dcb3a0 Add intersections for path ops
This CL depends on 
https://codereview.chromium.org/12827020/
"Add base types for path ops"

The intersection of a line, quadratic, or cubic
with another curve (or with itself) is found by
solving the implicit equation for the curve pair.

The curves are first reduced to find the simplest
form that will describe the original, and to detect
degenerate or special-case data like horizontal and
vertical lines.

For cubic self-intersection, and for a pair of cubics,
the intersection is found by recursively
approximating the cubic with a series of quadratics.

The implicit solutions depend on the root finding
contained in the DCubic and DQuad structs, and
the quartic root finder included here.
Review URL: https://codereview.chromium.org/12880016

git-svn-id: http://skia.googlecode.com/svn/trunk@8552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:50:00 +00:00
caryclark@google.com
07393cab57 Add base types for path ops
Paths contain lines, quads, and cubics, which are
collectively curves.

To work with path intersections, intermediary curves
are constructed. For now, those intermediates use
doubles to guarantee sufficient precision.

The DVector, DPoint, DLine, DQuad, and DCubic
structs encapsulate these intermediate curves.

The DRect and DTriangle structs are created to
describe intersectable areas of interest.

The Bounds struct inherits from SkRect to create
a SkScalar-based rectangle that intersects shared
edges.

This also includes common math equalities and
debugging that the remainder of path ops builds on,
as well as a temporary top-level interface in
include/pathops/SkPathOps.h.
Review URL: https://codereview.chromium.org/12827020

git-svn-id: http://skia.googlecode.com/svn/trunk@8551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:47:37 +00:00
bsalomon@google.com
e06f8ef5ba Revert 8525,8526 pending investigation of bench_pictures crashes.
git-svn-id: http://skia.googlecode.com/svn/trunk@8527 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 21:06:42 +00:00
bsalomon@google.com
d02e8803e9 Remove GrTexture::releaseRenderTarget() and add GrSurface::isSameAs().
Review URL: https://codereview.chromium.org/13414006

git-svn-id: http://skia.googlecode.com/svn/trunk@8525 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 19:49:13 +00:00
junov@chromium.org
8bc9edce9e Build fix for Surface Test on non-gpu builds
git-svn-id: http://skia.googlecode.com/svn/trunk@8513 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 15:25:46 +00:00
junov@chromium.org
af0583528c Fixed bug with SkImage leaving canvas backing store in an immutable state after destroy.
Added unit test that verifies that surface backing is writable after creating and destroying an image.
Review URL: https://codereview.chromium.org/13226002

git-svn-id: http://skia.googlecode.com/svn/trunk@8512 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-03 15:03:26 +00:00
edisonn@google.com
6addb19300 resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we
added capability to collect minidump and callstack if buildbot fails with heap
coruption in windows, and a NPE bug was fixed in SkPDFDocument, when document was destroyed without ever beeing used and a field was NULL + a few minor conflicts have been resolved)

git-svn-id: http://skia.googlecode.com/svn/trunk@8487 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 15:33:08 +00:00
bungeman@google.com
07a69f848c Name table iterator.
https://codereview.appspot.com/8180043/


git-svn-id: http://skia.googlecode.com/svn/trunk@8480 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 14:12:38 +00:00
skia.committer@gmail.com
05a2ee052c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8477 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 07:01:34 +00:00
jvanverth@google.com
054ae99d93 Take two for r8466:
Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set.

Original author: bsalomon@google.com

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13296005


git-svn-id: http://skia.googlecode.com/svn/trunk@8468 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 20:06:51 +00:00
jvanverth@google.com
c7bf2963f0 Rolling back r8466.
Not reviewed.


git-svn-id: http://skia.googlecode.com/svn/trunk@8467 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 19:29:32 +00:00
commit-bot@chromium.org
fb495b537f Revise attribute binding interface.
Replace the old attribute binding and index interface with one where we include the binding as part of the attribute array. Also removed the fixed attribute indices for constant color and coverage attributes, and replaced with dynamic ones based on current attribute set. Removed binding of color and coverage attributes unless they're actually set.

Original author: bsalomon@google.com

Author: jvanverth@google.com

Reviewed By: bsalomon@google.com,robertphillips@google.com

Review URL: https://chromiumcodereview.appspot.com/13296005

git-svn-id: http://skia.googlecode.com/svn/trunk@8466 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-01 19:12:42 +00:00
bsalomon@google.com
b79d865f03 Fix GLPrograms test.
Review URL: https://codereview.chromium.org/13327008

git-svn-id: http://skia.googlecode.com/svn/trunk@8450 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-29 20:30:50 +00:00
junov@chromium.org
995beb6b00 Adding unit test for verifying copy on write in SkSurface + bug fix in SkCanvas::clear
Review URL: https://codereview.chromium.org/13116018

git-svn-id: http://skia.googlecode.com/svn/trunk@8429 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-28 13:49:22 +00:00
bsalomon@google.com
31ec7985f2 Move GrGLProgram::Desc out of GrGLProgram.
Review URL: https://codereview.chromium.org/12942014

git-svn-id: http://skia.googlecode.com/svn/trunk@8411 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-27 18:14:57 +00:00
skia.committer@gmail.com
37cbc7fd01 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8404 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-27 07:01:04 +00:00
bsalomon@google.com
26ec00ea1b Fix unit test build break
git-svn-id: http://skia.googlecode.com/svn/trunk@8394 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 16:49:37 +00:00
bsalomon@google.com
4647f90598 Replace edge types with GrEdgeEffect.
This strips out last of the edge types and the fixed function edge attribute and replaces them with using GrEdgeEffect. Also fixes a minor bug when checking attribute counts -- it was using kAttribIndexCount instead of kVertexAttribCnt. 

Original Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/13069003

git-svn-id: http://skia.googlecode.com/svn/trunk@8392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 14:45:27 +00:00
bsalomon@google.com
c26d94fd7d Move nested class GrDrawTarget::Caps out as GrDrawTargetCaps.
Pass caps to GrEffect::TestCreate() functions so that they can return effects that will work with the capabilities.
Review URL: https://codereview.chromium.org/12965018

git-svn-id: http://skia.googlecode.com/svn/trunk@8369 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 18:19:00 +00:00
bsalomon@google.com
bcce892652 Make GrDrawTarget::Caps ref counted and GrGLCaps derive from it.
Also rename GrDrawTarget::getCaps() -> GrDrawTarget::caps().
Review URL: https://codereview.chromium.org/12843026

git-svn-id: http://skia.googlecode.com/svn/trunk@8364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 15:38:39 +00:00
robertphillips@google.com
ae3f2ce18d "Fix" persistent failure of BitmapFactoryTest on debug RazrI
https://codereview.chromium.org/13002002/



git-svn-id: http://skia.googlecode.com/svn/trunk@8311 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 20:54:42 +00:00
commit-bot@chromium.org
9ae78506bd Stop the GLPrograms unit test from generating out of range attrib indices for effects.
R=jvanverth@google.com

Author: bsalomon@google.com

Reviewed By: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/12834013

git-svn-id: http://skia.googlecode.com/svn/trunk@8298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 17:44:39 +00:00
robertphillips@google.com
35300c47fc Fix minor valgrind-found memory leaks
https://codereview.chromium.org/12440066/



git-svn-id: http://skia.googlecode.com/svn/trunk@8297 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 17:38:49 +00:00
reed@google.com
a262eea230 beef-up upem test for fonts
git-svn-id: http://skia.googlecode.com/svn/trunk@8293 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 15:20:00 +00:00
bsalomon@google.com
c78188896e Attempt to reland 8264-5 with warning-as-error fixes.
git-svn-id: http://skia.googlecode.com/svn/trunk@8272 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 19:19:53 +00:00
reed@google.com
67e7cde5c5 revert 8265-8264 (broke build)
git-svn-id: http://skia.googlecode.com/svn/trunk@8268 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:47:16 +00:00
bsalomon@google.com
ae81d5c4aa Adds local coords to GrEffect system.
Effects can ask the builder for local coords which may or may not be distinct from positions.

GrEffectStage tracks changes to relationship between pos and local coords.

GrGLEffectMatrix and GrSingleTextureEffect can use either pos or textures as intput coords

GrSimpleTextureEffect now allows for an explicit texture coords attribute.
Review URL: https://codereview.chromium.org/12531015

git-svn-id: http://skia.googlecode.com/svn/trunk@8264 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 17:32:27 +00:00
robertphillips@google.com
acef3c4082 Reverting r8233 (Use SkSet in PDF)
git-svn-id: http://skia.googlecode.com/svn/trunk@8255 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 14:42:51 +00:00
djsollen@google.com
cb62650ecf Add --resourcePath flag to the test program.
Review URL: https://codereview.chromium.org/12521016

git-svn-id: http://skia.googlecode.com/svn/trunk@8252 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 13:48:20 +00:00
commit-bot@chromium.org
3fbab82bd3 Fixing deferred canvas bug caused by SkTwoPointConicalGradient declaring itself as opaque.
BUG=https://code.google.com/p/chromium/issues/detail?id=222140
TEST=DeferredCanvas unit test + DRT with --enable-deferred-2d-canvas

Author: junov@chromium.org

Reviewed By: bsalomon@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12879005

git-svn-id: http://skia.googlecode.com/svn/trunk@8247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 00:49:57 +00:00
jvanverth@google.com
65eb4d5a21 Add stroked ovals and CircleEdgeEffect.
Adds some optimizations to the circle and ellipse shaders, static effect 
instances for their GrEffects, and some minor changes to GrDrawState::setEffect
to make GrEffect setup faster.


git-svn-id: http://skia.googlecode.com/svn/trunk@8238 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 18:51:02 +00:00
edisonn@google.com
66bedbb02d resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we added capability to collect minidump and callstack if buildbot fails with heap coruption in windows. a few minor conflicts have been resolved)
Review URL: https://codereview.chromium.org/12840004

git-svn-id: http://skia.googlecode.com/svn/trunk@8233 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 17:19:05 +00:00
scroggo@google.com
bb281f7f96 Improvements/additions to SkImageCache/SkLazyPixelRef.
SkPurgeableImageCache:
New image cache that uses virtual memory to store the pixels. Combines
features of SkAshmemImageCache (which has been removed) with SkPurgeableMemoryBlock, which has android and Mac versions.

SkImageCache:
Modified the API. pinCache now returns a status out parameter which
states whether the pinned memory retained the old data. This allows
allocAndPinCache to only be used for allocations.
Add a new debug only interface to purge unpinned data.
Updates to documentation, clarifying behavior.
Changed CachedStatus to MemoryStatus

SkLruImageCache:
Implement the new function purgeAllUnpinnedCaches and change implementation
of pinCache for the new behavior.

SkLazyPixelRef:
Rewrite onLockPixels to account for the new behavior of pinCache.

BitmapFactoryTest:
Test the new SkPurgeableImageCache.
Write tests which directly test the SkImageCaches.
Create a larger bitmap, since some of the SkImageCaches are designed
to handle large bitmaps.

bench_ and render_pictures:
Consolidate lazy_decode_bitmap into one function.
Allow using a flag to specify using the purgeable image cache.
Clean up some #includes.

Review URL: https://codereview.chromium.org/12433020

git-svn-id: http://skia.googlecode.com/svn/trunk@8207 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 21:37:39 +00:00
reed@google.com
fed86bdb8b move most of SkFontHost to private (preceeding making it all private)
In this change, have to accomodate PDF wanting to call openStream and advancedMetrics
Review URL: https://codereview.chromium.org/12739006

git-svn-id: http://skia.googlecode.com/svn/trunk@8156 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-14 15:04:57 +00:00
edisonn@google.com
8c020612ba Update flag to reflect actual meaning.
Review URL: https://codereview.chromium.org/12754004

git-svn-id: http://skia.googlecode.com/svn/trunk@8118 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-12 19:53:16 +00:00
commit-bot@chromium.org
ff6ea2663f Add GrEllipseEdgeEffect.
Adds the effect that replaces the old oval rendering code. Also hooks in code to set attribute names and indices for effects.

Author: jvanverth@google.com

Review URL: https://chromiumcodereview.appspot.com/12462008

git-svn-id: http://skia.googlecode.com/svn/trunk@8092 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-12 12:26:08 +00:00
skia.committer@gmail.com
2e71f1619d Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@8090 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-12 07:12:32 +00:00
bsalomon@google.com
7fa1bb4133 Simplify the GL interface validation test.
Review URL: https://codereview.chromium.org/12703003

git-svn-id: http://skia.googlecode.com/svn/trunk@8077 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 20:22:38 +00:00
reed@google.com
ed268bfed3 add (mac) test for ttcindex in SkFontStream
git-svn-id: http://skia.googlecode.com/svn/trunk@8073 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 20:13:36 +00:00
sugoi@google.com
e0e385c1d4 Removed unused parameters
I removed unused parameters wherever it was trivial to do so.
Review URL: https://codereview.chromium.org/12469002

git-svn-id: http://skia.googlecode.com/svn/trunk@8068 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-11 18:50:03 +00:00
bsalomon@google.com
a1d27cd07a Don't sort extensions when there are none. Make an ANGLE context to validate the ANGLE GrGLInterface with.
R=robertphillips@google.com

git-svn-id: http://skia.googlecode.com/svn/trunk@8049 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 19:01:01 +00:00
djsollen@google.com
4bd2bdbf04 Upstream changes from Android.
Review URL: https://codereview.chromium.org/12699002

git-svn-id: http://skia.googlecode.com/svn/trunk@8045 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 18:35:13 +00:00
reed@google.com
c7d0ea3cd3 add asScalars() to document when we want to treat SkPoint or SkRect as an array
of SkScalars.
Review URL: https://codereview.chromium.org/12530010

git-svn-id: http://skia.googlecode.com/svn/trunk@8041 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 16:07:54 +00:00
epoger@google.com
b58772f866 PDF: add support for named destinations.
Landing patchset 7 from https://codereview.appspot.com/7374052 for dml@google.com
Review URL: https://codereview.chromium.org/12533009

git-svn-id: http://skia.googlecode.com/svn/trunk@8034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 09:09:10 +00:00
epoger@google.com
812b6f59fa Revert r8000 due to failures on some buildbots
git-svn-id: http://skia.googlecode.com/svn/trunk@8001 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-06 00:47:22 +00:00
epoger@google.com
1cad898916 PDF: add support for named destinations
Imported from https://codereview.appspot.com/7374052/ on behalf of dml@google.com
Review URL: https://codereview.chromium.org/12466008

git-svn-id: http://skia.googlecode.com/svn/trunk@8000 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-06 00:05:13 +00:00
skia.committer@gmail.com
075b089b1b Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7976 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-05 07:09:08 +00:00
robertphillips@google.com
37ebe3fbf6 Address some valgrind issues
https://codereview.appspot.com/7448051/



git-svn-id: http://skia.googlecode.com/svn/trunk@7966 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 20:03:44 +00:00
djsollen@google.com
46348e2173 Initialize bounds even if the text length is zero.
Review URL: https://codereview.chromium.org/12387092

git-svn-id: http://skia.googlecode.com/svn/trunk@7964 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 19:47:42 +00:00
robertphillips@google.com
b755a2ace7 Fix Mac 10.8 64-bit Release ClipCacheTest issue
unreviewed



git-svn-id: http://skia.googlecode.com/svn/trunk@7957 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 14:59:55 +00:00
jvanverth@google.com
c490f801b0 Change random number generator for 'tests' to SkMWCRandom. Also removes some
unused headers and fixes a couple of bugs exposed by changing the random 
number generator:

First, the function SkMatrix::getMaxStretch() had an error where it was testing
the square of a number against near-zero. This led to it occasionally taking a
cheaper but imprecise path for computing the eigenvalues of the matrix. It's 
been replaced with a check against the square of SK_ScalarNearlyZero. 

The second case was a failure in ClipStackTest, where it hit the rare case of 
a practically empty clip stack (it has a single Union) and we set a tight 
bounds. The bounds rect doesn't get set by GrReducedClip::ReduceClipStack() in 
this case, so when it clips the reduced stack it's clipping against garbage, 
and the resulting regions don't match. The solution is to initialize the 
tightBounds rect.


git-svn-id: http://skia.googlecode.com/svn/trunk@7952 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 13:56:38 +00:00
jvanverth@google.com
9b855c7c95 Resubmit r7899 and r7901.
git-svn-id: http://skia.googlecode.com/svn/trunk@7929 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 18:21:22 +00:00
skia.committer@gmail.com
631cdcb4a6 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7910 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-01 12:12:55 +00:00
robertphillips@google.com
af3a3b9fb1 Revert r7901 & r7899 to allow DEPS roll
git-svn-id: http://skia.googlecode.com/svn/trunk@7909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 23:08:28 +00:00
robertphillips@google.com
6177e6999d Split GrGLContextInfo into GrGLContext & GrGLContextInfo
https://codereview.appspot.com/7436045/



git-svn-id: http://skia.googlecode.com/svn/trunk@7905 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 20:16:25 +00:00
jvanverth@google.com
b8b705b1b9 Add new vertex attribute array specification.
This changes the old method of setting vertex layout to a new one where we
specify vertex attribute data separately from attribute bindings (i.e. program
functionality). Attribute data is now set up via an array of generic attribute
types and offsets, and this is mapped to the old program functionality by
setting specific attribute indices. This allows us to create more general 
inputs to shaders.


git-svn-id: http://skia.googlecode.com/svn/trunk@7899 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 16:28:34 +00:00
edisonn@google.com
5bd26d32ab revert r7892
git-svn-id: http://skia.googlecode.com/svn/trunk@7896 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 14:01:44 +00:00
edisonn@google.com
194b7cdb50 resubmit after fixing assert issue: https://codereview.appspot.com/6744050
git-svn-id: http://skia.googlecode.com/svn/trunk@7892 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:45:11 +00:00
sugoi@google.com
54f0d1b711 Tests : Unused parameters cleanup
I removed unused parameters in the tests wherever it was trivial to do so. I'm trying to get the easy ones out of the way before we get into more involved discussions around this.
Review URL: https://codereview.appspot.com/7394055

git-svn-id: http://skia.googlecode.com/svn/trunk@7891 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:17:41 +00:00
junov@chromium.org
29b19e53cf Change SkTileGride geometry calculations to match the Chromium compositor.
This patch changes the semantics of tileWidth/Height to include the border region, and
uses an offset to take into account the fact that there is no outer border for outer
tiles. This patch also fixes a previous bug where the right column and bottom row were
considered to be included in bounds that are expressed as an SkIRect.

Companion Chromium CL required for roll: https://codereview.chromium.org/12221077/

TEST=TileGrid unit test
Review URL: https://codereview.appspot.com/7350050

git-svn-id: http://skia.googlecode.com/svn/trunk@7885 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 18:35:16 +00:00
edisonn@google.com
d1c53aae59 Revert r7883
git-svn-id: http://skia.googlecode.com/svn/trunk@7884 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 17:46:09 +00:00
edisonn@google.com
676aef05ab Use SkSet to fix issue when pdf generates an exp number of resources.
The problem fixed - http://code.google.com/p/skia/issues/detail?id=940 - is that getResources will recursively obtain all child resource recursively without checking for duplicates.

If we have lots of duplicates, then we try to build a very large vector (exponential with the number of nodes usually) and sooner or later we end up using too much memory and crash.

A possible solution could have been to make sure resources do not have duplicates, but that requirement is impractical, and it this leaves the solution fragile, if there is any issue in the tree,  we crash.

When we emit the pdf, the large number of duplicates is not an issue, because SkPDFCatalog::addObject will deal with duplicates.

I have run the gm with --config pdf, and the images are 100% same bits, while the pdfs have the same size but some very small changes, the order of some objects.
Review URL: https://codereview.appspot.com/6744050

git-svn-id: http://skia.googlecode.com/svn/trunk@7883 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 16:54:44 +00:00
skia.committer@gmail.com
5ca3bd0cbb Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7857 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-26 07:01:22 +00:00
reed@google.com
789c6f291e add --tmpDir foo option to tests, to allow unittests that want to write/read files
use tmpDir in SkStream tests



git-svn-id: http://skia.googlecode.com/svn/trunk@7851 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-25 20:24:24 +00:00
edisonn@google.com
04115a102c Add an SkSet class to be used by Pdf only, for now - reverted because of triggering heap corruption on Win7, original coe review: https://codereview.appspot.com/6749054
git-svn-id: http://skia.googlecode.com/svn/trunk@7849 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-25 20:07:24 +00:00
bungeman@google.com
9447103029 Always round text position correctly.
https://codereview.appspot.com/7383049/

Will require rebaseline of fontscaler GM.

Must add SK_IGNORE_SUBPIXEL_AXIS_ALIGN_FIX to Chromium
until ~150 layout tests can be rebaselined.



git-svn-id: http://skia.googlecode.com/svn/trunk@7842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-25 15:55:13 +00:00
scroggo@google.com
f8d7d27313 Create SkLazyPixelRef which performs lazy decoding.
The new pixel ref behaves similarly to SkImageRef, with some key differences:
It does not depend on the images project.
It requires an SkImageCache, which handles allocation and caching of the pixel
memory.
It takes a function signature for decoding which decodes into already allocated
pixel memory rather than into an SkBitmap.

Add two implementations of SkImageCache: SkLruImageCache and SkAshmemImageCache.

Replace SkSerializationHelpers::DecodeBitmap with SkPicture::InstallPixelRefProc,
and update sites that referenced it.

SkBitmapFactory now sets the pixel ref to a new object of the new
class SkLazyPixelRef, provided it has an SkImageCache for caching.

Provide an option to do lazy decodes in render_pictures and bench_pictures.

SkPicture:
Eliminate the default parameters in the constructor.
If a proc for decoding bitmaps is installed, use it to decode any encoded
data in subpictures.
When parsing deserializing subpictures, check for success.
When serializing subpictures, pass the picture's bitmap encoder to the
subpicture's call to serialize.

Update BitmapFactoryTest to test its new behavior.

BUG=https://code.google.com/p/skia/issues/detail?id=1008
BUG=https://code.google.com/p/skia/issues/detail?id=1009

Review URL: https://codereview.appspot.com/7060052

git-svn-id: http://skia.googlecode.com/svn/trunk@7835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 21:38:35 +00:00
reed@google.com
dff53c26e7 remove obsolete build flag SK_IGNORE_CONVEX_QUAD_OPT
Review URL: https://codereview.appspot.com/7363046

git-svn-id: http://skia.googlecode.com/svn/trunk@7820 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 14:19:58 +00:00
senorblanco@chromium.org
3c8fb51718 Fix warnings-as-errors on Mac10.6 and Win. Unreviewed.
git-svn-id: http://skia.googlecode.com/svn/trunk@7811 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 17:10:44 +00:00
sugoi@google.com
a1c511b870 New SkRectShaderImageFilter image filter
This new changelist also introduces a new image filter called SkRectShaderImageFilter which is make to simply apply a shader on a region without using any inputs.

TEST=Added ShaderImageFilter test
Review URL: https://codereview.appspot.com/7300046

git-svn-id: http://skia.googlecode.com/svn/trunk@7808 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 15:02:28 +00:00
jvanverth@google.com
3976825a21 Remove unused texture coordinate flags.
Currently we support 5 texture stages, each with 5 possible texture coordinate attributes.
However, we only ever use one explicit texture coordinate. This change removes all but one 
(now named just "aTexCoord") of the possible explicit texture coordinates.

Review URL: https://codereview.appspot.com/7308094/


git-svn-id: http://skia.googlecode.com/svn/trunk@7737 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 15:25:44 +00:00
jvanverth@google.com
024e523a5f Fix for Gorilla test
My implementation of the Gorilla random number test had a bug in the code used
to track the random strings -- it was masking 6 bits instead of 5, which was
throwing off the counts. No idea how this worked on every platform except
Android.


git-svn-id: http://skia.googlecode.com/svn/trunk@7731 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-14 13:20:35 +00:00
bsalomon@google.com
73a9694b4c Use SkMWRandom in GLPrograms test.
R=jvanverth@google.com
Review URL: https://codereview.appspot.com/7306097

git-svn-id: http://skia.googlecode.com/svn/trunk@7721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-13 16:31:19 +00:00