mtklein
4f358fc269
Make SkWriter32::snapshotAsData() a dumb copy.
...
SkWriter32::snapshotAsData() is no longer performance critical.
It's only used when we're serializing to disk.
BUG=skia:2289
Review URL: https://codereview.chromium.org/875403005
2015-01-29 12:03:53 -08:00
dandov
b3c9d1c33c
SkCanvas::drawPatch param SkPoint[12]
...
drawPatch now receives as parameter const SkPoint cubics[12]
Adjusted derived classes and serialization.
Ajusted GM's and benches that take into account combinations of optional
parameters, the scale of the patch and 4 different types of patches.
Planning on adding the extra functionality of SkPatch in another CL.
BUG=skia:
R=egdaniel@google.com , reed@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/463493002
2014-08-12 08:34:29 -07:00
dandov
963137b75c
Stopped skipping tests in dm of SkPatch by implementing the
...
corresponding drawPath calls on classes that derive from SkCanvas.
BUG=skia:
R=egdaniel@google.com , bsalomon@google.com , mtklein@google.com , robertphillips@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/429343004
2014-08-07 07:49:53 -07:00
bsalomon
3f547cb6a7
Add SK_API to SkWriter32
...
R=mtklein@google.com , senorblanco@google.com , senorblanco@chromium.org
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/356053002
2014-06-26 08:01:14 -07:00
commit-bot@chromium.org
c30dcb9b12
Add capture snapshot as data to SkWriter32, use it to optimise record->playback.
...
This is a new way of implementing https://codereview.chromium.org/155863005/
It uses copy on write semantics to return a buffer without copying it, so that record -> playback does not need to copy the buffer.
BUG=skia:2125
R=tomhudson@google.com , mtklein@google.com , reed@google.com , iancottrell@chromium.org
Author: iancottrell@google.com
Review URL: https://codereview.chromium.org/167113003
git-svn-id: http://skia.googlecode.com/svn/trunk@13769 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 17:04:28 +00:00
commit-bot@chromium.org
ca21a00c73
SkWriter32: throw in the SkTDArray towel.
...
I think it's looking more clear we don't have a clean way to use SkTDArray in
SkWriter32. We can't give SkWriter32 meaningful control over SkTDArray's
reallocation without making moot SkTDArray's raison d'etre.
Let's just use an SkAutoTMalloc<uint8_t> instead. It wants SkWriter32 to
control it. Also, it's lower overhead: SkAutoTMalloc<uint8_t> is just a smart
poiter: no size or capacity stored.
BUG=skia:
R=reed@google.com , iancottrell@google.com , reed@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/163983002
git-svn-id: http://skia.googlecode.com/svn/trunk@13436 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 18:35:54 +00:00
commit-bot@chromium.org
536ac5e20c
Templetized SkWriter32 readTAt() & overwriteTAt()
...
Convert SkWriter32::{read,write}32At() to ::{read,overwrite}TAt<>() to allow
peeking/updating arbitrary records.
BUG=skia:
R=mtklein@google.com , reed@google.com , robertphillips@google.com , iancottrell@chromium.org
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/130913018
git-svn-id: http://skia.googlecode.com/svn/trunk@13416 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 22:38:51 +00:00
commit-bot@chromium.org
a87b21cd00
Reland SkWriter32 growth change with build fixes.
...
- SkSWriter32 resets itself with its stack block;
- Track the full capacity of fInternal (which may be >size after a reset).
BUG=skia:2125
R=reed@google.com , iancottrell@chromium.org , iancottrell@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/158953003
git-svn-id: http://skia.googlecode.com/svn/trunk@13412 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 18:22:04 +00:00
commit-bot@chromium.org
046f1f6ff4
Cleaner external buffer handling in SkWriter32
...
This unifies the internal and external buffer handling so that the difference only has to be noticed when growing.
Removing the branches from the common read and write cases gives a significant speedup.
BUG=skia:2125
R=tomhudson@google.com , mtklein@google.com , reed@google.com
Author: iancottrell@google.com
Review URL: https://codereview.chromium.org/156683004
git-svn-id: http://skia.googlecode.com/svn/trunk@13396 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 10:17:02 +00:00
commit-bot@chromium.org
c6d3c444ca
Have peek32 return uint32_t& to make it harder to look at more than 4 bytes.
...
BUG=skia:
R=reed@google.com , robertphillips@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/145053003
git-svn-id: http://skia.googlecode.com/svn/trunk@13265 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 16:22:57 +00:00
commit-bot@chromium.org
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
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
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
robertphillips@google.com
adacc7067a
Start cleaning up 64bit Win warnings
...
https://codereview.chromium.org/27192003/
git-svn-id: http://skia.googlecode.com/svn/trunk@11764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 21:53:24 +00:00
djsollen@google.com
5587ac09be
Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia.
...
R=joth@chromium.org , mtklein@google.com , reed@google.com , scroggo@google.com
Committed: https://code.google.com/p/skia/source/detail?r=11010
Review URL: https://codereview.chromium.org/23545017
git-svn-id: http://skia.googlecode.com/svn/trunk@11013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 20:20:40 +00:00
djsollen@google.com
16b86ced1f
Revert "Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia."
...
This reverts r11010.
Review URL: https://codereview.chromium.org/23757008
git-svn-id: http://skia.googlecode.com/svn/trunk@11011 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 19:41:56 +00:00
djsollen@google.com
2ce9fce145
Create a semi-stable API for capturing the state of an SkCanvas and reconstructing that state across different versions of Skia.
...
R=joth@chromium.org , mtklein@google.com , reed@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/23545017
git-svn-id: http://skia.googlecode.com/svn/trunk@11010 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 19:29:09 +00:00
mtklein@google.com
0038c12f33
Write NULL as "" so readString() always returns a non-NULL string.
...
BUG=
R=reed@google.com
Review URL: https://codereview.chromium.org/22862002
git-svn-id: http://skia.googlecode.com/svn/trunk@10754 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 21:01:32 +00:00
commit-bot@chromium.org
ff36a1d07f
Start from scratch on a faster SkFlatDictionary.
...
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:
Slowdown bench
-1.59% desk_youtubetvbrowse.skp
-2.56% desk_googlehome.skp
-6.40% tabl_androidpolice.skp
-6.45% desk_youtubetvvideo.skp
-6.91% tabl_googlecalendar.skp
...
-29.70% desk_yahoogames.skp
-32.17% desk_googlespreadsheet.skp
-32.23% mobi_wikipedia.skp
-37.16% desk_chalkboard.skp
-41.57% desk_pokemonwiki.skp
Overall slowdown: -22.74%
running bench [640 480] picture_record_recurring_paint_dictionary NONRENDERING: cmsecs = 9.92
running bench [640 480] picture_record_unique_paint_dictionary NONRENDERING: cmsecs = 22.16
running bench [640 480] picture_record_dictionaries NONRENDERING: cmsecs = 9.18
BUG=
Committed: http://code.google.com/p/skia/source/detail?r=10328
R=tomhudson@google.com , reed@google.com , scroggo@google.com
Author: mtklein@google.com
Review URL: https://chromiumcodereview.appspot.com/19564007
git-svn-id: http://skia.googlecode.com/svn/trunk@10336 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 20:37:30 +00:00
mtklein@google.com
5174286bc5
Revert "Start from scratch on a faster SkFlatDictionary."
...
This reverts commit fec9bfa02d5d2b27bfa2dad3e37e5825a720784d.
git-svn-id: http://skia.googlecode.com/svn/trunk@10331 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 19:11:15 +00:00
commit-bot@chromium.org
cae5d8d570
Start from scratch on a faster SkFlatDictionary.
...
This is like codereview.chromium.org/19276003, except it fits in better with the existing code, doesn't leak memory, and because it's back using SkChunkFlatController it's a little faster too, now a win across the board:
Slowdown bench
-1.59% desk_youtubetvbrowse.skp
-2.56% desk_googlehome.skp
-6.40% tabl_androidpolice.skp
-6.45% desk_youtubetvvideo.skp
-6.91% tabl_googlecalendar.skp
...
-29.70% desk_yahoogames.skp
-32.17% desk_googlespreadsheet.skp
-32.23% mobi_wikipedia.skp
-37.16% desk_chalkboard.skp
-41.57% desk_pokemonwiki.skp
Overall slowdown: -22.74%
running bench [640 480] picture_record_recurring_paint_dictionary NONRENDERING: cmsecs = 9.92
running bench [640 480] picture_record_unique_paint_dictionary NONRENDERING: cmsecs = 22.16
running bench [640 480] picture_record_dictionaries NONRENDERING: cmsecs = 9.18
BUG=
R=tomhudson@google.com , reed@google.com , scroggo@google.com
Author: mtklein@google.com
Review URL: https://chromiumcodereview.appspot.com/19564007
git-svn-id: http://skia.googlecode.com/svn/trunk@10328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 18:45:27 +00:00
mike@reedtribe.org
f6100c8b1a
fix compiler warnings:
...
- initialization order in SkWriter32.h
- size_t -vs- int in rrects.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@6942 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-24 13:56:17 +00:00
skia.committer@gmail.com
b89a03c890
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6930 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-22 02:02:33 +00:00
reed@google.com
5595af1b2e
unify how we handle externally-provided storage in SkWriter32, with the goal
...
of simplifying the logic in reserve() so it can be inlined/accelerated.
Review URL: https://codereview.appspot.com/6962048
git-svn-id: http://skia.googlecode.com/svn/trunk@6923 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-21 15:36:33 +00:00
skia.committer@gmail.com
306ab9d5de
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6774 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-13 02:01:33 +00:00
reed@google.com
4ed0fb7684
revert 6766, thereby re-landing 6762-6763 now that the bots are ready
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 20:48:18 +00:00
reed@google.com
25c1408c3d
revert 6762-6763, since those require new skps to be generated, and we can't
...
do that immediately right now... will re-submit when we can.
git-svn-id: http://skia.googlecode.com/svn/trunk@6766 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:15:31 +00:00
reed@google.com
9b0fd9aa66
part of prev CL for rrect
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6763 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:03:29 +00:00
reed@google.com
f56225c848
speedup peek32() when the offset is in the last block (fTail)
...
Review URL: https://codereview.appspot.com/6906047
git-svn-id: http://skia.googlecode.com/svn/trunk@6708 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 17:48:04 +00:00
scroggo@google.com
5a7c6be72b
Add the ability to provide function pointers to SkPicture serialization
...
and deserialization for encoding and decoding bitmaps.
Remove kForceFlattenBitmapPixels_Flag, which is no longer used.
When an SkOrderedReadBuffer needs to read a bitmap, if it does not
have an image decoder, use a dummy bitmap.
In GM, add a tolerance option for color differences, used when
testing picture serialization, so it can assume two images are the
same even though PNG encoding/decoding may have resulted in small
differences.
Create dummy implementations for SkImageDecoder and SkImageEncoder
functions in SkImageDecoder_empty so that a project that does not
want to include the images project it can still build.
Allow ports to build without images project.
In Mac's image encoder, copy 4444 to 8888 before encoding.
Add SkWriter32::reservePad, to provide a pointer to write non 4 byte
aligned data, padded with zeroes.
In bench_ and render_ pictures, pass decode function to SkPicture
creation from a stream.
BUG=https://code.google.com/p/skia/issues/detail?id=842
Review URL: https://codereview.appspot.com/6551071
git-svn-id: http://skia.googlecode.com/svn/trunk@5818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-04 21:46:08 +00:00
skia.committer@gmail.com
a27096b474
Sanitizing source files in Skia_Nightly_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5346 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 14:38:00 +00:00
reed@google.com
1cf58d03a8
add SkWriter32::rewindToOffset() -- used for peephole edits in picture recording
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5345 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 14:03:21 +00:00
rmistry@google.com
fbfcd56021
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/ )
...
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054
git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
reed@google.com
51c62a6cfa
add readPtr and writePtr to SkReader32 and SkWriter32
...
add template helper SkSWriter32, which allocates initial storage buffer
Review URL: https://codereview.appspot.com/6299075
git-svn-id: http://skia.googlecode.com/svn/trunk@4237 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 20:47:53 +00:00
djsollen@google.com
94e75ee46a
Rename the existing flatten(void*) methods.
...
This change avoids naminc confusion with the SkFlattenable flatten methods and
also changes SkPath to use the void* model instead of taking a SkReader32.
Review URL: https://codereview.appspot.com/6299062
git-svn-id: http://skia.googlecode.com/svn/trunk@4215 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 18:30:46 +00:00
reed@google.com
e49aca968c
add optional storage parameter to SkWriter32
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3759 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-24 21:12:39 +00:00
djsollen@google.com
2b2ede3e71
Decouple the SkFlattenable from SkReader32/SkWriter32.
...
The current impl for SkFlattenable read/write buffers is
that they extend from SkReader32 and SkWriter32, but that
dependency must be abstract if we are to add any other
serialization format.
Review URL: https://codereview.appspot.com/5999045
git-svn-id: http://skia.googlecode.com/svn/trunk@3654 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-12 13:24:04 +00:00
epoger@google.com
ec3ed6a5eb
Automatic update of all copyright notices to reflect new license terms.
...
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.
The following files still need to be modified manually, in a separate CL:
android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058
git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
vandebo@chromium.org
e1bc274295
Fix a batch of coverity defects, uninitialized class fields.
...
In SkClipStack::B2FIter::Clip, SkWriter32, SkClipStack::Rec, SkDeque::F2BIter, SkPDFShader::State
CID 15427,15433,15533,15532,16274,16740
Review URL: http://codereview.appspot.com/4630055
git-svn-id: http://skia.googlecode.com/svn/trunk@1669 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-21 22:26:39 +00:00
reed@google.com
dde0956375
add cross-process option to gpipe
...
add unittests for reader32 and writer32
git-svn-id: http://skia.googlecode.com/svn/trunk@1397 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-23 12:21:05 +00:00
reed@google.com
acd471f47c
updated pipe
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1231 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-03 21:26:46 +00:00
reed@google.com
5b3d5349be
add helper available()
...
git-svn-id: http://skia.googlecode.com/svn/trunk@1188 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 17:49:03 +00:00
reed@android.com
8a1c16ff38
grab from latest android
...
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 15:59:43 +00:00