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