Commit Graph

48 Commits

Author SHA1 Message Date
scroggo
a1193e4b0e Make SkStream *not* ref counted.
SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.

Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).

Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.

Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().

Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.

Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.

In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).

Make other pdf rasterizers behave like SkPDFDocumentToBitmap.

SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:

SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF

Requires a change to Android, which currently treats SkStreams as ref
counted objects.

Review URL: https://codereview.chromium.org/849103004
2015-01-21 12:09:53 -08:00
reed
f0ddf33f19 add lua to histogram text lengths
NOTRY=True
R=bungeman@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/574493002
2014-09-15 12:44:14 -07:00
reed
9594da111d use SkData::NewUninitialized
BUG=skia:
R=bungeman@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/565803005
2014-09-12 12:12:27 -07:00
robertphillips
a8d7f0b13c Try out scalar picture sizes
This paves the way for removing the 'fTile' parameter from SkPictureShader (although that should be a different CL). If we like this we could also move to providing an entire cull SkRect.

R=reed@google.com, mtklein@google.com, fmalita@google.com, fmalita@chromium.org

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/513983002
2014-08-29 08:03:56 -07:00
krajcevski
0f149e5a78 Add scraper to find paths that fallback to software
R=robertphillips@google.com, krajcevski@gmail.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/475433004
2014-08-18 07:52:25 -07:00
tfarina
a8e2e1504b Cleanup: Rename SkOSPath functions.
Mostly for brevity and matches better with Python:

Python           | Old C++                 | New C++
os.path.join     | SkOSPath::SkPathJoin    | SkOSPath::Join
os.path.basename | SkOSPath::SkBasename    | SkOSPath::Basename

BUG=None
TEST=make all
R=mtklein@google.com, bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
tfarina
da4ed3289e Cleanup: Delete sk_tools::make_filepath() in favor of SkOSPath::SkPathJoin().
BUG=None
TEST=make tools tests && out/Debug/tests
R=epoger@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/327403002
2014-06-12 08:50:56 -07:00
robertphillips
9b14f26d0f Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
commit-bot@chromium.org
b3b0cfc4d4 Add lua scripts to scrape dashing info
BUG=skia:
R=reed@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14754 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 20:35:50 +00:00
commit-bot@chromium.org
bdc772ebbe Add quiet mode to lua_pictures.
This allows:

for i in {0..5}; do
    out/Debug/lua_pictures -q --skpPath $SKP_PATH -l $SCRIPT --modulo $i 6
done

to generate output similar to what telemetry will generate.

R=reed@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13861 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-19 19:23:17 +00:00
commit-bot@chromium.org
1301bf3abf add initial scraper for dashing
BUG=skia:
R=bsalomon@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13843 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 23:09:47 +00:00
commit-bot@chromium.org
c530208ab0 Add point count to lua SkPath.
Add some scripts for classifying rrects and counting complex clip combinations.

R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13601 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 21:38:47 +00:00
bsalomon@google.com
4ebe382188 Revert "Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org/180283004/)"
This reverts commit efded03a38d6147caaf2d951638d27fdd47eed64.

Fixes builds

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13599 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 20:22:32 +00:00
commit-bot@chromium.org
1caedbb216 Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org/180283004/)
Reason for revert:
breaking a bunch of builds

Original issue's description:
> Add getReducedClipStack to lua canvas
>
> Committed: http://code.google.com/p/skia/source/detail?r=13594

R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13597 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 18:32:44 +00:00
commit-bot@chromium.org
a47ac2bcc2 Add getReducedClipStack to lua canvas
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13594 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 17:50:08 +00:00
commit-bot@chromium.org
d85b822616 Add some SkPath lua functions
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13572 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 21:59:29 +00:00
commit-bot@chromium.org
5cc25359c6 Add getClipStack method to lua SkCanvas
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13567 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 18:59:48 +00:00
commit-bot@chromium.org
74f96b9c4c Added 3-color gradient scraper for detecting symmetrical gradients.
Made changes to lua to scrape info about 3 color gradients

BUG=
R=reed@google.com

Author: dierk@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10490 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 17:32:56 +00:00
humper@google.com
0f48ee0a07 add more stats to the bitmap matrix locator
BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-26 15:23:43 +00:00
reed@google.com
5fdc983f58 expose shaders
git-svn-id: http://skia.googlecode.com/svn/trunk@10312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 15:47:52 +00:00
commit-bot@chromium.org
6645cde43d Fix build problem with reverted issue 16948011
BUG=
R=caryclark@google.com

Author: sglez@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10201 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 18:54:04 +00:00
robertphillips@google.com
7ac13b7198 Reverting r10173 due to compile problems
git-svn-id: http://skia.googlecode.com/svn/trunk@10174 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 00:50:48 +00:00
commit-bot@chromium.org
0abc976e33 Measurement tool for Bounding-Box-Hierarchies.
BUG=
R=caryclark@google.com, reed@google.com

