Commit Graph

1824 Commits

Author SHA1 Message Date
mike@reedtribe.org
b2d93a9122 add peekPixels to SkCanvas and SkSurface
clone of https://codereview.chromium.org/159723006/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13427 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 15:11:11 +00:00
commit-bot@chromium.org
5e1a7f2cc6 Revert of r13379 (Move fLastMoveToIndex from SkPath to SkPathRef - https://codereview.chromium.org/146913002/) due to image quality regression in Chromium. See crbug.com/343123 (Regression - UI issue observed for any "Notification infobars" in Chrome browser)
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13421 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-12 17:44:30 +00:00
reed@google.com
8441f0c697 remove width>=0 asserts, as clients rely on this (at least for testing)
git-svn-id: http://skia.googlecode.com/svn/trunk@13419 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-12 13:21:55 +00:00
skia.committer@gmail.com
877c44956d Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13418 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-12 03:02:04 +00:00
mike@reedtribe.org
6fe16a3db0 remove unused deviceconfig from SkShader
git-svn-id: http://skia.googlecode.com/svn/trunk@13417 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-12 01:28:30 +00:00
commit-bot@chromium.org
536ac5e20c Templetized SkWriter32 readTAt() & overwriteTAt()
Convert SkWriter32::{read,write}32At() to ::{read,overwrite}TAt<>() to allow
peeking/updating arbitrary records.


BUG=skia:
R=mtklein@google.com, reed@google.com, robertphillips@google.com, iancottrell@chromium.org

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13416 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 22:38:51 +00:00
commit-bot@chromium.org
14747e58f8 Adding new 'extend' mode to SkPath::addPath
BUG=261727
R=reed@google.com, caryclark@google.com, schenney@chromium.org, robertphillips@google.com

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13415 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 21:16:29 +00:00
commit-bot@chromium.org
a87b21cd00 Reland SkWriter32 growth change with build fixes.
- SkSWriter32 resets itself with its stack block;
  - Track the full capacity of fInternal (which may be >size after a reset).

BUG=skia:2125
R=reed@google.com, iancottrell@chromium.org, iancottrell@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13412 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 18:22:04 +00:00
commit-bot@chromium.org
61e96cd446 SkBitmap now really stores SkImageInfo -- config is just a ruse
BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13411 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 18:21:45 +00:00
commit-bot@chromium.org
09f0ba7eb3 Revert of Change growth function for SkWriter32 (https://codereview.chromium.org/150663014/)
Reason for revert:
See https://codereview.chromium.org/152703007/.

Original issue's description:
> Change growth function for SkWriter32
>
> Add setCountExact to SkTDArray to allow external control of array growth.
> Use it to allow SkWriter to control the buffer growth pattern.
> Change buffer growth pattern to 1.5n+4096
>
> BUG=skia:2125
>
> Committed: http://code.google.com/p/skia/source/detail?r=13401

R=tomhudson@google.com, reed@google.com, iancottrell@google.com
TBR=iancottrell@google.com, reed@google.com, tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2125

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13406 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 15:56:57 +00:00
commit-bot@chromium.org
93d5ffda58 Change growth function for SkWriter32
Add setCountExact to SkTDArray to allow external control of array growth.
Use it to allow SkWriter to control the buffer growth pattern.
Change buffer growth pattern to 1.5n+4096

BUG=skia:2125
R=tomhudson@google.com, mtklein@google.com, reed@google.com

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13401 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 15:07:26 +00:00
commit-bot@chromium.org
046f1f6ff4 Cleaner external buffer handling in SkWriter32
This unifies the internal and external buffer handling so that the difference only has to be noticed when growing.
Removing the branches from the common read and write cases gives a significant speedup.

BUG=skia:2125
R=tomhudson@google.com, mtklein@google.com, reed@google.com

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13396 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 10:17:02 +00:00
mike@reedtribe.org
1195a28892 Revert "SkBitmap now really stores SkImageInfo -- config is just a ruse"
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13395 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 03:24:02 +00:00
skia.committer@gmail.com
8ed6443e6c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13393 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 03:02:13 +00:00
mike@reedtribe.org
169a0ed50a SkBitmap now really stores SkImageInfo -- config is just a ruse
(edited) clone of https://codereview.chromium.org/159173004/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13391 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 02:20:17 +00:00
commit-bot@chromium.org
7e90e8dbb9 fix minor error between kStroke_PathAsRect and kFill_PathAsRect in SkPath::asRect
R=caryclark@google.com, reed@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13390 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 01:38:30 +00:00
commit-bot@chromium.org
ba9354b9d4 SkOnce in is_lcd_supported instead of hand rolled double-checked locking.
BUG=skia:
R=bungeman@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13387 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-10 19:58:49 +00:00
commit-bot@chromium.org
50b393a768 SkPictureRecord: silently do nothing for non-drawable SkBitmaps.
BUG=skia:2135
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13386 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-10 18:29:10 +00:00
reed@google.com
6be31f42ca remove SK_SUPPORT_LEGACY_ONLOCKPIXELS completely
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13382 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-10 15:43:29 +00:00
robertphillips@google.com
f66cf72c68 Move fLastMoveToIndex from SkPath to SkPathRef
https://codereview.chromium.org/146913002/



git-svn-id: http://skia.googlecode.com/svn/trunk@13379 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-10 13:51:32 +00:00
reed@google.com
d5911c4d8f remove unneeded SK_SUPPORT_LEGACY_NEWRENDERTARGETDIRECT
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13364 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 16:23:27 +00:00
reed@google.com
5d54c29c70 remove unneeded SK_SUPPORT_LEGACY_CANVAS_CREATECOMPATIBLEDEVICE
git-svn-id: http://skia.googlecode.com/svn/trunk@13363 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 16:09:26 +00:00
commit-bot@chromium.org
5e0995e4b3 Revert of Revert "Serialization of SkPictureImageFilter" (https://codereview.chromium.org/153583007/)
Reason for revert:
New SKPs with version20 are in Google Storage due to http://108.170.219.160:10117/builders/Housekeeper-Nightly-RecreateSKPs/builds/22

Original issue's description:
> Revert "Serialization of SkPictureImageFilter"
>
> This reverts commit 227321b30106e57942929eb96fa5bc22544f6c9e.
>
> Revert "Sanitizing source files in Housekeeper-Nightly"
>
> This reverts commit baf28584b7636c01355f8d8d972e06aa7fb66d77.
>
> TBR=robertphillips@google.com,sugoi@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=13356

R=robertphillips@google.com, sugoi@google.com, fmalita@google.com, fmalita@chromium.org
TBR=fmalita@chromium.org, fmalita@google.com, robertphillips@google.com, sugoi@google.com
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13357 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 12:20:04 +00:00
fmalita@google.com
7713c38dc0 Revert "Serialization of SkPictureImageFilter"
This reverts commit 227321b30106e57942929eb96fa5bc22544f6c9e.

Revert "Sanitizing source files in Housekeeper-Nightly"

This reverts commit baf28584b7636c01355f8d8d972e06aa7fb66d77.

TBR=robertphillips@google.com,sugoi@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13356 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 05:55:39 +00:00
skia.committer@gmail.com
c5acc6c827 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13355 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 03:02:05 +00:00
commit-bot@chromium.org
4f6318d2e6 Serialization of SkPictureImageFilter
BUG=skia:

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

R=senorblanco@google.com, reed@google.com, mtklein@google.com, sugoi@google.com, senorblanco@chromium.org, robertphillips@google.com, scroggo@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13354 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 02:09:50 +00:00
robertphillips@google.com
8b4799a98b Revert of r13347 (Serialization of SkPictureImageFilter - https://codereview.chromium.org/138063005) due to bump in skp file format
git-svn-id: http://skia.googlecode.com/svn/trunk@13348 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 18:47:25 +00:00
commit-bot@chromium.org
670b98ea5d Serialization of SkPictureImageFilter
BUG=skia:
R=senorblanco@google.com, reed@google.com, mtklein@google.com, sugoi@google.com, senorblanco@chromium.org, robertphillips@google.com, scroggo@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13347 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 18:06:14 +00:00
commit-bot@chromium.org
4736ed1a0a Add ifdef to avoid "not defined" compiler warnings for VS checks
BUG=skia:2130
R=reed@google.com

Author: hcm@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13345 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 16:26:08 +00:00
reed@google.com
4f7c61583b add ways to peer into an image to get its pixels
BUG=skia:
R=bsalomon@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13339 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 14:11:56 +00:00
commit-bot@chromium.org
ae761f7545 Make SkImageFilter methods const.
SkImageFilter had some non-const methods that could all be made const.
This is a first step towards making SkImageFilter immutable.

BUG=skia:2097
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13330 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 22:32:02 +00:00
senorblanco@chromium.org
c4b12f19a4 Implement correct clipping for image filters.
Image filters in Skia currently clip the size of the the offscreen
bitmap used for filtering to the device clip bounds. This means that
any pixel-moving filter (e.g., blur) has edge artifacts at the clip
boundaries. This is problematic for tiling, where a single SkPicture
is played back with a clip set to the tile boundaries.

By implementing the onFilterBounds() traversal, and using it in
saveLayer() when a filter is present, we can clip the layer to the
expanded clip rect. Note that this requires that the traversal be
performed in reverse as compared to computeFastBounds().  (It's also
done in device space, unlike computeFastBounds()).

New test imagefiltersclipped tests pixel-moving filters when clipped
by various clip rects.
New test imageblurtiled tests tiled (compositor-style) rendering of
blurred text. There should be no artifacts at the tile boundaries.

BUG=337831
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 17:51:22 +00:00
reed@google.com
76f10a3bd9 remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurface
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 15:32:21 +00:00
skia.committer@gmail.com
1dab403e44 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13316 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 03:01:48 +00:00
commit-bot@chromium.org
ea6e14a382 TSAN: use somewhat pithier SK_ANNOTATE_UNPROTECTED_READ.
This is a little bit better practice to be i than the existing SK_ANNOTATE_BENIGN_RACE, as UNPROTECTED_READ will only ignore reads, not writes.

Tag SkRefCnt::unique() as a safe unprotected read like SkOnce's double-checked locking.

BUG=skia:
R=reed@google.com, bungeman@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13309 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 18:00:23 +00:00
reed@google.com
fdbd504950 remove kGL_Capability (unused)
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13307 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 17:49:52 +00:00
reed@google.com
6fcd28ba1d fix samplefuzz, fix some 32/64bit warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@13303 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 16:03:51 +00:00
reed@google.com
372b7a4f56 remove redundant GrContext parameter to NewRenderTargetDirect
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13299 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 14:58:30 +00:00
commit-bot@chromium.org
e254310a55 add SkCanvas constructor that explicitly creates no_config with dimensions
BUG=skia:
R=scroggo@google.com, halcanary@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13272 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 19:42:58 +00:00
commit-bot@chromium.org
c6d3c444ca Have peek32 return uint32_t& to make it harder to look at more than 4 bytes.
BUG=skia:
R=reed@google.com, robertphillips@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13265 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 16:22:57 +00:00
commit-bot@chromium.org
cc787fa802 fix auto-delete bug that crept in with new fast blur path; is causing
some of the valgrind errors.

BUG=skia:2111
R=bsalomon@google.com, robertphillips@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13257 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 01:00:49 +00:00
commit-bot@chromium.org
a2bd2d12ad Set write buffer flags only in SkWriteBuffer and SkFlatController constructors.
This is a baby step toward refactored (and faster in-process) typeface and flattenable factory encoding and decoding.  The sooner SkWriteBuffer knows its flags, the better.

Next steps will be to rearrange Sk{Read,Write}Buffer members into disjoint strategies to handle typefaces and flattenable factories: one for in-process, one for cross-process, one when validating.

BUG=skia:
R=reed@google.com, scroggo@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13253 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 22:16:32 +00:00
commit-bot@chromium.org
8b0e8ac5f5 Refactor read and write buffers.
Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.

What used to be this:

SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer  -> SkOrderedReadBuffer
SkFlattenableReadBuffer  -> SkValidatingReadBuffer

is now

SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer

Benefits:
  - code is simpler, names are less wordy
  - the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
  - write buffers are completely devirtualized, important for record speed

This refactoring was mostly mechanical.  You aren't going to find anything
interesting in files with less than 10 lines changed.

BUG=skia:
R=reed@google.com, scroggo@google.com, djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:58:24 +00:00
commit-bot@chromium.org
cf34bc0634 patch from issue 119343003
compile on 10.6, exclude failing gms

Sorry for making another CL; rebasing ToT on the old one ended up with code in a tangled mess; was easier to start over.

NOTRY=true
R=bsalomon@google.com, epoger@google.com, reed@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13238 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 15:34:43 +00:00
commit-bot@chromium.org
e8612d9a8d Add standalone drawText for GrTextContext.
This unifies the interface between GrBitmapTextContext and
GrDistanceFieldTextContext so that they don't need special case code.
The future GrNVPRTextContext will also use this interface.

BUG=skia:2018
R=bsalomon@google.com, reed@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13227 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 22:02:07 +00:00
reed@google.com
c1587f94a7 change setAlphaType to not modify the pixelref's genID
BUG=skia:
R=bsalomon@google.com, halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13219 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 16:05:39 +00:00
commit-bot@chromium.org
dcfa9ff57c Revert of Fast blurred rectangles on GPU (https://codereview.chromium.org/119343003/)
Reason for revert:
Two problems:

1. broke compile on Build-Mac10.6-* bots
2. broke GM expectations on many bots

We'll need to examine the GM impact before re-landing.  I can work with you to do this on Tuesday if you like; just IM or email me.

Original issue's description:
> Perform the same analytic blur calculation on the GPU that we do on the CPU.  Results in significant performance gains when using Ganesh to render drop shadows in Chrome.
>
> BUG=
>
> Committed: http://code.google.com/p/skia/source/detail?r=13210

R=bsalomon@google.com, reed@google.com, humper@google.com, rmistry@google.com
TBR=bsalomon@google.com, humper@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13213 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 01:55:24 +00:00
commit-bot@chromium.org
d1829151a5 Perform the same analytic blur calculation on the GPU that we do on the CPU. Results in significant performance gains when using Ganesh to render drop shadows in Chrome.
BUG=
R=bsalomon@google.com, reed@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13210 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 22:41:45 +00:00
senorblanco@chromium.org
336d1d7595 Implement a computeFastBounds() traversal for SkImageFilter.
This allows for correct culling of primitives which have image filters applied.

R=reed@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13207 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 21:03:17 +00:00
reed@google.com
99f381ad76 move getAdvancedTypefaceMetrics into private, as only skia internals call it
BUG=skia:
R=bungeman@google.com, vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13206 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 21:02:14 +00:00
commit-bot@chromium.org
c8de7a311a Ensure SSE2/3 is always enabled on Android.
R=mtklein@google.com, reed@google.com

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13204 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 20:41:03 +00:00
commit-bot@chromium.org
0e8d0d6cdc add optional SkAlphaType parameter to notifyPixelsChanged
R=scroggo@google.com, halcanary@google.com, robertphillips@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13192 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 15:41:07 +00:00
reed@google.com
7fa2a65c0c fix more 64bit warnings
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13190 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 13:42:58 +00:00
reed@google.com
1a5e51f94e remove SkScalarMul from public headers
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13189 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 13:41:02 +00:00
commit-bot@chromium.org
c2abd54eda add alternative to isRect named asRect
This defines yunchao's proposed interface in terms of
an existing implementation.

BUG=skia:
R=reed@google.com, yunchao.he@intel.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13183 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-25 16:54:31 +00:00
reed@google.com
eb9a46cbbb add legacy/helper allocN32Pixels, and convert gm to use it
This is an intermediate api, but might help us quickly get to a point where
no one is creating bitmaps in a 2-step process (setConfig + alloc).

BUG=skia:
R=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13182 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-25 16:46:20 +00:00
skia.committer@gmail.com
d2ac07b64b Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13181 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-25 07:01:49 +00:00
commit-bot@chromium.org
709ca75f03 SkOnce: add option to call another cleanup function once at exit.
Use this to clean up empty SkData and SkPathRef.

Current leaks:
  Leaked SkRefCntBase: 40
     Leaked SkFlattenable: 32
         Leaked SkPixelRef: 32
             Leaked SkMallocPixelRef: 32
     Leaked SkFontConfigInterface: 1
     Leaked SkWeakRefCnt: 1
         Leaked SkTypeface: 1
     Leaked SkFontMgr: 1
     Leaked SkDataTable: 3
     Leaked SkImage: 1
         Leaked ???: 1
     Leaked ???: 1

BUG=skia:
R=halcanary@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13180 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 22:38:39 +00:00
commit-bot@chromium.org
a8c7f7702f fix (some) 64bit warnings -- size_t -> int
BUG=skia:
R=mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13178 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 21:46:29 +00:00
reed@google.com
9ebcac5463 add installPixels
BUG=skia:
R=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13174 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 18:53:42 +00:00
commit-bot@chromium.org
227c246731 Resolve a few memory leaks in tests.
Purge the global scaled image cache after use in tests.  The cache was
right to hold on to the pixels indefinitely, but this change makes it
easier to run down actual memory leaks.

Add SK_DECLARE_INST_COUNT to several classes.

BUG=skia:
R=reed@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 18:33:07 +00:00
commit-bot@chromium.org
fed2ab6483 No deduping dictionaries for matrices and regions.
There's little benefit to deduping matrices and regions: they're infrequently
used, and doubly infrequently reused.  Their use-weighted byte cost is tiny.

There is some downside to deduping matrices and regions.  Even when they're not
used, we prepare dictionaries for deduping them for every picture.  Each of
these dictionaries costs 160 bytes, so two unused dictionaries make a big chunk
of the ~1100 bytes it takes to allocate an SkPictureRecord. (~330 come from
parent class SkCanvas, 768 from SkPictureRecord itself, here reduced to 448).

One side benefit of not deduping these guys is that the change weighs -140 lines of code.

It may go without saying, but this breaks the picture format.

Testing: out/Debug/tests && out/Debug/dm  (which runs all picture modes by default)

BUG=skia:1850
R=reed@google.com, bensong@google.com, robertphillips@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 15:16:05 +00:00
commit-bot@chromium.org
91506eb0b9 Scope our ANNOTATE_BENIGN_RACE.
This should unstick the DEPS roll.  When building with TSAN, Chromium's pulling
in the canonical one from dynamic_annotations.h, and we're trying to redefine it.

R=robertphillips@google.com, reed@google.com, bsalomon@google.com
TBR=reed@google.com
BUG=

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13129 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-21 15:11:02 +00:00
commit-bot@chromium.org
2ab1ba0555 Make leak counters thread-safe and turn them on by default for Debug
Make leak counters implemented with SK_DECLARE_INST_COUNT thread-safe.
Enable the leak counting for Debug builds when Skia is built as a
static library. Having SK_DECLARE_INST_COUNT without
SK_DEFINE_INST_COUNT relies on static variables in member functions
declared in the header files. These might be duplicated in the clients
of the library when Skia is built as a dynamic library, producing
incorrect operation.

Protect the instance counter initialization step (initStep) by
using SkOnce.

Makes SkOnce.h part of the public API, since SkInstCnt is public.

Protect the per-class child list shared variable with a per-class mutex.

Changes the behavior in the way that if the child list has been
"cleaned up", it will still try to create subsequent child lists.

BUG=skia:1219
R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com, bungeman@google.com, djsollen@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13120 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 17:55:02 +00:00
commit-bot@chromium.org
90313cc36a Move GrGLExtensions from GrGLContextInfo to GrGLInterface
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13118 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 15:05:38 +00:00
commit-bot@chromium.org
3aa7a02b65 SK_API SkMallocPixelRef
Motivation: make https://codereview.chromium.org/138393002/ work.

R=reed@google.com, djsollen@google.com, bsalomon@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13106 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 14:46:16 +00:00
commit-bot@chromium.org
b06faacaf1 Factor out UnPreMultiplyPreservingByteOrder
BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13103 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 22:24:58 +00:00
reed@google.com
5f62ed7434 no need to refcnt colortables, since pixelrefs own them
BUG=skia:
R=halcanary@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13098 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 19:59:45 +00:00
skia.committer@gmail.com
d77b3ecd92 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13083 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 07:01:43 +00:00
commit-bot@chromium.org
32678d9a45 use some helper Make functions to initialize SkImageInfo
BUG=
R=halcanary@google.com, scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13081 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 02:38:22 +00:00
tfarina@chromium.org
62f1048ada Deprecate two more functions using SK_ATTR_DEPRECATED macro.
BUG=None
TEST=None
R=reed@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13079 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 00:19:21 +00:00
djsollen@google.com
8844f99780 Revert "Make leak counters thread-safe and turn them on by default for Debug"
iThis CL is breaking the Android debug test bots by firing an assert.

BUG=skia:1219

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13076 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 21:54:44 +00:00
commit-bot@chromium.org
19382421b9 Convert SkWriter32 to use an SkTDArray for its internal storage.
This reduces the allocation overhead of a null picture (create, beginRecording(), endRecording) from about 18K to about 1.9K.  (There's still lots more to prune.)

SkPictureFlat can exploit the fact that Writer32 is contiguous simplify its memory management.  The Writer32 itself becomes the scratch buffer.

Remove lots and lots of arbitrary magic numbers that were size guesses and minimum allocation sizes.  Keep your eyes open for the big obvious DUH why we save 16K per picture!  (Spoiler alert.  It's because that first save we issue in beginRecording() forces the old SkWriter32 to allocate 16K.)

Tests passing, DM passing.

bench --match writer: ~20% faster
null bench_record: ~30% faster
bench_record on buildbot .skps: ~3-6% slower, ranging 25% faster to 20% slower
bench_pictures on buildbot .skps: ~1-2% faster, ranging 13% faster to 28% slower

BUG=skia:1850
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13073 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 20:51:26 +00:00
commit-bot@chromium.org
46de153d4e Make leak counters thread-safe and turn them on by default for Debug
Make leak counters implemented with SK_DECLARE_INST_COUNT thread-safe.
Enable the leak counting for Debug builds.

Protect the instance counter initialization step (initStep) by
using SkOnce.

Makes SkOnce.h part of the public API, since SkInstCnt is public.

Protect the per-class child list shared variable with a per-class mutex.

Changes the behavior in the way that if the child list has been
"cleaned up", it will still try to create subsequent child lists.

BUG=skia:1219

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

R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com, bungeman@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13068 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 18:42:26 +00:00
tfarina@chromium.org
5f43d21dd4 Remove drawPosTextOnPath() from SkDevice API.
All clients were updated including Chrome, so we can remove this now
from Skia.

This was committed on Chromium at
https://src.chromium.org/viewvc/chrome?view=rev&revision=244287

BUG=skia:1834
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13059 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 21:42:25 +00:00
commit-bot@chromium.org
e13af711d4 Revert of https://codereview.chromium.org/132643007/
Reason for revert: broken tests

TBR=
NOTREECHECKS=true
NOTRY=true
BUG=

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13058 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:39:14 +00:00
reed@google.com
f0b56e7448 Revert "Revert of https://codereview.chromium.org/129423002/"
fixed new api references in unit tests

This reverts commit ffc0058e1fbcbd69617e1f41b2dce5b5765ff99e.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13057 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:28:50 +00:00
commit-bot@chromium.org
9b06ba4c91 Revert of https://codereview.chromium.org/129423002/
Reason for revert: broke tests (compile)

R=scroggo@google.com, halcanary@google.com
TBR=halcanary@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13056 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:23:48 +00:00
reed@google.com
dd9ea9262c add SkBitmap::installPixelRef()
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13055 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 20:17:58 +00:00
reed@google.com
1a033fb55e remove (now dead code) for SK_SUPPORT_LEGACY_COLORTYPE and SK_SUPPORT_LEGACY_ALPHATYPE
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13043 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 15:04:50 +00:00
reed@google.com
bf0001d047 remove remaining references to Sk64 (obsolete)
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13042 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 14:53:55 +00:00
reed@google.com
f3abaeb0c5 remove (now unused) Sk64 -- just use int64_t
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13032 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 22:05:41 +00:00
bungeman@google.com
18b75e54ab Fix race on creating the default typeface.
BUG=skia:1906
R=mtklein@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12993 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 17:13:32 +00:00
skia.committer@gmail.com
1ae9111f33 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12980 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 07:01:42 +00:00
commit-bot@chromium.org
41bf930039 Rename GPU functions on SkBlurMaskFilter and pass ctm.
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 22:25:53 +00:00
reed@google.com
1360c52b10 use SkImageInfo directly, instead of converting to SkBitmap::Config
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12972 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:25:26 +00:00
commit-bot@chromium.org
4b5fba5a3c Use a spinlock in SkOnce.
SkOnceFlag is now statically initializable on all platforms.

Also adds sk_atomic_cas, used to implement new SkSpinlock.

Going to punt on making SkOnceFlag any smaller (for now, it's 8 bytes).  We could conceivably get it down to two bits, one for done and one for a one-bit spinlock (we'd need atomic-& and atomic-| to make that work, but they appear to be available everywhere).

BUG=skia:1929
R=bungeman@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12968 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:15:56 +00:00
reed@google.com
672588b684 change offset to xy for pixelref subsetting
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12958 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 15:42:01 +00:00
reed@google.com
614cbeef47 remove SK_SUPPORTED_DEPRECATED_FIXEDROUND, no longer needed
git-svn-id: http://skia.googlecode.com/svn/trunk@12918 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:49:32 +00:00
commit-bot@chromium.org
c8d732800e Renamed JsCanvas to JsContext and moved into it's own file.
Fleshed out a lot of the Path interface.

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

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12913 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:17:24 +00:00
reed@google.com
d0419b1fe7 Revert "Revert "Revert "Revert of https://codereview.chromium.org/110593003/"""
This reverts commit aaa89649590323fe40f52439d9a9a3376bb3b8ae.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12910 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 17:08:27 +00:00
reed@google.com
7627c657b0 add rowBytes param to setPreLock, in prep for onNewLockPixels change
need _win.cc change from https://codereview.chromium.org/124503002/ when this lands in chrome

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12907 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 15:01:48 +00:00
reed@google.com
ba82bd11e2 Revert "Revert "Revert of https://codereview.chromium.org/110593003/""
This reverts commit 0fef787f33aa38109a0c8427e0098d997efdd5ff.

failed in chrome: https://codereview.chromium.org/124503002/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12906 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 13:34:39 +00:00
mike@reedtribe.org
9fb00413ec SK_SUPPORTED_DEPRECATED_FIXEDROUND around deprecated fixed[round,ceil,floor]
git-svn-id: http://skia.googlecode.com/svn/trunk@12903 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 03:02:37 +00:00
skia.committer@gmail.com
98272d9142 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12901 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-04 07:01:40 +00:00
senorblanco@chromium.org
6776b82d46 Make SkImageFilter crop rects relative to the primitive origin, instead of relative to their parent's crop rect. This is required by SVG semantics, and is more sane anyway.
To do this, this patch changes the "offset/loc" parameter in filterImage() / onFilterImage() from an inout-param to an out-param only, so that the calling filter can know how much the input filter wants its result offset (and doesn't include the original primitive position). This offset can then be applied to the current filter's crop rect. (I've renamed the parameter "offset" in all cases to make this clear.) This makes the call sites in SkCanvas/SkGpuDevice responsible for applying the resulting offset to the primitive's position, which is actually a fairly small change.

This change also fixes SkTileImageFilter and SkOffsetImageFilter to correctly handle an input offset, which they weren't before. This required modifying the GM's, since they assumed the broken behaviour.

NOTE: this will require rebaselining the imagefiltersgraph test, since it has a new test case.

NOTE: this will "break" the Blink layout tests css3/filters/effect-reference-subregion-chained-hw.html and css3/filters/effect-reference-subregion-hw.html, but it actually makes them give correct results. It should be suppressed on the skia roll, and I'll rebaseline it.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12895 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 21:48:22 +00:00
reed@google.com
927138977f Revert "Revert of https://codereview.chromium.org/110593003/"
This reverts commit c7abb25b25ba8b97948371d2bf0a2e3e78468f73.

and fixes the ashmem break

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12887 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 17:58:57 +00:00
commit-bot@chromium.org
27f890219b Revert of https://codereview.chromium.org/110593003/
Reason for revert: SkImageRef_ashmem doesn't compile

R=halcanary@google.com, scroggo@google.com
TBR=halcanary@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12884 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 16:32:45 +00:00
reed@google.com
f1ce05288a Add onNewLockPixels, that returns rowbytes and relies on info in pixelref
This reverts commit 890a6ec633c1f54891104a072a8964b4c2c81af9.

BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12883 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 16:22:48 +00:00
reed@google.com
33cc989f23 remove SK_SUPPORT_LEGACY_PIXELREF_CONSTRUCTOR and make fInfo const
BUG=
R=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12863 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 18:07:46 +00:00
halcanary@google.com
1bed687f6b Add a release procedure to SkMallocPixelRef; remove SkDataPixelRef
This works in a way that is similar to SkData.

SkMallocPixelRef::NewWithProc

    Motivation: Chrome has a ETC1PixelRef which calls delete[] on the
    pixles on destruction.  There is no reason for them to almost
    duplicate our class, when we can provide them a more flexible
    class.  Example use:

      static void delete_uint8_proc(void* ptr, void*) {
        delete[] static_cast<uint8_t>(ptr);
      }
      SkPixelRef* new_delete_pixref(const SkImageInfo& info,
                                    SkColorTable* ctable) {
        size_t rb = info.minRowBytes();
        return SkMallocPixelRef::NewWithProc(
          info, rb, ctable,
          new uint8_t[info.getSafeSize(rb)],
          delete_uint8_proc, NULL);
      }

SkMallocPixelRef::NewWithData

	Motivation:  This allows up to eliminate SkDataPixelRef.  We
    modified SkImage_Raster to use MallocPixelRef rather than
    SkDataPixlRef.

Also:  Unit tests in tests/MallocPixelRefTest.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12861 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 17:29:28 +00:00
halcanary@google.com
3d50ea1b87 Add Options to SkDecodingImageGenerator, simplify API.
Motivation: We want to remove redundant classes from Skia.  To
that end we want to remove SkImageRef and its subclasses and
replace their uses with SkDiscardablePixelRef +
SkDecodingImageGenerator.  Since Android uses SkImageRef, we need
to make sure that SkDecodingImageGenerator allows all of the
settings that Android exposes in BitmapFactory.Options.

To that end, we have created an Options struct for the
SkDecodingImageGenerator which lets the client of the generator set
sample size, dithering, and bitmap config.

We have made the SkDecodingImageGenerator constructor private
and replaced the SkDecodingImageGenerator::Install functions
with a SkDecodingImageGenerator::Create functions (one for
SkData and one for SkStream) which now take a
SkDecodingImageGenerator::Options struct.

Also added a ImageDecoderOptions test which loops through a list
of sets of options and tries them on a set of 5 small encoded
images.

Also updated several users of SkDecodingImageGenerator::Install to
follow new call signature - gm/factory.cpp, LazyDecodeBitmap.cpp,
and PictureTest.cpp, CachedDecodingPixelRefTest.cpp.

We also added a new ImprovedBitmapFactory Test which simulates the
exact function that Android will need to modify to use this,
installPixelRef() in BitmapFactory.

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

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12855 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 13:15:13 +00:00
mike@reedtribe.org
ae8f9528fd speedup SkRect::intersect
git-svn-id: http://skia.googlecode.com/svn/trunk@12851 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-01 20:32:45 +00:00
reed@google.com
57212f9469 Revert "Revert of https://codereview.chromium.org/113823003/"
This reverts commit 68b4b32066ea0ba9dbb5d326a836f8a54297b7aa.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:40:38 +00:00
commit-bot@chromium.org
4ad4ae907f Revert of https://codereview.chromium.org/113823003/
Reason for revert: need to update callsites in linux codecs

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12841 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:24:37 +00:00
reed@google.com
a306d93cd7 remove Sk64 from public API, and start to remove usage internally
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12840 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 14:14:42 +00:00
reed@google.com
01c41a556e Revert "Revert "begin to remove SkLONGLONG and wean Skia off of Sk64""
This reverts commit 15b986baf026a3da5e2cac8106a1b753df242c39.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12796 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 14:24:21 +00:00
reed@google.com
b1560445c6 Revert "begin to remove SkLONGLONG and wean Skia off of Sk64"
This reverts commit 784890196fdab96289f9389db43aca01f35db0f9.

Revert "use LL suffix for 64bit literal"

This reverts commit 9634295aff9bffd7a3875a0ca4a9b1a27d0793fc.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 22:28:48 +00:00
reed@google.com
d6a301e9ad begin to remove SkLONGLONG and wean Skia off of Sk64
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12788 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 21:54:27 +00:00
commit-bot@chromium.org
8128d8c119 Move distance field font code into GrDistanceFieldTextContext.
This avoids the SkDraw path and renders the distance field glyphs directly from
GrDistanceFieldTextContext. It also disables LCD, subpixel and autohinting, and
removes the supporting code when rendering DF fonts.

R=reed@google.com, bsalomon@google.com, robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12770 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 16:12:25 +00:00
reed@google.com
1915fd09f3 remove unused SkFixed and SkFract functions
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 14:22:03 +00:00
commit-bot@chromium.org
1ad518bf38 Revert of https://codereview.chromium.org/93703004/
Reason for revert: Test failures

R=scroggo@google.com, djsollen@google.com, reed@google.com, halcanary@google.com
TBR=djsollen@google.com, halcanary@google.com, reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12747 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 18:33:15 +00:00
halcanary@google.com
d665dc4c10 Add Options to SkDecodingImageGenerator, simplify API.
Motivation: We want to remove redundant classes from Skia.  To
that end we want to remove SkImageRef and its subclasses and
replace their uses with SkDiscardablePixelRef +
SkDecodingImageGenerator.  Since Android uses SkImageRef, we need
to make sure that SkDecodingImageGenerator allows all of the
settings that Android exposes in BitmapFactory.Options.

To that end, we have created an Options struct for the
SkDecodingImageGenerator which lets the client of the generator set
sample size, dithering, and bitmap config.

We have made the SkDecodingImageGenerator constructor private
and replaced the SkDecodingImageGenerator::Install functions
with a SkDecodingImageGenerator::Create functions (one for
SkData and one for SkStream) which now take a
SkDecodingImageGenerator::Options struct.

Also added a ImageDecoderOptions test which loops through a list
of sets of options and tries them on a set of 5 small encoded
images.

Also updated several users of SkDecodingImageGenerator::Install to
follow new call signature - gm/factory.cpp, LazyDecodeBitmap.cpp,
and PictureTest.cpp, CachedDecodingPixelRefTest.cpp.

We also added a new ImprovedBitmapFactory Test which simulates the
exact function that Android will need to modify to use this,
installPixelRef() in BitmapFactory.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12744 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 17:40:25 +00:00
reed@google.com
8015cdd8fa replace SkScalarMulRound(a,b) with SkScalarRountToInt(a*b)
BUG=
R=sugoi@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12740 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 15:49:32 +00:00
bungeman@google.com
d9947f605a Split atomic and mutex implementations and make inlinable.
Skia cannot use Chromium's implementation of mutex (Lock) due to static
initializers. However, we would like to be able to use Chromium's
implementation of atomics. This motivates the split of implementation.

Skia's atomic and mutex calls should be inlinable, especially the atomics.
These calls often compile down to very few instructions, and we currently have
the overhead of a function call. This motivates the header implementation.

There is still a desire for the build system to select the implementation, so
the SK_XXX_PLATFORM_H pattern for header files is introduced. This allows the
build system to control which platform specific header files are chosen.

The Chromium side changes (most of which will need to go in before this change
can be found at https://codereview.chromium.org/19477005/ .
The Chromium side changes after this lands can be seen at 
https://codereview.chromium.org/98073013 .

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 15:27:39 +00:00
reed@google.com
6e252d49c9 move SkScalarMean into its only caller, reducing out public API exposure
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12732 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 05:06:52 +00:00
reed@google.com
e15b2f5296 move SkScalarLog2 into its only client, in a move to reduce our public API surface area
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12731 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 04:59:26 +00:00
commit-bot@chromium.org
ef74fa189b Fixed more fuzzer issues
- Added the "isAvailable" function to check how much bytes are remaining in the stream before doing potentially large mallocs. That way, we can signal a bad stream instead of crashing.
- Added data validation in SkImageInfo.cpp
- Added NULL pointer check in displacement
- Modified the fuzzer for randomized bitmap types

BUG=328934,329254
R=senorblanco@google.com, senorblanco@chromium.org, reed@google.com, sugoi@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12723 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 20:49:46 +00:00
reed@google.com
e1ca705cac deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 19:22:07 +00:00
reed@google.com
8f4d2306fa remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats
To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.

BUG=
R=bsalomon@google.com, caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:44:46 +00:00
commit-bot@chromium.org
46ec81572b The register keyword is deprecated in C++, even at -O0, registers are used automatically.
Having the register keyword there causes a warning about deprecated keywords when using clang (and possibly future gcc versions), and isn't needed.

Patch originally submitted to AOSP
https://android-review.googlesource.com/#/c/72501

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

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12702 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 23:51:11 +00:00
bungeman@google.com
cbe1b54c30 Supports the cap height for FreeType even when TT OS2 version is 1.
BUG=http://crbug.com/318645
R=bungeman@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 17:02:39 +00:00
reed@google.com
3c12840b23 remove SkFP.h and replace SkFP with SkScalar stop respecting SK_SOFTWARE_FLOAT, assume its always false stop respecting SK_SCALAR_SLOW_COMPARES, assume its always false
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 14:17:40 +00:00
skia.committer@gmail.com
96f5fa02e9 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12685 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 07:01:40 +00:00
reed@google.com
c0784dbd40 remove SkScalarCompare type and header
BUG=
R=fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12681 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 21:16:12 +00:00
reed@google.com
e132f5031f bump picture format to 17 to go with PixelRef Info CL
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12678 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 19:58:46 +00:00
reed@google.com
bf790232f6 Update all callsites to use info for pixelrefs
#define SK_SUPPORT_LEGACY_PIXELREF_CONSTRUCTOR in chrome to keep old API signature (for now)

BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12677 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 19:45:58 +00:00
robertphillips@google.com
0efb21bd1c Improved SkPathRef interface security
https://codereview.chromium.org/115323004/



git-svn-id: http://skia.googlecode.com/svn/trunk@12676 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 19:36:25 +00:00
robertphillips@google.com
0daa1adb03 Reverting r12665 & r12666 (Remove duplicate impl for SkImageInfo flattening) due to Chromium/Blink compilation errors
https://codereview.chromium.org/112603003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 15:24:37 +00:00
reed@google.com
93b40594b7 Remvoe duplicate impl for SkImageInfo flattening
Add onNewLockPixels

This reverts commit bb8eff6a70c52b7644391cfd4f4d21bf7294a6bf.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12665 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 14:18:14 +00:00
reed@google.com
c83a91f472 Revert "Revert of https://codereview.chromium.org/112783004/"
This reverts commit 3293fe57a7507541e9040eab880dcd82c43881f4.

Conflicts:
	src/core/SkScaledImageCache.cpp

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12663 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 13:41:14 +00:00
robertphillips@google.com
6b8dbb668f Move segment mask from SkPath to SkPathRef
https://codereview.chromium.org/105083003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12660 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 23:03:51 +00:00
commit-bot@chromium.org
281713e4d4 Revert of https://codereview.chromium.org/112783004/
Reason for revert: Failing assert on Android

R=scroggo@google.com, halcanary@google.com, reed@google.com, rmistry@google.com
TBR=halcanary@google.com, reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12646 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 18:08:08 +00:00
reed@google.com
772d8524ce ensure that we call onUnlock only when we onLock succeeded
BUG=
R=halcanary@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12642 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 16:27:12 +00:00
scroggo@google.com
728f2a6252 Initialize SkPixelRef::fInfo.
Still will need to make subclasses call the version of the constructor
that initializes fInfo properly.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12639 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 15:19:30 +00:00
robertphillips@google.com
3886951464 Reverting r12635 (Make leak counters thread-safe - https://codereview.chromium.org/99483003) due to compile errors on Mac 10.6 & in Chrome
git-svn-id: http://skia.googlecode.com/svn/trunk@12637 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 14:24:20 +00:00
commit-bot@chromium.org
469a9732c5 Make leak counters thread-safe and turn them on by default for Debug
Make leak counters implemented with SK_DECLARE_INST_COUNT thread-safe.
Enable the leak counting for Debug builds.

Protect the instance counter initialization step (initStep) by
using SkOnce.

Makes SkOnce.h part of the public API, since SkInstCnt is public.

Protect the per-class child list shared variable with a per-class mutex.

Changes the behavior in the way that if the child list has been
"cleaned up", it will still try to create subsequent child lists.

BUG=skia:1219
R=robertphillips@google.com, mtklein@google.com, bungeman@gmail.com, bsalomon@google.com, bungeman@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12635 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 14:00:12 +00:00
reed@google.com
398337b3a5 Revert "remvoe duplicate impl for SkImageInfo flattening"
Reason: breaks chrome_mac_tests which still have non-imageinfo constructors

This reverts commit a06b8cf60b39bda93e9ef1a73579007b2b930d29.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12631 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 21:22:39 +00:00
reed@google.com
a0d183d891 Revert "Revert of https://codereview.chromium.org/108773003/"
This reverts commit 947e6a3142af66b750f1247ef933b11ed8455dd4.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12630 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 21:15:58 +00:00
commit-bot@chromium.org
ff9c6c92e5 Revert of https://codereview.chromium.org/108773003/
Reason for revert: breaks chrome-mac-tests

TBR=
NOTREECHECKS=true
NOTRY=true

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12629 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 20:55:41 +00:00
reed@google.com
f3aead2829 remvoe duplicate impl for SkImageInfo flattening
Revert "Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""""""

This reverts commit eabd6b2ed4e494b323c08f32358f45950a0368c3.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:38:46 +00:00
reed@google.com
6a32add491 Revert "PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap."""""
This reverts commit d08eca87a0bef10112a211de540f89656a80b86a.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12623 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:19:10 +00:00
reed@google.com
6965a0a2df PixelRef now returns (nearly) everything that is currently in SkBitmap. The goal is to refactor bitmap later to remove redundancy, and more interestingly, remove the chance for a disconnect between the actual (pixelref) rowbytes and config, and the one claimed by the bitmap.""""
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 18:04:56 +00:00
halcanary@google.com
edd370f949 Sk_API for SkImageGenerator and SkInstallDiscardablePixelRef
Added SK_API to SkImageGenerator (already in include/).

Moved SkDiscardablePixelRef::Install to SkInstallDiscardablePixelRef,
added SK_API to that function, and moved declaration to
SkImageGenerator.h

This keeps the SkDiscardablePixelRef internal to Skia, but exposes a
method to install it into a bitmap.

Modifed tests that rely on this functio to use new version.

BUG=
R=mtklein@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12612 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 21:11:12 +00:00
vandebo@chromium.org
5f209e6405 Revert "[PDF] Fix font embedding restrictions."
This reverts r12600 and r12601, likely causing crash on Mac.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12604 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 17:22:41 +00:00
commit-bot@chromium.org
47fb2b9c67 [PDF] Fix font embedding restrictions.
Stop using restricted font outlines and honor don't subset restriction.

R=reed@google.com, bungeman@google.com

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12600 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 16:32:06 +00:00
reed@google.com
9230ea2971 make info real in SkPixelRef, and add bitmap::asImageInfo
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12586 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 22:01:03 +00:00
commit-bot@chromium.org
cea9abb001 Do not use GrBicubic effect when downscaling. Also, don't use glTexStorage as it interferes with deleyed mipmap generation.
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12576 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 19:15:37 +00:00
halcanary@google.com
29d96935ae SkDecodingImageGenerator now uses SkStreamRewindable
This makes sense since Android will be giving us a stream and the
decoders expect a stream.  This also removes some glue code,
DecodeMemoryToTarget, that works better using a SkImageGenerator.

Motivation: This is a necessary step to move from SkImageRef to
SkDiscardablePixelRef.

SkImageDecoder::DecodeMemoryToTarget function removed.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12560 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 13:45:02 +00:00
reed@google.com
b0eb102ed6 remove explicit when we have 2 args
git-svn-id: http://skia.googlecode.com/svn/trunk@12553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 22:16:10 +00:00