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
commit-bot@chromium.org
d8ed85101e
Turn NVPR on by default (but off in tools).
...
BUG=skia:2042
Committed: http://code.google.com/p/skia/source/detail?r=13164
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/144003006
git-svn-id: http://skia.googlecode.com/svn/trunk@13176 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 20:49:44 +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
halcanary@google.com
68c74884d0
Revert "Turn NVPR on by default (but off in tools)."
...
This reverts commit 83d81c96de
.
Broke Windows build. Autorevert didn't work.
TBR=bsalomon@google.com ,robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
BUG=skia:2042
Review URL: https://codereview.chromium.org/146863003
git-svn-id: http://skia.googlecode.com/svn/trunk@13169 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 16:04:09 +00:00
senorblanco@chromium.org
0ded88d431
[Reland of r13154, since the Housekeeping bot seems to have reverted it in r13155. Next time I'll put the "do not disturb" sign on my commit.]
...
Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h.
Correctness and performance covered by existing tests; no change in functionality.
R=bsalomon@google.com , djsollen@google.com , reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=13154
BUG=skia:
Review URL: https://codereview.chromium.org/135013004
git-svn-id: http://skia.googlecode.com/svn/trunk@13168 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 15:43:50 +00:00
commit-bot@chromium.org
cc40f06db7
Add factory class for generating various flavors of GrTextContext.
...
This is the first pass of making Gr*TextContext more generic and easily
subclassed. The next stage will be making GrBitmapTextContext and
GrDistanceFieldTextContext more similar by moving the SkDraw loop into
each subclass.
BUG=skia:2018
Committed: http://code.google.com/p/skia/source/detail?r=13142
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/144283002
git-svn-id: http://skia.googlecode.com/svn/trunk@13165 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 14:38:27 +00:00
commit-bot@chromium.org
83d81c96de
Turn NVPR on by default (but off in tools).
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/144003006
git-svn-id: http://skia.googlecode.com/svn/trunk@13164 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 14:38:13 +00:00
skia.committer@gmail.com
1878a44c74
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13155 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 18:48:56 +00:00
senorblanco@chromium.org
76d4d04b18
Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h.
...
Correctness and performance covered by existing tests; no change in functionality.
R=bsalomon@google.com , djsollen@google.com , reed@google.com
Review URL: https://codereview.chromium.org/135013004
git-svn-id: http://skia.googlecode.com/svn/trunk@13154 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 18:45:23 +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
mike@reedtribe.org
d173b87608
remove SkScalarMul macro
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13145 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 02:02:45 +00:00
commit-bot@chromium.org
f1d63aa80d
Revert of Add factory class for generating various flavors of GrTextContext. ( https://codereview.chromium.org/144283002/ )
...
Reason for revert:
Breaks Chrome. Need to fix template issue.
Original issue's description:
> Add factory class for generating various flavors of GrTextContext.
>
> This is the first pass of making Gr*TextContext more generic and easily
> subclassed. The next stage will be making GrBitmapTextContext and
> GrDistanceFieldTextContext more similar by moving the SkDraw loop into
> each subclass.
>
> BUG=skia:2018
>
> Committed: http://code.google.com/p/skia/source/detail?r=13142
R=bsalomon@google.com , reed@google.com
TBR=bsalomon@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2018
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/145023006
git-svn-id: http://skia.googlecode.com/svn/trunk@13143 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-22 22:01:41 +00:00
commit-bot@chromium.org
ce96b651d3
Add factory class for generating various flavors of GrTextContext.
...
This is the first pass of making Gr*TextContext more generic and easily
subclassed. The next stage will be making GrBitmapTextContext and
GrDistanceFieldTextContext more similar by moving the SkDraw loop into
each subclass.
BUG=skia:2018
R=bsalomon@google.com , reed@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/144283002
git-svn-id: http://skia.googlecode.com/svn/trunk@13142 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-22 21:37:03 +00:00
commit-bot@chromium.org
c72425ae36
Move GrGLInterface function pointers into a nested struct
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/133073009
git-svn-id: http://skia.googlecode.com/svn/trunk@13130 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-21 16:09:18 +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
7322893af0
Adding SK_API to SkGLContextHelper and SkNullGLContext for use in blink unit test component build
...
BUG=skia:
R=bsalomon@chromium.org
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/141813002
git-svn-id: http://skia.googlecode.com/svn/trunk@13119 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 16:59:03 +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
92b7884e88
Remove GR_GL_IGNORE_ES3_MSAA.s
...
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/140933005
git-svn-id: http://skia.googlecode.com/svn/trunk@13115 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 20:49:46 +00:00
commit-bot@chromium.org
cc190eb6f3
Allow GrGLInterface factories in Chromium to continue to compile.
...
BUG=skia:2042
TBR=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/136573003
git-svn-id: http://skia.googlecode.com/svn/trunk@13112 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 18:49:01 +00:00
commit-bot@chromium.org
9e90aed5de
Rename GrGLBinding->GrGLStandard, no longer a bitfield
...
BUG=skia:2042
R=jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/133413003
git-svn-id: http://skia.googlecode.com/svn/trunk@13108 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-16 16:35:09 +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
commit-bot@chromium.org
a3b15ed037
Make GrGLInterface be context-specific on all platforms
...
BUG=skia:2042
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/137753005
git-svn-id: http://skia.googlecode.com/svn/trunk@13097 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 19:32:03 +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
senorblanco@chromium.org
a612d4c513
Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in.
...
It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size.
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=13077
Reverted: https://code.google.com/p/skia/source/detail?r=13078
BUG=
Review URL: https://codereview.chromium.org/136863006
git-svn-id: http://skia.googlecode.com/svn/trunk@13082 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 04:49:18 +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
senorblanco@chromium.org
96673a918d
Revert "Implement a resize image filter."
...
This reverts commit 3f996e31c7043929fc1553b9b5ecd6a82b5fe125 (r13077).
TBR=reed
Review URL: https://codereview.chromium.org/136793012
git-svn-id: http://skia.googlecode.com/svn/trunk@13078 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 22:55:04 +00:00
senorblanco@chromium.org
535e1ccbd0
Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in.
...
It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size.
R=reed@google.com
Review URL: https://codereview.chromium.org/136863006
git-svn-id: http://skia.googlecode.com/svn/trunk@13077 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 22:20:48 +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
commit-bot@chromium.org
a7d89c83a4
Handle drawBitmapRect src_rect->dst_rect mapping as a local matrix rather than view matrix when there is a mask filter.
...
BUG=skia:1998
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/131323004
git-svn-id: http://skia.googlecode.com/svn/trunk@13041 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 14:47:00 +00:00
robertphillips@google.com
56bf6e4bce
Pull in Chromium's version of GatherPixelRefs
...
https://codereview.chromium.org/134473002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13038 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 13:33:26 +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
halcanary@google.com
2d1adf2322
Reduce verbosity of SkGraphics::Init in default case.
...
SkGraphics::Init() now checks to see if there are any non-default
runtime configuration options before announcing that it is about
to print out the non-default runtime configuration options.
This makes the executables in tools/ less verbose.
Add SkRTConfRegistry::countNonDefault() function.
BUG=
R=mtklein@google.com , reed@google.com
Review URL: https://codereview.chromium.org/133583003
git-svn-id: http://skia.googlecode.com/svn/trunk@13017 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 15:00:45 +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
commit-bot@chromium.org
40eb3c1000
Add AlphaThreshold filter.
...
This is based on the Bitmap Alpha Threshold filter, and will be used by Chromium
to implement the window shape API.
R=bsalomon@chromium.org , wez@chromium.org , bsalomon@google.com , reed@google.com
Author: zork@chromium.org
Review URL: https://codereview.chromium.org/115633002
git-svn-id: http://skia.googlecode.com/svn/trunk@12935 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 23:41:14 +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
skia.committer@gmail.com
f5e1f63461
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12849 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 07:01:36 +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
robertphillips@google.com
f5a76839b9
Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
...
https://codereview.chromium.org/118533003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12781 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 19:37:10 +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
robertphillips@google.com
01a2f1cbad
Revert r12758 (Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2) - https://codereview.chromium.org/118533003 ) due to Chromium-side compilation issues
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12762 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 23:56:59 +00:00
commit-bot@chromium.org
9cfa287bc7
Remove SkBitmapAlphaThresholdShader
...
R=bsalomon@google.com
Author: zork@chromium.org
Review URL: https://codereview.chromium.org/108653012
git-svn-id: http://skia.googlecode.com/svn/trunk@12759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 21:58:53 +00:00
commit-bot@chromium.org
0ef335ac81
Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows (Take 2)
...
Requires changes from https://codereview.chromium.org/99053007/ before this can be rolled in Chromium DEPS. If this begins breaking the build due to an early roll, please contact bajones@chromium.org before reverting.
BUG=326382
R=bsalomon@chromium.org
TBR=bsalomon@chromium.org
Author: bajones@chromium.org
Review URL: https://codereview.chromium.org/118533003
git-svn-id: http://skia.googlecode.com/svn/trunk@12758 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 21:09:21 +00:00
commit-bot@chromium.org
98000efa59
Android now uses Harfbuzz-NG. No need to keep code specific to the old version of Harfbuzz around!
...
R=scroggo@google.com , reed@google.com , bungeman@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/107663012
git-svn-id: http://skia.googlecode.com/svn/trunk@12756 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 19:49:27 +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
robertphillips@google.com
94d8f1ed61
Update bench pictures to time image decode & upload costs
...
https://codereview.chromium.org/117583002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12742 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 17:25:33 +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
robertphillips@google.com
3cf7e93b67
Revert r12694 (Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows - https://codereview.chromium.org/111403003 ) due to Chromium-side compilation errors
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12707 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 15:13:55 +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
commit-bot@chromium.org
6ed67789c5
Updated GLintptr and GLsizeiptr to be the appropriate types on 64 bit Windows
...
BUG=326382
R=reed@google.com , bsalomon@google.com
Author: bajones@chromium.org
Review URL: https://codereview.chromium.org/111403003
git-svn-id: http://skia.googlecode.com/svn/trunk@12694 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 19:47:16 +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
senorblanco@chromium.org
533330065a
Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/114263002
git-svn-id: http://skia.googlecode.com/svn/trunk@12661 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 23:28:52 +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
senorblanco@chromium.org
9c5435de44
Revert "Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect."
...
This reverts commit a620349a24471546ad2e8f0679774c1f5b4de0a4 (r12656).
git-svn-id: http://skia.googlecode.com/svn/trunk@12657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 22:23:32 +00:00
senorblanco@chromium.org
14e21270f5
Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/114263002
git-svn-id: http://skia.googlecode.com/svn/trunk@12656 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 22:00:34 +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
commit-bot@chromium.org
a3b84d41ef
Support MSAA4 and (non-ES) OpenGL in Android SampleApp
...
Add a menu item to set the OpenGL context type that SampleApp uses on
Android. The submenu of the new item will present options to create
OpenGL ES or OpenGL, aliased or multisampled.
R=djsollen@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/60273006
git-svn-id: http://skia.googlecode.com/svn/trunk@12610 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 20:37:41 +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
commit-bot@chromium.org
bc91fd71fa
Make GrBicubicEffect take tile modes rather than GrTextureParams.
...
GrTextureParams allows the caller to override the filter mode. But no filtering other than nearest neighbor makes sense.
Also removes coord set from creation signature since it is unused.
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/99523008
git-svn-id: http://skia.googlecode.com/svn/trunk@12591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 12:53:39 +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
senorblanco@chromium.org
e93e1dbf0e
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
...
This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed. It also implements CTM support for SkTileImageFilter.
NOTE: this will require rebaselining a number of imagefilter GMs on Nexus4, since they render in perspective (using the CTM). The changes to the results should all be improvements.
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/106933002
git-svn-id: http://skia.googlecode.com/svn/trunk@12571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 18:31:42 +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
61867875ef
add SkImageInfo to SkGrPixelRef constructor, to prep for larger CL
...
BUG=
Review URL: https://codereview.chromium.org/104923011
git-svn-id: http://skia.googlecode.com/svn/trunk@12559 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 13:41:06 +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
reed@google.com
f1715706f7
add SK_SUPPORT_LEGACY_PIXELREF_CONSTRUCTOR, initially always on
...
BUG=
Review URL: https://codereview.chromium.org/106183007
git-svn-id: http://skia.googlecode.com/svn/trunk@12552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 22:07:17 +00:00
reed@google.com
2ebc10dd12
Revert "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 5f035e90d6dea0139a4f204b634e7b7b3b4976d7.
Reverting because it breaks chrome/blink due to new SkPixelRef constructor arg.
BUG=
Review URL: https://codereview.chromium.org/108993002
git-svn-id: http://skia.googlecode.com/svn/trunk@12551 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 21:43:05 +00:00
reed@google.com
473f0aa2bb
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 4174afb18a9746bbad2a06c0ec2d4ad35f72d790.
BUG=
Review URL: https://codereview.chromium.org/108723003
git-svn-id: http://skia.googlecode.com/svn/trunk@12547 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 20:31:45 +00:00
commit-bot@chromium.org
c2e9db30d3
Fixed a few places where uninitialized memory could have been read
...
Also added early exit in SkImageFilter's constructor to avoid attempting to deserialize all inputs once a bad input has been found. This avoids hanging if a filter pretends to have 1 billion inputs when that's just an error on the number of inputs read by the filter.
BUG=326206,326197,326229
R=senorblanco@chromium.org , senorblanco@google.com , reed@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/106943002
git-svn-id: http://skia.googlecode.com/svn/trunk@12544 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 20:14:46 +00:00
reed@google.com
5b132b28da
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 154e08b2f5904ef533da694e3510befcb9a3f3e2.
revert due to warnings
Review URL: https://codereview.chromium.org/108513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:51:08 +00:00
reed@google.com
3e89524e74
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.
...
R=mtklein@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/68973005
git-svn-id: http://skia.googlecode.com/svn/trunk@12537 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:41:33 +00:00
robertphillips@google.com
40757703bd
Reverting 12528 & 12533 (Implement srcRect and dstRect functionality in SkBitmapSource) due to image differences on N4
...
https://codereview.chromium.org/108623002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12534 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 17:44:15 +00:00
commit-bot@chromium.org
094147d522
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
...
This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed.
R=reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/106933002
git-svn-id: http://skia.googlecode.com/svn/trunk@12528 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 15:59:03 +00:00
senorblanco@chromium.org
899b22ab97
Revert "Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource"." until I can sort out the xfermodeimagefilter and tileimagefilter failures.
...
This reverts commit b26725c8c9755415284c34399e76be098868e01a, aka r12522.
BUG=
TBR=reed@google.com
Review URL: https://codereview.chromium.org/107093005
git-svn-id: http://skia.googlecode.com/svn/trunk@12523 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 23:06:07 +00:00
senorblanco@chromium.org
af35920e6d
Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
...
Note: I initially implemented this as a fully-generic SkResizeImageFilter, but then I realized that the dstRect should always be transformed by the filter matrix, but that the srcRect should not (since it's specified relative to the dimensions of the original bitmap). Since this would be confusing for someone attempting to use this as a generic resizing filter, I decided to build the functionality into SkBitmapSource instead.
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/106933002
git-svn-id: http://skia.googlecode.com/svn/trunk@12522 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 22:41:53 +00:00
halcanary@google.com
2c7c7ee47d
Big Cleanup: SkBitmapFactory, SkLazyPixelRef, SkImageCache
...
Removed SkBitmapFactory since no clients were using it. New cache
selection mechanism can simply pass a SkDiscardableMemory::Factory
into the SkDiscardablePixelRef if non-default SkDiscardableMemory
should be used. Removed BitmapFactoryTest.
SkDiscardableMemory::Factory interface. Android will need this
functionality in the future inside their BitmapFactory.
Removed SkLazyPixelRef, since it's functionality is now subsumed into
SkDiscardablePixelRef. Removed LazyPixelRef test.
Modified SkDiscardablePixelRef to optionally allow it to use a
SkDiscardableMemory::Factory. This tiny change makes it a replacement
for SkLazyPixelRef. This functioanlity is also necessary for moving
Android over to SkDiscardablePixelRef from SkImageRef in a later CL.
Added a test for this.
SkDecodingImageGenerator::Install can optionally pass a factory in to
SkDiscardablePixelRef.
Removed SkImageCache, SkLruImageCache, and SkPurgeableImageCache.
This functionality can be handled much more cleanly by
SkDiscardableMemory.
New SkDiscardableMemoryPool class to replace SkLruImageCache. In a
later CL, we will replace SkImageRef_GlobalPool (used by android) as
well. This is a concrete implementation of
SkDiscardableMemory::Factory. Added a test for this.
modified gm/factory.cpp to remove dependnce on SkBitmapFactory +
SkLruImageCache. Now uses SkDecodingImageGenerator +
SkDiscardablePixelRef + SkDiscardableMemoryPool.
SkImageDecoder::Target replaces SkBitmapFactory::Target. The
DecodeMemoryToTarget function may disappear in the future.
Moved SkLazyCachingPixelRef::DecodeProc replaces
SkBitmapFactory::DecodeProc. This is a short term change, since
another CL changes SkLazyCachingPixelRef to use SkImageGenerator
instead of DecodeProc.
Modified DrawBitmapRectTest to use SkDiscardablePixelRef instead of
SkLazyPixelRef.
tools/LazyDecodeBitmap.cpp now uses SkDecodingImageGenerator +
SkDiscardablePixelRef instead of a SkBitmapFactory.
bench_pictures uses the Global SkDiscardableMemoryPool instead of a
global gLruImageCache.
R=reed@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/103033002
git-svn-id: http://skia.googlecode.com/svn/trunk@12515 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 18:31:42 +00:00
commit-bot@chromium.org
91246b9fc7
Update documentation around drawBitmap and shaders
...
R=reed@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/105823004
git-svn-id: http://skia.googlecode.com/svn/trunk@12507 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 15:43:19 +00:00
commit-bot@chromium.org
ab1c13864d
Fix compilation with SK_ENABLE_INST_COUNT=1
...
Add INHERITED declarations to class declarations that prevent
compilation with the flag.
Remove SK_DEFINE_INST_COUNT from all class implementations. Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.
Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.
For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.
Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.
R=robertphillips@google.com , richardlin@chromium.org , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/98703002
git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 12:08:12 +00:00
commit-bot@chromium.org
c84728d72a
Changed maxInputCount for exact inputCount
...
Processing still had issue when the number of inputs was 0, so I changed my previous fix from a maximum input count to an exact input count. -1 is used when the input count isn't fixed (but still has to be a non-negative number).
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com , bsalomon@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/100803004
git-svn-id: http://skia.googlecode.com/svn/trunk@12492 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 20:07:47 +00:00
scroggo@google.com
a0b266d817
Remove deprecated setPrefConfigTable.
...
Safe once its only caller (in Android) has been updated.
BUG=skia:1874
R=reed@google.com
Review URL: https://codereview.chromium.org/99473004
git-svn-id: http://skia.googlecode.com/svn/trunk@12491 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 19:56:31 +00:00
commit-bot@chromium.org
db6f36e784
Remove problematic GrContext thread local instance counting
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/104893002
git-svn-id: http://skia.googlecode.com/svn/trunk@12485 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 17:55:15 +00:00
commit-bot@chromium.org
cd3b15ca63
Fixed bad bitmap size crashes
...
There were 2 issues :
1 ) If the size of an SkBitmap's underlying SkPixelRef's alocated memory is too small to fit the bitmap, then the deserialization will now check this and set an error appropriately.
2 ) If a device fails to allocate its pixels, the device will be deleted and NULL will be returned to avoid attempting to draw on a bad device.
BUG=
R=senorblanco@chromium.org , reed@google.com , sugoi@google.com , halcanary@google.com , mtklein@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/92793002
git-svn-id: http://skia.googlecode.com/svn/trunk@12484 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 17:06:49 +00:00
bungeman@google.com
7fd1f50bfb
Put all of SkPostConfig.h inside top level ifdef.
...
Due to inconsistent indentation, the last third of this header is outside
of the top level ifdef header guard. This CL fixes that, as well as
makes the indents more consistent to avoid this issue in the future.
R=mtklein@google.com , reed@google.com
Review URL: https://codereview.chromium.org/102153002
git-svn-id: http://skia.googlecode.com/svn/trunk@12482 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 16:40:42 +00:00
commit-bot@chromium.org
7cc93bcc4b
Make SkTInternalLList::validate validate all nodes
...
Make SkTInternalLList::validate validate all nodes, including the
first one.
R=mtklein@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/104553002
git-svn-id: http://skia.googlecode.com/svn/trunk@12479 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 14:51:31 +00:00
skia.committer@gmail.com
6e515d67d2
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12477 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 07:02:26 +00:00
commit-bot@chromium.org
e76a3225d5
SkSplay and SkUnsplay work on any uint32_t, not just SkPMColor.
...
BUG=
R=reed@google.com , tfarina@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/102813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 00:42:07 +00:00
robertphillips@google.com
11e055518a
Code cleanup following recapture of skps
...
https://codereview.chromium.org/88233003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12472 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:46:58 +00:00
commit-bot@chromium.org
f8cb184095
Add GPU support for color bitmap fonts
...
BUG=skia:1869
R=bungeman@google.com , robertphillips@google.com , bsalomon@google.com
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/99993002
git-svn-id: http://skia.googlecode.com/svn/trunk@12471 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:45:22 +00:00
mtklein@google.com
cb08f98693
Fix 32/64 bit warnings on g++-4.2.
...
BUG=
Review URL: https://codereview.chromium.org/98343006
git-svn-id: http://skia.googlecode.com/svn/trunk@12470 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 19:27:41 +00:00
commit-bot@chromium.org
55ca8244cc
Refactor FourByteInterps. Add 64-bit Fast version. Add tests.
...
Effect on benches (only _fast_ should be affected, and only on 64-bit):
Desktop (64-bit)
four_byte_interp_slow_255 NONRENDERING c 7.80 7.84 -0.04 -0.5%
four_byte_interp_slow_256 NONRENDERING c 7.38 7.36 +0.02 +0.3%
four_byte_interp_fast_256 NONRENDERING c 4.86 4.38 +0.48 +9.9%
four_byte_interp_fast_255 NONRENDERING c 5.80 5.16 +0.64 +11.0%
N5 (32-bit)
four_byte_interp_slow_256 NONRENDERING c 22.22 22.66 -0.44 -2.0%
four_byte_interp_fast_255 NONRENDERING c 22.22 22.22 +0.00 +0.0%
four_byte_interp_fast_256 NONRENDERING c 18.81 18.81 +0.00 +0.0%
four_byte_interp_slow_255 NONRENDERING c 22.42 22.42 +0.00 +0.0%
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/100923003
git-svn-id: http://skia.googlecode.com/svn/trunk@12468 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 18:53:30 +00:00
commit-bot@chromium.org
e3bb3bce3e
Add JSON output option to bench.
...
A new command-line flag --outResultsFile takes the filename to write the JSON into.
The human readable output is the same as before with one exception. Previously DEBUG would be printed if in debug mode, or nothing would be printed if in release mode. Now this is reported as a named option:
build=DEBUG
or
build=RELEASE
R=djsollen@google.com , bsalomon@google.com
Author: jcgregorio@google.com
Review URL: https://codereview.chromium.org/83863002
git-svn-id: http://skia.googlecode.com/svn/trunk@12465 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 18:16:48 +00:00
robertphillips@google.com
466310dbd3
Move fIsOval from SkPath to SkPathRef
...
https://codereview.chromium.org/89123002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12463 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 16:43:54 +00:00
bungeman@google.com
0d9e3da8bb
Use lowercase windows.h in includes to fix Windows cross compilation using mingw.
...
While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.
R=bungeman@google.com
Review URL: https://codereview.chromium.org/99173003
git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 15:23:37 +00:00
robertphillips@google.com
ca316f576e
Revert of r12450 (Move fIsOval from SkPath to SkPathRef)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12452 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 00:23:39 +00:00
robertphillips@google.com
31f0ffc9c3
Move fIsOval from SkPath to SkPathRef
...
https://codereview.chromium.org/89123002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12450 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 23:55:11 +00:00
commit-bot@chromium.org
dd59799cf8
SkDiscardablePixelRef objects are now marked immutable.
...
I also specifically mentioned in the SkImageGenerator documentation
that it should always return the same information on subsequent calls
to getInfo() and getPixels().
Motivation: When a bitmap is recorded into a SkPicture, it will choose
whether to shallow- or deep-copy itself into the SkBitmapHeap based on
the immutable flag. Failing to set it would make picture recording slow.
BUG=
R=fmalita@google.com , reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/99303003
git-svn-id: http://skia.googlecode.com/svn/trunk@12445 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:32:54 +00:00
commit-bot@chromium.org
dec61503d0
HQ filtering for tiled/bleed drawBitmap
...
sample at pix center in bicubic
R=senorblanco@chromium.org , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/83153006
git-svn-id: http://skia.googlecode.com/svn/trunk@12440 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:22:35 +00:00
reed@google.com
5c37189ffe
restore [6] for setPrefConfigTable, accidentally changed with A1 CL
...
BUG=
Review URL: https://codereview.chromium.org/99963002
git-svn-id: http://skia.googlecode.com/svn/trunk@12433 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 19:50:16 +00:00
bungeman@google.com
1ad75a19a1
Fix spelling errors in SkWeakRefCnt.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12432 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 19:12:04 +00:00
rmistry@google.com
d6bab02386
Reverting r12427
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:50:38 +00:00
skia.committer@gmail.com
5b39f5ba9c
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:36:22 +00:00
bungeman@google.com
21591f0b5a
Remove completed TODO in SkFontMgr.h.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12424 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 22:05:22 +00:00
mtklein@google.com
ca5bb87a31
DM: write failed comparison mode .pngs one more level deep in the tree.
...
E.g. instead of having to compare
/tmp/dm/565/optimizations.png
vs.
/tmp/dm/replay/optimizations_565.png
it's now
/tmp/dm/565/optimizations.png
vs.
/tmp/dm/replay/565/optimizations.png
This lets working with skdiff go a lot more smoothly.
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/88773002
git-svn-id: http://skia.googlecode.com/svn/trunk@12402 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 22:06:12 +00:00
senorblanco@chromium.org
d8f82a4c44
Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor.
...
This is driven by the feDropShadow filter effect in SVG, which unlike the shorthand version accepts separate X & Y sigmas.
Covered by new GM dropshadowimagefilter.
R=reed@google.com
Review URL: https://codereview.chromium.org/88243004
git-svn-id: http://skia.googlecode.com/svn/trunk@12401 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 21:52:38 +00:00
commit-bot@chromium.org
11f392ed53
Revert "Revert "remove kA1_Config, as it is no longer supported""
...
This reverts commit 36d712f2d4c5c79719280ad95523e6aaa88b068e.
BUG=
R=rmistry@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/86483002
git-svn-id: http://skia.googlecode.com/svn/trunk@12392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 12:51:57 +00:00
commit-bot@chromium.org
ce33d60187
Adding more validation
...
- Added a way to check that the number of inputs of a filter is not more than a filter expects
- Added validation of reftype in SkBitmap::unflatten()
- Added validation on fKD (diffuse lighting constant) and fKS (specular lighting constant) to make sure that they are always non-negative numbers
- Added validation of SkPerlinNoiseShader::fType and SkPerlinNoiseShader::fNumOctaves
BUG=
R=reed@google.com , senorblanco@google.com , mtklein@google.com , senorblanco@chromium.org , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/83343003
git-svn-id: http://skia.googlecode.com/svn/trunk@12388 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 21:46:31 +00:00
reed@google.com
72e7808d62
Revert "remove kA1_Config, as it is no longer supported"
...
This reverts commit 2d72d8b242eac6e9d30228f5b0a407236491c369.
git-svn-id: http://skia.googlecode.com/svn/trunk@12387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:54:56 +00:00
commit-bot@chromium.org
aae7c2a5b7
Export GrGLCreateNullInterface for use in Chromium compositor unit tests.
...
R=bsalomon@google.com
Author: mvujovic@adobe.com
Review URL: https://codereview.chromium.org/86353002
git-svn-id: http://skia.googlecode.com/svn/trunk@12386 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:39:27 +00:00
commit-bot@chromium.org
4b413c8bb1
remove SkFloatToScalar macro
...
BUG=
R=reed@google.com , djsollen@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/85463005
git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 19:44:07 +00:00
reed@google.com
2a1f4464d1
remove kA1_Config, as it is no longer supported
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/83093005
git-svn-id: http://skia.googlecode.com/svn/trunk@12384 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 18:58:29 +00:00
commit-bot@chromium.org
eddb02c82d
Adding SkDeferredCanvas::NoticifationClient to the exported API.
...
R=reed@android.com , robertphillips@google.com , reed, robertphillips
BUG=1861
Author: schenney@chromium.org
Review URL: https://codereview.chromium.org/83383007
git-svn-id: http://skia.googlecode.com/svn/trunk@12380 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 15:44:37 +00:00
mtklein@google.com
1950d5f58f
Add SK_ALWAYS_INLINE.
...
I'm working on some code that's much faster when compiled by GCC than by Clang
because GCC inlines more aggressively. Using SK_ATTRIBUTE(always_inline) on
the appropriate methods narrows the performance gap considerably.
This should work for MSVC, GCC, and Clang, otherwise falling back to "inline".
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/83333005
git-svn-id: http://skia.googlecode.com/svn/trunk@12364 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-22 16:56:22 +00:00
commit-bot@chromium.org
ce0e4efabd
Fix VC++ ptr-to-... and va_list confusion
...
R=bungeman@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/78903006
git-svn-id: http://skia.googlecode.com/svn/trunk@12346 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 17:20:17 +00:00
halcanary@google.com
ad04eb49f5
Add SkImageGenerator Interface
...
- Add SkDiscardablePixelRef class that uses SkDiscardableMemory and
a SkImageGenerator.
- Add SkDecodingImageGenerator class as an example of a
SkImageGenerator.
- Add DecodingImageGenerator unit test.
- Add SkBasicDiscardableMemory implmentation for unit tests only.
R=reed@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/74793011
git-svn-id: http://skia.googlecode.com/svn/trunk@12341 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 15:32:08 +00:00
robertphillips@google.com
a4662865e3
More Windows 64b compilation warning fixes
...
https://codereview.chromium.org/47513017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12337 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 14:24:16 +00:00
commit-bot@chromium.org
644629c1c7
Implement a benchmark for GrResourceCache
...
Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test
GrResourceCache::add and GrResourceCache::find. The tests work only
with GPU backends, since GrResourceCache needs an GrGpu.
Modifies bench tests to override SkBenchmark::isSuitableFor(Backend)
function that specifies what kind of backend the test is inteded
for. This replaces the previous "fIsRendering" flag that would
indicate test that did no rendering.
Adds SkCanvas::getGrContext() call to get the GrContext that the
canvas ends up drawing to. The member function solves a common
use-case that is also used in the benchmark added here.
R=mtklein@google.com , bsalomon@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/73643005
git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 06:21:58 +00:00
robertphillips@google.com
8c99c9f4a6
Reverting r12315 (More Windows 64b compilation warning fixes) due to compilation failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12316 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:56:14 +00:00
robertphillips@google.com
80051d38a3
More Windows 64b compilation warning fixes
...
https://codereview.chromium.org/47513017/
git-svn-id: http://skia.googlecode.com/svn/trunk@12315 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:46:10 +00:00
mtklein@google.com
0f6dc21e32
Revert SK_REQUIRE_LOCAL_VAR changes for DEPS roll.
...
BUG=
Review URL: https://codereview.chromium.org/59703012
git-svn-id: http://skia.googlecode.com/svn/trunk@12306 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 20:55:29 +00:00
robertphillips@google.com
701b40543d
Fix DocumentTest/SkDocument memory leaks
...
https://codereview.chromium.org/72833002/
git-svn-id: http://skia.googlecode.com/svn/trunk@12302 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:26:25 +00:00
commit-bot@chromium.org
e61a86cfa0
Guard against most unintentionally ephemeral SkAutoFoo instantiations.
...
I think I applied the trick everywhere possible. Limitations:
- can't be used with templated classes
- all constructors and destructors must be defined inline
A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I
deleted them. This change caught the same bugs Cary found in SkPath, plus one
more in SampleApp.
BUG=
R=reed@google.com , caryclark@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/72603005
git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:03:59 +00:00
commit-bot@chromium.org
be65a4c9d6
Add missing functions to SkNWayCanvas
...
R=reed@google.com
BUG=none
Author: enne@chromium.org
Review URL: https://codereview.chromium.org/65513003
git-svn-id: http://skia.googlecode.com/svn/trunk@12295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 19:02:41 +00:00
commit-bot@chromium.org
a1a097ee81
increase coverage of SkPath.cpp, remove unused code
...
Using Mike Klein's excellent coverage tool, increase the
unit testing of SkPath.cpp from 70% to 95%.
Along the way, determined that these functions were not
maintained or used:
SkPath::pathTo
SkPath::contains
as well as a large block of SkPath::cheapGetDirection().
Changed SkPath::validate() to permit infinities in
the path data points.
Fixed errors in preserving direction.
Fixed error setting direction when convexity is unknown.
Added missing conic to moveTo only detector.
BUG=
R=bsalomon@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/65493004
git-svn-id: http://skia.googlecode.com/svn/trunk@12291 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 16:53:22 +00:00
skia.committer@gmail.com
73a5d53d96
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12283 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 07:02:31 +00:00
bungeman@google.com
04306921f4
Remove backward compatibility shims from SkStream.h.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/68773009
git-svn-id: http://skia.googlecode.com/svn/trunk@12275 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 19:53:46 +00:00
reed@google.com
3443fd8886
move SkImageInfo into its own header
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/71813002
git-svn-id: http://skia.googlecode.com/svn/trunk@12273 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 19:09:13 +00:00
reed@google.com
ec3ca87d33
Revert "Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice""
...
This reverts commit ff0152ec5e2a0faf38ae1a317c5d77df08139104.
BUG=
Review URL: https://codereview.chromium.org/68203018
git-svn-id: http://skia.googlecode.com/svn/trunk@12271 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 16:02:18 +00:00
reed@google.com
5308c83a36
drawPosTextOnPath is now deprecated, removing all overrides and impls
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/61743017
git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 15:22:15 +00:00
reed@google.com
4d16470973
Revert "switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice"
...
This reverts commit 72958c374bdb9457419beeba7de1387da3293882.
BUG=
Review URL: https://codereview.chromium.org/58933007
git-svn-id: http://skia.googlecode.com/svn/trunk@12260 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:27:30 +00:00
reed@google.com
3f4bf51edd
switch GatherPixelRefs to use SkBaseDevice instead of SkBitmapDevice
...
BUG=
R=robertphillips@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/70473003
git-svn-id: http://skia.googlecode.com/svn/trunk@12259 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 22:14:08 +00:00
scroggo@google.com
09a5383adc
Hide implementation details: SkFrontBufferedStream
...
R=reed@google.com
Review URL: https://codereview.chromium.org/25581002
git-svn-id: http://skia.googlecode.com/svn/trunk@12256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 20:53:05 +00:00
commit-bot@chromium.org
21a0b10d7c
Remove deprecated setIsOpaque() API from SkBitmap.
...
Clients we care (Blink, Chromium) were updated, so we can remove this now.
BUG=None
R=bsalomon@google.com , reed@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/66723017
git-svn-id: http://skia.googlecode.com/svn/trunk@12251 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 18:16:34 +00:00
scroggo@google.com
cac8d01eab
Override drawRRect in fake SkBitmapDevices.
...
Recent changes to SkBitmapDevice modified ::drawRRect() to take
an optimized drawing case. Some subclasses of SkBitmapDevice were
depending on the old behavior of calling ::drawPath(). Since they
do not draw, attempting to take the drawing path can cause problems.
For these subclasses, call drawPath() in the subclass.
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/70443002
git-svn-id: http://skia.googlecode.com/svn/trunk@12247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 17:10:02 +00:00
reed@google.com
23be7a58d9
add colortable enum to SkImage to ease interop between it and SkBitmap::Config
...
BUG=
R=halcanary@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/68853003
git-svn-id: http://skia.googlecode.com/svn/trunk@12245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 16:11:07 +00:00
bungeman@google.com
9fc5c68823
Fix leak detected in FontMgrMatchGM::onDraw by Valgrind.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12242 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 15:25:29 +00:00
edisonn@google.com
73a7ea3ae0
Implement DPI for perspective bitmaps in PDF - we save the bitmap at the resolution requested.
...
R=reed@google.com , vandebo@chromium.org
Review URL: https://codereview.chromium.org/54913004
git-svn-id: http://skia.googlecode.com/svn/trunk@12230 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:55:15 +00:00
jvanverth@google.com
d830d13c27
Hook in rough distance field support for fonts
...
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/41213003
git-svn-id: http://skia.googlecode.com/svn/trunk@12229 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:54:09 +00:00
bungeman@google.com
b3d154de5e
Remove SK_FONTHOST_USES_FONTMGR.
...
Review URL: https://codereview.chromium.org/66783003
git-svn-id: http://skia.googlecode.com/svn/trunk@12217 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:53:29 +00:00
robertphillips@google.com
a3d0119859
Re-enable SK_ATTR_DEPRECATED (i.e., revert r12067)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12209 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-10 14:40:21 +00:00
commit-bot@chromium.org
11e5b972a9
Add sk_float_rsqrt with SSE + NEON fast paths.
...
Current numbers:
N4:
running bench [640 480] math_fastIsqrt NONRENDERING: cmsecs = 3.12
running bench [640 480] math_slowIsqrt NONRENDERING: cmsecs = 4.82
running bench [640 480] math_sk_float_rsqrt NONRENDERING: cmsecs = 1.99
Desktop:
running bench [640 480] math_fastIsqrt NONRENDERING: cmsecs = 0.89
running bench [640 480] math_slowIsqrt NONRENDERING: cmsecs = 0.94
running bench [640 480] math_sk_float_rsqrt NONRENDERING: cmsecs = 0.09
Haven't found any other benches where this is a significant effect yet.
BUG=
R=reed@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/60083014
git-svn-id: http://skia.googlecode.com/svn/trunk@12203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:14:16 +00:00
commit-bot@chromium.org
8f457e3230
Adding error checks to SkRBuffer
...
BUG=
R=robertphillips@google.com , bsalomon@google.com , reed@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/61913002
git-svn-id: http://skia.googlecode.com/svn/trunk@12202 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 19:22:57 +00:00
scroggo@google.com
a8e33a92e2
Add ability to ninepatch blurred rounded rectangle
...
Speed up drawing large blurry round rectangles by converting them to
nine patches.
SkDraw:
Add drawRRect.
SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.
SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.
SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.
Depends on https://codereview.chromium.org/52703003
Tests are in https://codereview.chromium.org/52793005
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/48623006
git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:02:53 +00:00
commit-bot@chromium.org
c78b8f2f73
Removed unnecessary define
...
BUG=
R=bsalomon@google.com , sugoi@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/59033009
git-svn-id: http://skia.googlecode.com/svn/trunk@12189 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 15:24:12 +00:00
commit-bot@chromium.org
d3baf20dd1
Added support for Chrome's gpu command buffer extension BindUniformLocation.
...
R=bsalomon@google.com , bsalomon
Author: skaslev@chromium.org
Review URL: https://codereview.chromium.org/62163004
git-svn-id: http://skia.googlecode.com/svn/trunk@12178 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:06:08 +00:00
reed@google.com
126f7f5244
Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""
...
This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.
BUG=
Review URL: https://codereview.chromium.org/50673005
git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:06:53 +00:00
skia.committer@gmail.com
2614418aee
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12161 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 07:02:19 +00:00
halcanary@google.com
1f0121af49
New SkRTConf macro SK_CONF_TRY_SET: no complaint on missing configuration
...
SK_CONF_TRY_SET() is like SK_CONF_SET(), but doesn't complain if
confname can't be found. This is useful if the SK_CONF_DECLARE is
inside a source file whose linkage is dependent on the system.
Internally to the SkRTConf system, SkRTConfRegistry::set() was given
an additional parameter controling wanrings.
A new RuntimeConfig unit test was introduced. It should run silently.
In the future, it should be expanded to cover all of the SkRTConf
functionality.
(For example, the images.jpeg.suppressDecoderWarnings variable is
defined and used only in SkImageDecoder_libjpeg.cpp, but on MacOS, we
use Core Graphics via SkImageDecoder_CG.cpp - SkImageDecoder_libjpeg
is never linked in. The same is true of the Windows Imaging Component
on Windows.)
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/54503007
git-svn-id: http://skia.googlecode.com/svn/trunk@12155 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 15:07:44 +00:00
commit-bot@chromium.org
6e3e42296b
Break up SkLazyPixelRef functionally into class hierarchy.
...
The reason for this CL is to allow greater decoder flexibility.
Chrome currently uses its own decoding functions. These allow for
greater flexibility in dealing with images with multiple frames or
partial data. The DecodeProc function was not flexible enough to
handle these. Instead of asking the decoder to squeeze everything
into the DecodeProc, we now ask the downstream library to inherit from
SkCachingPixelRef. If WebKit's LazyDecodingPixelRef is re-tooled to
inherit from SkCachingPixelRef, then it can make use of Skia's caching
ability while still allowing it to deal with multiple frames, scaling,
subsetting, and partial data.
- The abstract SkCachingPixelRef class handles caching the decoded
data in a SkScaledImageCache. This class relies on the virtual
functions onDecodeInfo() and onDecode() to do the actual decoding
of data.
- The SkLazyCachingPixelRef class is derived from SkCachingPixelRef.
It provides an implementation of onDecodeInfo() and onDecode() in
terms of calls to a SkBitmapFactory::DecodeProc function. It also
provides an Install() static method which installs a new
SkLazyCachingPixelRef into a SkBitmap.
SkLazyCachingPixelRef exists for two reasons: to test
SkCachingPixelRef within Skia and as an example for downstream
developers to make their own classes that inherit from
SkCachingPixelRef.
- The CachedDecodingPixelRefTest was updated to test the
SkLazyCachingPixelRef class and indirectly the SkCachingPixelRef
class.
BUG=
R=reed@google.com , scroggo@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/54203006
git-svn-id: http://skia.googlecode.com/svn/trunk@12149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:30 +00:00
commit-bot@chromium.org
6006d0f8c4
Add bevel-stroke support in GrAARectRenderer
...
Committed: http://code.google.com/p/skia/source/detail?r=12082
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12148 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-06 10:08:21 +00:00
scroggo@google.com
20e3cd2c9f
Add SkRRect::transform.
...
Much like SkPath::transform, it transforms an SkRRect based on an
SkMatrix. Unlike SkPath::transform, it will fail for matrices that
contain perspective or skewing.
Required by a future change (https://codereview.chromium.org/48623006 )
to speed up drawing large blurry rounded rectangles by using ninepatches.
TODO: This could easily support 90 degree rotations, if desired.
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/52703003
git-svn-id: http://skia.googlecode.com/svn/trunk@12132 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:54:42 +00:00
commit-bot@chromium.org
4faa869cda
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Committed: https://code.google.com/p/skia/source/detail?r=12114
Committed: https://code.google.com/p/skia/source/detail?r=12119
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12130 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:46:56 +00:00
commit-bot@chromium.org
fedf13d73a
Add SK_PREFETCH and use in SkBlurImageFilter.
...
Relative speed is 1.2-1.6x on desktop, 1.0-1.2x on Nexus 4.
(Division remains the bottleneck, now more so.)
BUG=
R=senorblanco@google.com , reed@google.com , senorblanco@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/57823003
git-svn-id: http://skia.googlecode.com/svn/trunk@12129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:26 +00:00
commit-bot@chromium.org
d3e5842db0
Avoid re-rendering stencil clip for every draw with reducable clip stack
...
Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.
Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to
a) clip stack reduction creating new elements in the element list.
b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.
Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.
Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.
The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.
Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.
Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.
Committed: http://code.google.com/p/skia/source/detail?r=12084
R=bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/48593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12127 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:03:08 +00:00
reed@google.com
12a23866fe
Revert "Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream."
...
This reverts commit 6bc22e8ef1ea70a1b58409aa21254358c50f149a.
git-svn-id: http://skia.googlecode.com/svn/trunk@12124 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 21:35:55 +00:00
reed@google.com
84e922bfb3
Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values."
...
This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a.
Revert "must initialize SkDraw.fClip"
This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d.
BUG=
Review URL: https://codereview.chromium.org/57883006
git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:57:36 +00:00
sugoi@google.com
b48a59ae81
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com
Committed: https://code.google.com/p/skia/source/detail?r=12114
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12119 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:28:23 +00:00
reed@google.com
ac9d306a92
speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.
...
R=bsalomon@google.com , mtklein@google.com
Review URL: https://codereview.chromium.org/56453002
git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:10:33 +00:00
epoger@google.com
eb221268ab
Revert r12114 due to https://code.google.com/p/skia/issues/detail?id=1794 ('Assertion failures on various buildbots as of r12114')
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12115 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 18:06:12 +00:00
sugoi@google.com
305f78e8c1
Checking structure sizes before reading them from memory to avoid overflowing the buffer's stream.
...
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/41253002
git-svn-id: http://skia.googlecode.com/svn/trunk@12114 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 16:18:15 +00:00
skia.committer@gmail.com
f54ad6f488
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12101 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-02 07:02:02 +00:00
robertphillips@google.com
32700ace30
Reverting r12082 (Add bevel-stroke support in GrAARectRenderer) due to GM failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12091 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 19:22:42 +00:00
reed@google.com
f0784bde75
Revert "Avoid re-rendering stencil clip for every draw with reducable clip stack"
...
This reverts commit 92a7d4bf6a371f1f864154be902e8d86938e560b.
Revert "fix mac 10.6 build"
This reverts commit 114cd1a9f2734aaed6914718814364811b78bd7f.
BUG=
Review URL: https://codereview.chromium.org/54543008
git-svn-id: http://skia.googlecode.com/svn/trunk@12087 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 16:25:59 +00:00
commit-bot@chromium.org
679eb674fc
Avoid re-rendering stencil clip for every draw with reducable clip stack
...
Fixes the cases where clip stack reduction would cause clip to be
re-rendered to stencil for each draw call. This causes unneeded
slowdown.
Stencil cache would not be used because the clip stack generation id communicated
by the clip stack element list would be invalid. This happended due to
a) clip stack reduction creating new elements in the element list.
b) purging logic removing the generation id, but reduction logic
selecting already purged element, and thus the generation id, as
the representative state of the clip.
Cases of a) where reduction would flatten the stack to a single new
element were fixed by assigning the generation id of the top-most
element of the clip stack as the generation id of the new
element. This is not strictly minimal, but enables more caching than
using invalid id.
Cases of a) where reduction would substitute a stack element with a
new element the generation id of the substituted element is used.
The b) part was fixed by removing the purging logic. It was not
exactly correct, as the previously purged states were actually
used. The purging was not used for anything.
Changes SkClipStack API to highlight that invalid generation id is
never returned by SkClipStack. Empty stacks are wide open. Changes the
clients to reflect this.
Fixes a crash when not passing anti-alias out parameter to
GrReducedClip::ReduceClipStack. The crash is not exercised in the
current code.
R=bsalomon@google.com , robertphillips@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/48593003
git-svn-id: http://skia.googlecode.com/svn/trunk@12084 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:24:20 +00:00
commit-bot@chromium.org
5c8ee2539b
Make GrContext cache the gpu paths
...
Creating paths for nv_path_rendering is costly. Try to reduce this
cost by caching paths based on the SkPath "hash" (i.e. SkPathRef
generation id) and stroke properties.
Adds the paths to GrContext::fTextureCache instance. Later this should
be renamed and the GrContext API should reflect the nature of the cache
better.
R=bsalomon@google.com , mtklein@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/26557003
git-svn-id: http://skia.googlecode.com/svn/trunk@12083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:44 +00:00
commit-bot@chromium.org
e1e99ef0af
Add bevel-stroke support in GrAARectRenderer
...
R=robertphillips@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23712005
git-svn-id: http://skia.googlecode.com/svn/trunk@12082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 15:23:17 +00:00
reed@google.com
2bd8b81005
move SkImage::ColorType into SkColorType
...
objective -- move clients over to SkImage
tasks
- use SkImageInfo instead of SkBitmap::Config
- add support for colortables to SkImage
- add drawImage to SkCanvas
- return SkImage from readPixels
This CL works towards the first task
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/54363008
git-svn-id: http://skia.googlecode.com/svn/trunk@12077 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 13:46:54 +00:00
robertphillips@google.com
d2f7948cdf
Disabling SK_ATTR_DEPRECATED the hard way
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12067 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 22:42:33 +00:00
robertphillips@google.com
56ce48ade3
Add can-ignore-rect hint to clear call
...
https://codereview.chromium.org/53823003/
git-svn-id: http://skia.googlecode.com/svn/trunk@12064 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 21:44:25 +00:00
commit-bot@chromium.org
0251288112
Adding size parameter to read array functions
...
In some cases, the allocated array into which the data will be read is using getArrayCount() to allocate itself, which should be safe, but some cases use fixed length arrays or compute the array size before reading, which could overflow if the stream is compromised.
To prevent that from happening, I added a check that will verify that the number of bytes to read will not exceed the capacity of the input buffer argument passed to all the read...Array() functions.
I chose to use the byte array for this initial version, so that "size" represents the same value across all read...Array() functions, but I could also use the element count, if it is preferred.
Note : readPointArray and writePointArray are unused, so I could also remove them
BUG=
R=reed@google.com , mtklein@google.com , senorblanco@chromium.org
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/37803002
git-svn-id: http://skia.googlecode.com/svn/trunk@12058 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 18:37:50 +00:00
reed@google.com
4469938e92
Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
...
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.
BUG=
Review URL: https://codereview.chromium.org/54603004
git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5
Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
...
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.
git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab
add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
...
BUG=
R=robertphillips@google.com , senorblanco@chromium.org , vandebo@chromium.org
Review URL: https://codereview.chromium.org/51033004
git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
skia.committer@gmail.com
7ed98df9ba
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12043 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 07:01:53 +00:00
bungeman@google.com
ae326bb5ca
Revert r1784: SK_API on a non-concrete template is strange.
...
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/52843004
git-svn-id: http://skia.googlecode.com/svn/trunk@12040 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 22:22:05 +00:00
vandebo@chromium.org
3b416216d1
[PDF] Improve complex xfer mode support.
...
Xfer mode applies only to the shape of the source drawing, not everything in the clip as in currently implemented. It's just that the current gm examples draw a shape that fills the visible layer.
R=edisonn@google.com , reed@google.com
Review URL: https://codereview.appspot.com/4631078
git-svn-id: http://skia.googlecode.com/svn/trunk@12034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 20:48:05 +00:00
commit-bot@chromium.org
1ab9f737f0
Use SkPathRef gen id for SkPath::getGenerationID
...
R=mtklein@google.com , robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/49693002
git-svn-id: http://skia.googlecode.com/svn/trunk@12029 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 18:57:55 +00:00
reed@google.com
4db592c408
remove contains(x,y) for rects and rrects ... not well defined, and unused
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/51953003
git-svn-id: http://skia.googlecode.com/svn/trunk@12022 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:39:43 +00:00
robertphillips@google.com
4e5559af89
Allow specifying the max texture count on the bots
...
https://codereview.chromium.org/50413011/
git-svn-id: http://skia.googlecode.com/svn/trunk@12020 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 17:04:16 +00:00
reed@google.com
35fe7372b1
prototype for kerning api
...
BUG=
R=bungeman@google.com
Review URL: https://codereview.chromium.org/29363009
git-svn-id: http://skia.googlecode.com/svn/trunk@12018 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 15:07:03 +00:00
skia.committer@gmail.com
b77f0f4ae5
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 07:01:56 +00:00
robertphillips@google.com
7101abe5b3
Reverting r12010 (Use SkPathRef gen id for SkPath::getGenerationID https://codereview.chromium.org/49693002 ) due to test failures in PathTest on Android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12012 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 22:45:37 +00:00