Author: sglez@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10173 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 00:32:39 +00:00
commit-bot@chromium.org
56799e2ee6 Add the lazy decoder from PictureFlags to SkImageDecoder
R=caryclark@google.com, scroggo@google.com

Author: sglez@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10111 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-16 18:21:46 +00:00
reed@google.com
f37f2ccd75 clean up extra printfs in count_effects.lua
git-svn-id: http://skia.googlecode.com/svn/trunk@10052 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-12 18:36:12 +00:00
humper@google.com
9d5fedc5a6 add newline to bitmap rotation script output
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10000 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 13:53:44 +00:00
humper@google.com
2815c19c4d add matrix objects to the lua bindings, as well as a lua script to find the proportion of image draw commands with different kinds of matrices
git-svn-id: http://skia.googlecode.com/svn/trunk@9986 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 22:42:30 +00:00
reed@google.com
2956387916 add paint:getEffects to return table of bools of a given effect is present on the paint
git-svn-id: http://skia.googlecode.com/svn/trunk@9978 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 21:23:49 +00:00
scroggo@google.com
f1754ec691 Replace SkPicture(SkStream) constructors with a factory.
SkPicture:
Remove the constructors which take an SkStream as an argument. Rather
than having to check a variable for success, the factory will return
NULL on failure.
Add a protected function for determining if an SkStream is an SKP
to share code with SkTimedPicture.
In the factory, check for a NULL SkStream.
Use a default decoder (from BUG:
https://code.google.com/p/skia/issues/detail?id=1325)

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

Use the factory throughout tools.

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

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

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

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9822 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-28 21:32:00 +00:00
commit-bot@chromium.org
aaeb87d32c Add modulo flag to lua_pictures.
The intended use is spawning processes to save time.

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

Author: sglez@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 21:45:20 +00:00
commit-bot@chromium.org
3da6c56f14 Allow files, making ".skp files or directories are required." less of a lie.
BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9665 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 18:35:58 +00:00
reed@google.com
b8b3d90284 use ForceLinking to get codecs into lua_picture
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9549 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 20:07:10 +00:00
reed@google.com
312e9a2f4c add script to count glyph -vs- char draw calls
git-svn-id: http://skia.googlecode.com/svn/trunk@9548 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 19:53:49 +00:00
mike@reedtribe.org
73d9f1c651 more paint methods to lua
git-svn-id: http://skia.googlecode.com/svn/trunk@9483 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-09 01:54:56 +00:00
skia.committer@gmail.com
26da7f00ae Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-01 07:01:39 +00:00
reed@google.com
e2aad27c5f sort the glyphID arrays
add head/tail code

git-svn-id: http://skia.googlecode.com/svn/trunk@9376 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 19:46:02 +00:00
reed@google.com
e3823fd901 add script to scrape glyph usage in drawText calls
git-svn-id: http://skia.googlecode.com/svn/trunk@9353 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 18:55:14 +00:00
reed@google.com
3597b73bc6 expand SkLua to handle creation of its own State
add lua sample

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 20:12:50 +00:00
reed@google.com
74ce6f046c add dumpops.lua as a sample scraper that just dumps the arguments
add SkLua.h for common utilities

BUG=
R=rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9242 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-22 15:13:18 +00:00
reed@google.com
9a73104c1b add SkPath as real lua object
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9221 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 17:52:33 +00:00
reed@google.com
2d51677b19 add startcanvas/endcanvas entry-points for the script. rename all "official" entry-points to use "sk_scrape_" prefix
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9216 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 16:05:53 +00:00
reed@google.com
14f584b353 disable dumping the ctm on every drawRect verb (was there for testing)
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9213 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 14:19:53 +00:00
mike@reedtribe.org
f02fe3d4fe support SkCanvas as a real lua object
git-svn-id: http://skia.googlecode.com/svn/trunk@9208 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 12:20:39 +00:00
mike@reedtribe.org
0e59b796e5 allow multiple lua files to be used in lua_pictures
begin "stdlib" for skia in lua
add comments to scrape.lua



git-svn-id: http://skia.googlecode.com/svn/trunk@9206 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 03:24:37 +00:00
mike@reedtribe.org
cef454e7b8 printf name of picture *before* we try to scrape it.
git-svn-id: http://skia.googlecode.com/svn/trunk@9205 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-21 01:49:06 +00:00
skia.committer@gmail.com
539f364e80 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9159 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-16 07:01:00 +00:00
mike@reedtribe.org
1c5a94f5e0 lua accumulate now receives a table of the draw parameters
git-svn-id: http://skia.googlecode.com/svn/trunk@9158 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-16 04:20:23 +00:00
reed@google.com
dff7e11c20 add SkLuaCanvas
add lua 5.2 to third_party

BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@9149 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-15 19:34:20 +00:00