Commit Graph

1514 Commits

Author SHA1 Message Date
robertphillips
9c4909b50f Add imgblur tool to assist BlurMaskFilter debugging
imgblur is intended to establish a ground truth for debugging mask blur issues. It performs a brute force (non-separable) Gaussian blur of the provided image.

The blur code itself is in sk_tools_utils so it can be more easily used programmatically in other places (e.g., blur unit tests).

Review URL: https://codereview.chromium.org/1384203002
2015-10-19 06:39:17 -07:00
mtklein
ff8b3f0f65 Test SkRemote on GCE bots.
This will get us gathering GM images.
I will set up ignores on gold.skia.org so no one's bothered.

BUG=skia:

Review URL: https://codereview.chromium.org/1414563002
2015-10-17 09:25:21 -07:00
scroggo
82e341ff87 Suppression for valgrind bug
TBR=msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

BUG=skia:4478

Review URL: https://codereview.chromium.org/1410953002
2015-10-16 14:42:47 -07:00
caryclark
26ad22ab61 Enabling clip stack flattening exercises path ops.
Iterating through the 903K skps that represent the
imagable 1M top web pages triggers a number of
bugs, some of which are addressed here.

Some web pages trigger intersecting cubic
representations of arc with their conic
counterparts. This exposed a flaw in coincident
detection that caused an infinite loop. The loop
alternatively extended the coincident section and,
determining the that the bounds of the curve pairs
did not overlap, deleted the extension.

Track the number of times the coincident detection
is called, and if it exceeds an empirically found
limit, assume that the curves are coincident and
force it to be so.

The loop count limit can be determined by enabling
DEBUG_T_SECT_LOOP_COUNT and running all tests. The
largest count is reported on completion.

Another class of bugs was caused by concident
detection duplicating nearly identical points that
had been merged earlier. To track these bugs, the
'handle coincidence' code was duplicated as a
const debug variety that reported if one of a
dozen or so irregularities are present; then it is
easier to see when a block of code that fixes one
irregularity regresses another.

Creating the debug const code version exposed some
non-debug code that could be const, and some that
was experimental and could be removed. Set
DEBUG_COINCIDENCE to track coincidence health and
handling.

For running on Chrome, DEBUG_VERIFY checks the
result of pathops against the same operation
using SkRegion to verify that the results are
nearly the same.

When visualizing the pathops work using
tools/pathops_visualizer.htm, set
DEBUG_DUMP_ALIGNMENT to see the curves after
they've been aligned for coincidence.

Other bugs fixed include detecting when a
section of a pair of curves have devolved into
lines and are coincident.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1394503003
2015-10-16 09:03:38 -07:00
joshualitt
c9dd93cd5b Add NVPR to VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1409603004
2015-10-15 09:49:31 -07:00
benjaminwagner
6f6bef84a3 Add dm target to BUILD and refactor BUILD file. The corresponding google3 BUILD file changes are in google3 cl/105413829.
Fix blaze compilation errors. The default compilation options for blaze require that the initialization list must list fields in initialization order. Also deal with differing versions of libjpeg.

The BUILD changes were started by melanielc in google3 cl/102860957.

BUG=skia:

Review URL: https://codereview.chromium.org/1401883005
2015-10-15 08:09:45 -07:00
scroggo
860e8a6719 Renable image benchmarking
- Remove --images '' to renable image benchmarking
- Add a flag to disable testing JPEG's buildTileIndex, since it also leaks memory
- Do not run images on GPU
- Do not run large interlaced images on 32 bit bots
- When buildTileIndex is not being used in the subset benches, do not use it for BRD

BUG=skia:3418
BUG=skia:4469
BUG=skia:4471
BUG=skia:4360

Review URL: https://codereview.chromium.org/1396113002
2015-10-15 07:51:28 -07:00
joshualitt
c603c143bb small tidy of benchmarkstream
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/691b6af907e55250a29a7a2a346b63c2026011c3

Review URL: https://codereview.chromium.org/1395703002
2015-10-15 07:18:29 -07:00
joshualitt
a3b8c67ea6 Revert of small tidy of benchmarkstream (patchset #2 id:20001 of https://codereview.chromium.org/1395703002/ )
Reason for revert:
Breaks visualbench

Original issue's description:
> small tidy of benchmarkstream
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/691b6af907e55250a29a7a2a346b63c2026011c3

TBR=robertphillips@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1392833006
2015-10-14 14:45:07 -07:00
joshualitt
691b6af907 small tidy of benchmarkstream
BUG=skia:

Review URL: https://codereview.chromium.org/1395703002
2015-10-14 08:04:22 -07:00
joshualitt
d0f0bceb0e Create VisualStreamTimingModule
BUG=skia:

Review URL: https://codereview.chromium.org/1385073002
2015-10-14 07:49:28 -07:00
msarett
ea03aed9c5 SkBitmapRegionCanvas bug fix
BUG=skia:

Review URL: https://codereview.chromium.org/1393423004
2015-10-12 13:33:18 -07:00
msarett
04965c6f11 SkBitmapRegionDecoder clean-up
Use SkCodecPrintf instead of SkDebugf.

Check if the conversion is possible rather than starting many decodes
that will certainly fail.

Small refactor to code that deals with subsets that fall outside
of the image.

BUG=skia:

Review URL: https://codereview.chromium.org/1395383002
2015-10-12 10:24:38 -07:00
bsalomon
f276ac5c16 Move functions from SkGr to SkGrPriv.h
Review URL: https://codereview.chromium.org/1397123002
2015-10-09 13:36:42 -07:00
scroggo
e361781bf7 Fix codec memory leaks in nanobench
SubsetTranslateBench.cpp:
Unref the color table, so it gets deleted.

SkBitmapRegionDecoderInterface.cpp:
Delete the stream if it is not used.

BUG=skia:3418

Review URL: https://codereview.chromium.org/1396113003
2015-10-09 12:15:57 -07:00
msarett
e6dd004c1b Fill incomplete images in SkCodec parent class
Rather than implementing some sort of "fill" in every
SkCodec subclass for incomplete images, let's make the
parent class handle this situation.

This includes an API change to SkCodec.h

SkCodec::getScanlines() now returns the number of lines it
read successfully, rather than an SkCodec::Result enum.
getScanlines() most often fails on an incomplete input, in
which case it is useful to know how many lines were
successfully decoded - this provides more information than
kIncomplete vs kSuccess.  We do lose information when the
API is used improperly, as we are no longer able to return
kInvalidParameter or kScanlineNotStarted.

Known Issues:
Does not work for incomplete fFrameIsSubset gifs.
Does not work for incomplete icos.

BUG=skia:

Review URL: https://codereview.chromium.org/1332053002
2015-10-09 11:07:34 -07:00
scroggo
0a3cac8a90 Reland of Pass --images '' to nanobench to disable image benchmarking. (patchset #1 id:1 of https://codereview.chromium.org/1400633002/ )
Reason for revert:
Still breaking. e.g.

http://build.chromium.org/p/client.skia/builders/Test-iOS-Clang-iPad4-GPU-SGX554-Arm7-Debug/builds/1466/steps/nanobench/logs/stdio

http://build.chromium.org/p/client.skia.android/builders/Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release/builds/2280/steps/nanobench/logs/stdio

Original issue's description:
> Revert of Pass --images '' to nanobench to disable image benchmarking. (patchset #1 id:1 of https://codereview.chromium.org/1381703003/ )
>
> Reason for revert:
> I have attempted to fix the problems that caused running nanobench with images to fail, so testing to see if they are in fact fixed.
>
> Original issue's description:
> > Pass --images '' to nanobench to disable image benchmarking.
> >
> > Enabling image benchmarking has caused most nanobench runs to fail,
> > both Debug and Release.
> >
> > BUG=skia:3418
> > NOTREECHECKS=true
> > TBR=scroggo@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/1f7039c6c5f0f118b629994b0bac255345e5abd6
>
> BUG=skia:3418
>
> Committed: https://skia.googlesource.com/skia/+/c2e59caa0a466040f4b4f08cb5604c86b2615efa

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3418

Review URL: https://codereview.chromium.org/1396843003
2015-10-08 14:44:51 -07:00
scroggo
c2e59caa0a Revert of Pass --images '' to nanobench to disable image benchmarking. (patchset #1 id:1 of https://codereview.chromium.org/1381703003/ )
Reason for revert:
I have attempted to fix the problems that caused running nanobench with images to fail, so testing to see if they are in fact fixed.

Original issue's description:
> Pass --images '' to nanobench to disable image benchmarking.
>
> Enabling image benchmarking has caused most nanobench runs to fail,
> both Debug and Release.
>
> BUG=skia:3418
> NOTREECHECKS=true
> TBR=scroggo@google.com
>
> Committed: https://skia.googlesource.com/skia/+/1f7039c6c5f0f118b629994b0bac255345e5abd6

BUG=skia:3418

Review URL: https://codereview.chromium.org/1400633002
2015-10-08 14:09:41 -07:00
egdaniel
ccb88bcab0 Blacklisting imagefilterscropexpand on s4 since it often causes the bot to hang and crash.
BUG=skia:4079

Review URL: https://codereview.chromium.org/1373763005
2015-10-06 11:20:09 -07:00
joshualitt
e1f8296999 Fix for visualbench loops forever
TBR=robertphillips@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1387823004
2015-10-06 08:25:15 -07:00
joshualitt
5a74afebb7 nvpr removal from VisualBench base context
TBR=bsalomon@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1391633002
2015-10-06 08:05:10 -07:00
joshualitt
cb54e8ed45 Cleanup timing state machine
BUG=skia:

Review URL: https://codereview.chromium.org/1386933002
2015-10-05 13:58:26 -07:00
joshualitt
dc5db59514 move visual bench interactive module to timing state machine
BUG=skia:

Review URL: https://codereview.chromium.org/1382883003
2015-10-05 13:24:55 -07:00
mtklein
1f7039c6c5 Pass --images '' to nanobench to disable image benchmarking.
Enabling image benchmarking has caused most nanobench runs to fail,
both Debug and Release.

BUG=skia:3418
NOTREECHECKS=true
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/1381703003
2015-10-05 10:24:59 -07:00
joshualitt
98d2e2f095 Factor out VisualBench timing code into a helper class
BUG=skia:

Review URL: https://codereview.chromium.org/1375363003
2015-10-05 07:23:30 -07:00
halcanary
65f7c9fa7e SkPDF: remove suppression
Review URL: https://codereview.chromium.org/1379183005
2015-10-02 12:15:55 -07:00
joshualitt
399dd05962 Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1375733003/ )
Reason for revert:
Reverting, optimistically fixed

Original issue's description:
> Reland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1382933002/ )
>
> Reason for revert:
> Not fixed. :-(
>
> Original issue's description:
> > Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ )
> >
> > Reason for revert:
> > should hopefully be fixed, please reland if not.
> >
> > Original issue's description:
> > > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
> > >
> > > BUG=skia:4373
> > >
> > > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47
> >
> > TBR=borenet@google.com,benjaminwagner@google.com
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:4373
> >
> > Committed: https://skia.googlesource.com/skia/+/52f8deba607fd67558b57551cd43406c8b743072
>
> TBR=borenet@google.com,joshualitt@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4373
>
> Committed: https://skia.googlesource.com/skia/+/9442ab8a40dd0effde253e3b2d166bcf47222e92

TBR=borenet@google.com,benjaminwagner@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4373

Review URL: https://codereview.chromium.org/1385633002
2015-10-02 06:56:25 -07:00
benjaminwagner
9442ab8a40 Reland of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1382933002/ )
Reason for revert:
Not fixed. :-(

Original issue's description:
> Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ )
>
> Reason for revert:
> should hopefully be fixed, please reland if not.
>
> Original issue's description:
> > Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
> >
> > BUG=skia:4373
> >
> > Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47
>
> TBR=borenet@google.com,benjaminwagner@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:4373
>
> Committed: https://skia.googlesource.com/skia/+/52f8deba607fd67558b57551cd43406c8b743072

TBR=borenet@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4373

Review URL: https://codereview.chromium.org/1375733003
2015-10-01 16:25:51 -07:00
bungeman
77a53de20d Base SkAutoTUnref on skstd::unique_ptr.
To further consolidate the various unique owning classes, this bases
SkAutoTUnref on skstd::unique_ptr. Users are updated because of two
breaking changes, swap now takes a reference and reset no longer
returns its argument.

Review URL: https://codereview.chromium.org/1370803002
2015-10-01 12:28:49 -07:00
joshualitt
52f8deba60 Revert of Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373 (patchset #1 id:1 of https://codereview.chromium.org/1365683003/ )
Reason for revert:
should hopefully be fixed, please reland if not.

Original issue's description:
> Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
>
> BUG=skia:4373
>
> Committed: https://skia.googlesource.com/skia/+/3420d2796bad5ce553efb9909790ea72e578dc47

TBR=borenet@google.com,benjaminwagner@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4373

Review URL: https://codereview.chromium.org/1382933002
2015-10-01 12:09:17 -07:00
mtklein
c6f5cac9bb Basic CPU support for VisualBench.
BUG=skia:

Review URL: https://codereview.chromium.org/1378393002
2015-10-01 11:56:56 -07:00
mtklein
a1ebeb25e9 Remove const from const int loops.
This drives me nuts, and prevents `while (loops --> 0)`.

BUG=skia:

Review URL: https://codereview.chromium.org/1379923005
2015-10-01 09:43:39 -07:00
joshualitt
8a6697af95 Fix for nexus 5 crashing in GL benches
GLBenches do not expect gl state  to change between onPerCanvasPreDraw and *PostDraw, but we do a clear and sometimes we clear as draw.  This causes us to bind vertex objects / programs / etc.

This change creates two new virtual methods which are called right before and immediately after timing.

BUG=skia:

Review URL: https://codereview.chromium.org/1379853003
2015-09-30 12:11:07 -07:00
scroggo
46c5747256 Merge SkCodec with SkScanlineDecoder
Benefits:
- This mimics other decoding APIs (including the ones SkCodec relies
on, e.g. a png_struct, which can be used to decode an entire image or
one line at a time).

- It allows a client to ask us to do what we can do efficiently - i.e.
start from encoded data and either decode the whole thing or scanlines.

- It removes the duplicate methods which appeared in both SkCodec and
SkScanlineDecoder (some of which, e.g. in SkJpegScanlineDecoder, just
call fCodec->sameMethod()).

- It simplifies moving more checks into the base class (e.g. the
examples in skbug.com/4284).

BUG=skia:4175
BUG=skia:4284

=====================================================================

SkScanlineDecoder.h/.cpp:
Removed.

SkCodec.h/.cpp:
Add methods, enums, and variables which were previously in
SkScanlineDecoder.
Default fCurrScanline to -1, as a sentinel that start has not been
called.

General changes:
Convert SkScanlineDecoders to SkCodecs.

General changes in SkCodec subclasses:
Merge SkScanlineDecoder implementation into SkCodec. Most (all?) owned
an SkCodec, so they now call this-> instead of fCodec->.

SkBmpCodec.h/.cpp:
Replace the unused rowOrder method with an override for
onGetScanlineOrder.
Make getDstRow const, since it is called by onGetY, which is const.

SkCodec_libpng.h/.cpp:
Make SkPngCodec an abstract class, with two subclasses which handle
scanline decoding separately (they share code for decoding the entire
image). Reimplement onReallyHasAlpha so that it can return the most
recent result (e.g. after a scanline decode which only decoded part
of the image) or a better answer (e.g. if the whole image is known to
be opaque).
Compute fNumberPasses early, so we know which subclass to instantiate.
Make SkPngInterlaceScanlineDecoder use the base class' fCurrScanline
rather than a separate variable.

CodexTest.cpp:
Add tests for the state changes in SkCodec (need to call start before
decoding scanlines; calling getPixels means that start will need to
be called again before decoding more scanlines).
Add a test which decodes in stripes, currently only used for an
interlaced PNG.

TODO: Add tests for onReallyHasAlpha.

Review URL: https://codereview.chromium.org/1365313002
2015-09-30 08:57:14 -07:00
halcanary
c11c62f4a2 DM: PDFSink sets rasterizer keyword
Review URL: https://codereview.chromium.org/1376573002
2015-09-28 11:51:54 -07:00
reed
c9e190ddac Revert of change pixel-serializer to support reencoding existing data (patchset #5 id:80001 of https://codereview.chromium.org/1373683003/ )
Reason for revert:
Need to somehow get access to encoders in chrome -- link error on the roll since SkImageEncoder is not built as part of chrome.

Original issue's description:
> change pixel-serializer to support reencoding existing data
>
> Trying to evolve this interface so it can
> - support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT
> - allow for encoding images as well as bitmaps (e.g. for picture serialization)
> - perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/13f48dc85aa68a60da66aaf39c93d527d11d1278

TBR=scroggo@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1371983003
2015-09-28 09:58:41 -07:00
reed
13f48dc85a change pixel-serializer to support reencoding existing data
Trying to evolve this interface so it can
- support rich set of backend-encoders (including ones like ETC1 that can cheaply convert to KXT
- allow for encoding images as well as bitmaps (e.g. for picture serialization)
- perhaps replace SkImageEncoder as an API (assuming we create a factory that returns a serializer given a format)

BUG=skia:

Review URL: https://codereview.chromium.org/1373683003
2015-09-28 08:58:53 -07:00
reed
d114645d93 SkInstallDiscardablePixelRef is deprecated, enforce that
No functionality change, just a renaming.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1372593002
2015-09-25 06:56:57 -07:00
joshualitt
8db65a6d0c stop scaling loops and improve warmup bench
BUG=skia:

Review URL: https://codereview.chromium.org/1363663004
2015-09-24 12:42:02 -07:00
joshualitt
7d4b458b9f Add warmup bench to visual bench
BUG=skia:

Review URL: https://codereview.chromium.org/1358373003
2015-09-24 08:08:23 -07:00
benjaminwagner
6fccec34d2 Blacklist ReadPixels on GalaxyS4 due to skia:4368.
BUG=skia:4368

Review URL: https://codereview.chromium.org/1366723002
2015-09-24 06:39:06 -07:00
benjaminwagner
3420d2796b Blacklist GLVertexAttributesBench and GLVec4ScalarBench for GalaxyS4 due to skia:4373
BUG=skia:4373

Review URL: https://codereview.chromium.org/1365683003
2015-09-23 12:20:47 -07:00
benjaminwagner
a1a8a601ae Blacklist GLInstancedArraysBench for GalaxyS4 due to skia:4371
BUG=skia:4371

Review URL: https://codereview.chromium.org/1363963002
2015-09-23 11:41:04 -07:00
msarett
7f69144aaa Add nanobench tests for BitmapRegionDecoder
SkBitmapRegionDecoderInterface provides an interface
for multiple implementations of Android's
BitmapRegionDecoder.

We already have correctness tests in DM that will enable us
to compare the quality of our various BRD implementations.

We also need these performance tests to compare the speed
of our various implementations.

BUG=skia:4357

Review URL: https://codereview.chromium.org/1344993003
2015-09-22 11:56:16 -07:00
benjaminwagner
31459a4ace This file was supposed to be in https://codereview.chromium.org/1347143006/
BUG=skia:4367

Review URL: https://codereview.chromium.org/1351073003
2015-09-22 11:38:51 -07:00
benjaminwagner
59ea019fa0 Blacklist bleed_image on GalaxyS4.
BUG=skia:4367

Review URL: https://codereview.chromium.org/1347143006
2015-09-22 09:49:47 -07:00
borenet
08d7747ffe Buildbot specs for Linux ANGLE bot
BUG=skia:4362

Review URL: https://codereview.chromium.org/1361453002
2015-09-21 08:20:24 -07:00
robertphillips
5ce341fcd7 Add slice tool
Don't know if we want to add this but I found it useful when tracking down blur circle bugs.

Review URL: https://codereview.chromium.org/1350323002
2015-09-18 09:04:43 -07:00
joshualitt
fb33ae15ce Not correctly initializing VisualBench commandline arguments
TBR=mtklein@google.com
BUG=skia:

Review URL: https://codereview.chromium.org/1340163004
2015-09-18 06:47:39 -07:00
borenet
9063e427d2 Buildbot spec and gyp defs for SK_USE_DISCARDABLE_SCALEDIMAGECACHE bot
BUG=skia:4354

Review URL: https://codereview.chromium.org/1350283003
2015-09-18 06:37:14 -07:00
mtklein
d0fff5b6d8 Test-...-Release-SK_FOO --> -DSK_FOO
When a bot ends with extra_config SK_LIKE_THIS,
we'll define SK_LIKE_THIS when compiling.

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SK_USE_DISCARDABLE_SCALEDIMAGECACHE-Trybot,Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

BUG=skia:4354

Review URL: https://codereview.chromium.org/1346833004
2015-09-18 06:15:55 -07:00
ericrk
0a5fa484fd Add onMemoryDump to GrContext
Adds an entry point to GrContext to allow enumeration and tracing of GPU resources
via the newly added SkTraceMemoryDump.

Plan is for Chrome to call this on each of its GrContexts.

Dumps both the total size of GPU resources, as well as the total purgeable size.

BUG=526261

Review URL: https://codereview.chromium.org/1313743002
2015-09-15 14:16:10 -07:00
mtklein
ca6f43b6fd vb: also thread --key through to .json
BUG=skia:

Review URL: https://codereview.chromium.org/1342203002
2015-09-15 13:29:20 -07:00
jvanverth
f5d1b2de03 Add viewer mode to VisualBench.
Displays each benchmark/skp with a graph showing a series of frame times.
Use the space bar to skip to the next benchmark.

Adds an option to hit ESC to quit VisualBench. Useful in fullscreen mode.

Review URL: https://codereview.chromium.org/1336043003
2015-09-15 07:40:56 -07:00
reed
4d5b67637b formalize generate->bitmap
just move block of code to expose it

BUG=skia:4328
TBR=

Review URL: https://codereview.chromium.org/1334033004
2015-09-13 11:03:32 -07:00
mtklein
fe81e2d274 Make SkGraphics::Term a no-op, stop calling it.
I'd remove it entirely but Android is calling it explicitly.

BUG=skia:4259

Committed: https://skia.googlesource.com/skia/+/925979f733fe8e70d84627147dee04d030423349

Review URL: https://codereview.chromium.org/1329853005
2015-09-09 07:35:42 -07:00
mtklein
d9b8d7ac1f Revert of Make SkGraphics::Term a no-op, stop calling it. (patchset #2 id:20001 of https://codereview.chromium.org/1329853005/ )
Reason for revert:
SK_ATTR_DEPRECATED is meaningful to Android.  Don't use it.

Original issue's description:
> Make SkGraphics::Term a no-op, stop calling it.
>
> I'd remove it entirely but Android is calling it explicitly.
>
> BUG=skia:4259
>
> Committed: https://skia.googlesource.com/skia/+/925979f733fe8e70d84627147dee04d030423349

TBR=reed@google.com,scroggo@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:4259

Review URL: https://codereview.chromium.org/1314483006
2015-09-09 07:22:09 -07:00
msarett
a5783aeff0 Provides various implementations of Android's SkBitmapRegionDecoder.
Implements testing in DM for these implementations.

nanobench testing will follow after this.

TBR=scroggo
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/76f755e6d54a32f9887ad254ce59a3a62f28bde4

Review URL: https://codereview.chromium.org/1288963002
2015-09-08 15:35:32 -07:00
mtklein
925979f733 Make SkGraphics::Term a no-op, stop calling it.
I'd remove it entirely but Android is calling it explicitly.

BUG=skia:4259

Review URL: https://codereview.chromium.org/1329853005
2015-09-08 15:18:21 -07:00
joshualitt
189aef7834 Create module system for VisualBench
The newly created VisualLightweightBenchModule is just the old VisualBench.cpp, but gutted to only include timing code.

Future CLs will harden this abstraction, but for this CL the module owns a backpointer to VisualBench.cpp for a couple of calls.

BUG=skia:

Review URL: https://codereview.chromium.org/1304083007
2015-09-08 07:08:11 -07:00
joshualitt
55143211e9 Minor tweak to visual bench timing
BUG=skia:

Review URL: https://codereview.chromium.org/1310153005
2015-09-04 07:48:42 -07:00
robertphillips
943a462fef Minor code cleanup (left over from prior CL)
This was requested in https://codereview.chromium.org/1309543012/ (Add new GM to directly exercise perspective bitmap drawing)

Review URL: https://codereview.chromium.org/1320673011
2015-09-03 13:32:33 -07:00
borenet
d34d94766d Appurify bot: don't use flags that visualbench doesn't support
Depends on https://codereview.chromium.org/1320423005/
BUG=skia:4277

Review URL: https://codereview.chromium.org/1310903006
2015-09-03 12:31:26 -07:00
bsalomon
afcd7cd324 Rename flag from "distance field" to "device independent."
Review URL: https://codereview.chromium.org/1322433006
2015-08-31 12:39:41 -07:00
borenet
5e04bcfddd Run Appurify bot in release mode
BUG=skia:4093

Review URL: https://codereview.chromium.org/1306953006
2015-08-31 09:30:57 -07:00
caryclark
5ef194c31a Suppress embedding fonts when the skp's fonts match the OS fonts.
The million SKPs generated require >5T of storage. A good deal
of that are copies of system fonts.

Chrome built with
#DEFINE SK_WHITELIST_SERIALIZED_TYPEFACES
will omit the font data if the font matches a precomputed
checksum.

The captured SKP prepends sk_ to the names of fonts that
have their data omitted. The SKP consumer can either add
renamed fonts from the recording machine, or add

gDeserializeTypefaceDelegate = WhitelistDeserializeTypeface;

which strips the sk_ prefix when deserializing typefaces.

whitelist_typefaces --check
Computes the checksums of fallback
fonts and returns 0 if the checksums match the checked-in
file SkWhitelistChecksum.cpp.

whitelist_typefaces --generate
Writes an updated version of SkWhitelistChecksum.cpp.

(Added Mike since this modifies a public header)

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

Review URL: https://codereview.chromium.org/1317913005
2015-08-31 09:22:38 -07:00
hendrikw
885bf09255 skia: add ability to load command_buffer_gles2
BUG=skia:

Review URL: https://codereview.chromium.org/1306823003
2015-08-27 10:38:39 -07:00
halcanary
96fcdcc219 Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
2015-08-27 07:41:16 -07:00
halcanary
385fe4d4b6 Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
2015-08-26 13:07:49 -07:00
bungeman
60e0fee6d4 Remove include of stdlib.h from SkTypes.h.
Unfortunately, immintrin.h (which is also included by SkTypes)
includes xmmintrin.h which includes mm_malloc.h which includes
stdlib.h for malloc even though, from the implementation, it is
difficult to see why.

Fortunately, arm_neon.h does not seem to be involved in such
shenanigans, so building for Android will keep things sane.

TBR=reed@google.com
Doesn't change Skia API, just moves an include.

Review URL: https://codereview.chromium.org/1313203003
2015-08-26 05:15:46 -07:00
borenet
cf72ed6a3e Skip scaled_tilemodes_npot on Galaxy S4
It's hanging.

BUG=skia:3932

Review URL: https://codereview.chromium.org/1318503003
2015-08-25 06:53:37 -07:00
borenet
98f7e334e7 Add buildbot_spec info for Appurify bot
BUG=skia:4093

Review URL: https://codereview.chromium.org/1296593003
2015-08-24 12:50:59 -07:00
halcanary
2f0a728e5a GMs: change some GMs to use SkImage over SkBitmap
Also, add GetResourceAsImage() to Resources.h

Motivation:  test drawImage() as much as we test drawBitmap()

Review URL: https://codereview.chromium.org/1306133003
2015-08-21 07:47:23 -07:00
bungeman
99fe822606 Use static_assert instead of SK_COMPILE_ASSERT.
Now that static_assert is allowed, there is no need to use a non-
standard compile time assertion

Review URL: https://codereview.chromium.org/1306443004
2015-08-20 07:57:52 -07:00
bungeman
f3c15b7cfc Move SkTemplates.h to private.
SkTemplates.h contains a number of Skia specific utilities which are
not designed for external use. In addition to reducing the external
support burden, this will allow Skia to freely refactor this file.

Review URL: https://codereview.chromium.org/1272293004
2015-08-19 11:56:48 -07:00
mtklein
c6ad06acef unsigned -> int for counts and indices in picture-related code
also, (C)

BUG=skia:

Review URL: https://codereview.chromium.org/1300163002
2015-08-19 09:51:01 -07:00
joshualitt
5b4a7abd48 Adding sucessful exit message to VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1287763004
2015-08-19 08:21:48 -07:00
bsalomon
f3bf892d71 Fix VS 2015 build
TBR=robertphillips@google.com

Review URL: https://codereview.chromium.org/1297283003
2015-08-19 06:12:36 -07:00
egdaniel
73caadf277 Try enabling all nanobenches on Nexus7
BUG=skia:2774

Review URL: https://codereview.chromium.org/1290223005
2015-08-18 13:08:36 -07:00
joshualitt
892b0c3db9 Add skeleton json support to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1298213002
2015-08-18 12:13:34 -07:00
mtklein
d55d13af4f Update BUILD.public a bit.
- SSE2 files are unfortunately now mixed-case, _SSE2 or _sse2.
 - Adds lists for SSSE3 and SSE4 files.
 - Remove SkDocument_PDF_None.cpp
 - Remove a few more references to animator.
 - Exclude private headers from HDRS.
 - Formatting and notes.

BUG=skia:

Review URL: https://codereview.chromium.org/1298003007
2015-08-18 08:51:49 -07:00
halcanary
bf3dde2716 Clean up BUILD_simulator.py
Review URL: https://codereview.chromium.org/1298813002
2015-08-18 08:35:45 -07:00
benjaminwagner
f82c13fced Reland of Fix a few bugs in the google3 sync scripts. (patchset #1 id:1 of https://codereview.chromium.org/1295213002/ )
Reason for revert:
Retry.

Original issue's description:
> Revert of Fix a few bugs in the google3 sync scripts. (patchset #1 id:1 of https://codereview.chromium.org/1291343006/ )
>
> Reason for revert:
> MacMini buildbots were unable to apply the patch.
> fatal: Could not parse object '18af0a0080cc2b2b3464292d35a0886cdade551f'.
> http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release/builds/1580
> http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Debug/builds/1474
> http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Release/builds/1566
> http://build.chromium.org/p/client.skia/builders/Perf-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Release/builds/1480
> http://build.chromium.org/p/client.skia/builders/Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release/builds/1456
> http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/1364
>
>
> Original issue's description:
> > Fix a few bugs in the google3 sync scripts.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/18af0a0080cc2b2b3464292d35a0886cdade551f
>
> TBR=mtklein@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e349d6b92574c1b0acdb4ba1ed8ff905ea830131

TBR=mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1284093003
2015-08-18 06:25:14 -07:00
robertphillips
ea4529d09a Move normal map creation methods to sk_tools
Split off of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call)

Review URL: https://codereview.chromium.org/1298763002
2015-08-17 15:04:47 -07:00
mtklein
df5b7603d2 Add a simple script to simulate BUILD file glob() expansion.
This lets us test changes to BUILD.public.

This is not yet automated in any way.  My hope is to trigger it quietly via the presubmit for any CL that adds or removes a file, or changes BUILD.public.

BUG=skia:

Review URL: https://codereview.chromium.org/1290833003
2015-08-17 15:02:57 -07:00
benjaminwagner
e349d6b925 Revert of Fix a few bugs in the google3 sync scripts. (patchset #1 id:1 of https://codereview.chromium.org/1291343006/ )
Reason for revert:
MacMini buildbots were unable to apply the patch.
fatal: Could not parse object '18af0a0080cc2b2b3464292d35a0886cdade551f'.
http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release/builds/1580
http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Debug/builds/1474
http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Release/builds/1566
http://build.chromium.org/p/client.skia/builders/Perf-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Release/builds/1480
http://build.chromium.org/p/client.skia/builders/Perf-Mac10.9-Clang-MacMini6.2-CPU-AVX-x86_64-Release/builds/1456
http://build.chromium.org/p/client.skia/builders/Test-Mac10.9-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug/builds/1364

Original issue's description:
> Fix a few bugs in the google3 sync scripts.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/18af0a0080cc2b2b3464292d35a0886cdade551f

TBR=mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1295213002
2015-08-17 14:44:01 -07:00
benjaminwagner
18af0a0080 Fix a few bugs in the google3 sync scripts.
BUG=skia:

Review URL: https://codereview.chromium.org/1291343006
2015-08-17 14:23:03 -07:00
benjaminwagner
787ca87b33 Add files added to Skia HEAD in google3 to the Git repo.
LICENSE is modified in google3 to mention some code copied from other projects.

BUG=skia:

Review URL: https://codereview.chromium.org/1291603003
2015-08-17 12:58:10 -07:00
emmaleer
8f4ba76742 SkScaledCodec class
This class does scaling by using a scanlineDecoder.
getScanlines and skipScanlines are used for y sampling,
the swizzler is used for x sampling

this class is currently only working for png and jpeg images
I will update other Codec types to work soon

For SkJpegCodec to implement width wise swizzling it now
uses a swizzler. I ran performance tests on this change.
Here are the performance test results:
https://docs.google.com/a/google.com/spreadsheets/d/1D7-Q_GXD_dI68LZO005NNvb8Wq2Ee0wEBEPG72671yw/edit?usp=sharing

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/0944100ac89f797714eeae0cf2875e2335ff52ee

Committed: https://skia.googlesource.com/skia/+/d518ea7927f9f4e0ed5b4134d1b4f48243855a47

Committed: https://skia.googlesource.com/skia/+/b157917507d4f7d2651f0aeb566d31603cc02240

Review URL: https://codereview.chromium.org/1260673002
2015-08-14 07:44:46 -07:00
Mike Klein
dd958e72f9 Add tools/ubsan.supp.
Should unbreak TSAN bots.

BUG=skia:

Review URL: https://codereview.chromium.org/1272213003 .
2015-08-05 10:12:33 -04:00
borenet
dbf9f014a8 buildbot_spec: Add configuration, do_*_steps, upload_*_results, more env
NOTRY=true
BUG=skia:4132

Review URL: https://codereview.chromium.org/1258193004
2015-07-30 07:09:20 -07:00
borenet
2481b8b719 buildbot_spec.py: Include dm_flags and nanobench_flags
Eventually I'll want to merge them into this file, but not just yet.

NOTRY=true
BUG=skia:4132

Review URL: https://codereview.chromium.org/1257933003
2015-07-29 11:43:07 -07:00
borenet
7bccca1a82 buildbot_spec.py: Add Android/ChromeOS device info, add builder_cfg dict
NOTRY=true
BUG=skia:4132

Review URL: https://codereview.chromium.org/1269543002
2015-07-29 11:15:42 -07:00
borenet
b76c1f706c Add builder_spec.py
Works like dm_flags.py and nanobench_flags.py; adds things like
GYP_DEFINES, additional environment variables, and build targets.

Required copying builder_name_schema from the tools/build repo.

BUG=skia:4132

Review URL: https://codereview.chromium.org/1265623002
2015-07-29 07:38:49 -07:00
mtklein
e0effd6080 Allow Srcs to veto Sinks based on their broad type.
This breaks Sinks down into three auto-detected types:
  - GPU:    anything that requests to be run in the GPU enclave
  - Vector: anything that writes to the stream instead of the bitmap
  - Raster: everything else

Some examples: gpu -> GPU, msaa16 -> GPU, 8888 -> raster, pdf -> vector,
               svg -> vector, pipe-8888 -> raster, tiles_rt-gpu -> GPU

This lets image decoding sinks veto non-raster backends explicitly,
and can let particular GMs veto GPU or non-GPU sinks as they like.

BUG=skia:

Review URL: https://codereview.chromium.org/1239953004
2015-07-29 06:37:28 -07:00
caryclark
1818acb6a4 rename portable_typeface_always to portable_typeface
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1257773002
2015-07-24 12:09:25 -07:00
caryclark
37213558e6 make fontscalar gammatext lcdtext typeface verttext2 gm portable
Pass generic font names to tool util function to generate
platform specific fonts and gm test output by unique name.

R=bungeman@google.com

Review URL: https://codereview.chromium.org/1256903002
2015-07-24 11:08:01 -07:00
caryclark
3b0f98ee17 fix typeface leak
TBR=bungeman@google.com

Review URL: https://codereview.chromium.org/1239303003
2015-07-23 11:52:01 -07:00
caryclark
e663341605 fix typo
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1245993003
2015-07-23 09:11:58 -07:00
borenet
4cb300340e Coverage: add a trace for not_covered_lines per file
Example output:

{
    "build_number": "2",
    "gitHash": "71f5db892ee7ed9fbb573da28ccb906e18ba24a4",
    "key": {
        "arch": "x86_64",
        "compiler": "Clang",
        "configuration": "Coverage",
        "cpu_or_gpu": "CPU",
        "cpu_or_gpu_value": "AVX2",
        "model": "GCE",
        "os": "Ubuntu"
    },
    "results": {
        "dm_DMGpuSupport_h": {
            "coverage": {
                "lines_not_covered": 6,
                "options": {
                    "dir": "dm",
                    "fullname": "dm/DMGpuSupport.h",
                    "source_type": "coverage"
                },
                "percent": 33.33333333333333
            }
        },
        "dm_DMJsonWriter_cpp": {
......

BUG=skia:2430

Review URL: https://codereview.chromium.org/1246043002
2015-07-22 08:19:25 -07:00
caryclark
c3dcb67f07 make color emoji gm portable
R=bungeman@google.com

Review URL: https://codereview.chromium.org/1248703004
2015-07-21 12:27:36 -07:00
borenet
9b8d3580c2 Skip imagefiltersclipped GM on Galaxy S4
BUG=skia:4079

Review URL: https://codereview.chromium.org/1250473005
2015-07-21 05:57:22 -07:00
caryclark
6531c3619f Generate platform specific fontmgr gm.
The gm output on different font platforms is so different
that comparing images in Gold has little value. Separate the
images by appending platform information to the gm name to
group somewhat similar images together.

Note that this does not attempt to make sure that all images
generated by Gold are nearly pixel identical; it only reduces
the number of nonsensical comparisons.

R=bungeman@google.com

Review URL: https://codereview.chromium.org/1245643002
2015-07-20 13:38:56 -07:00
borenet
a6ae14e223 Split llvm_coverage_run into two scripts
... One for running to generate the coverage data, another to parse the data into various formats.

NOTRY=true
BUG=skia:2430

Review URL: https://codereview.chromium.org/1239963002
2015-07-20 09:43:36 -07:00
joshualitt
a2a6fe8699 Some cleanups of VisualBench
BUG=skia:

Review URL: https://codereview.chromium.org/1240633005
2015-07-17 09:09:23 -07:00
borenet
5150a77ee7 llvm_coverage_build: Use CC and CXX variables by default
NOTRY=true
BUG=skia:2430

Review URL: https://codereview.chromium.org/1242573003
2015-07-17 07:31:07 -07:00
joshualitt
47d280d3b0 Fix visual bench memory leak
BUG=skia:

Review URL: https://codereview.chromium.org/1239103002
2015-07-16 14:23:22 -07:00
joshualitt
31b21f6719 Small fix for visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1237563005
2015-07-16 13:40:51 -07:00
scroggo
c1121efbc6 Stop running image tests on msaa.
Blacklist all image tests on msaa. We do not run them anyway (since
they will not do anything interestingly different from drawing to the
raster backend) - we early exit from Src::draw(), but we still need to
create a render target that matches the size of the image (when not
blacklisted).

Remove the more specific blacklist of a particular image, which is
covered by this one.

BUG=skia:4045

Review URL: https://codereview.chromium.org/1234313006
2015-07-16 12:36:10 -07:00
borenet
8a955af001 Coverage script: fix missing data
BUG=skia:2430

Review URL: https://codereview.chromium.org/1242023002
2015-07-16 07:01:44 -07:00
joshualitt
82874f8b28 Match works correctly on visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1234123004
2015-07-15 08:38:02 -07:00
borenet
f0c84407ae llvm-coverage script: respect SKIA_OUT
NOTRY=true
BUG=skia:2430

Review URL: https://codereview.chromium.org/1239803002
2015-07-15 07:43:06 -07:00
joshualitt
d4fa90feea Fix VisualBench to hold onto a surface
BUG=skia:

Review URL: https://codereview.chromium.org/1236723003
2015-07-15 06:18:57 -07:00
msarett
02b5aa3cac Fixed valgrind issues with libjpeg-turbo
The fixes are in the updated libjpeg-turbo repository
pulled in by DEPS.  The fixes are detailed in the linked
skia bug.  To summarize briefly, we now use calloc()
instead of malloc().

BUG=skia:4030

Review URL: https://codereview.chromium.org/1237213004
2015-07-14 14:39:59 -07:00
mtklein
f059900f75 Fix up -Winconsistent-missing-override
(and a couple presubmit fixes)

This allows us to turn back on -Werror for LLVM coverage builds,
and more generally supports building with Clang 3.7.

No public API changes.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1232463006
2015-07-13 06:18:39 -07:00
reed
1c84634454 add runtime option to provide data->imagegenerator factory
BUG=skia:

Review URL: https://codereview.chromium.org/1229933003
2015-07-09 11:47:36 -07:00
msarett
ef46468063 Temporarily suppress valgrind errors in tip of tree libjpeg-turbo
BUG=skia:4030

Review URL: https://codereview.chromium.org/1231613004
2015-07-09 08:23:50 -07:00
mtklein
60c0475575 Add tools/flatten to flatten nested pictures in .skps.
Tested by running on skps/sp_desk_nytimes.skp.
The output .skp had no nested draw picture calls, and the files were both 9.3M.

BUG=skia:

Review URL: https://codereview.chromium.org/1221303020
2015-07-08 10:06:01 -07:00
caryclark
fc95be17c3 fix pathops battle test
The intermediate subtraction threw away bits causing
the subsequent cross product to fail. Defer the
bit truncation until after the vector is computed.

TBR=reed@google.com

Review URL: https://codereview.chromium.org/1226933003
2015-07-07 18:09:32 -07:00
mtklein
1b24933e52 Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc

Review URL: https://codereview.chromium.org/1215393002
2015-07-07 12:21:22 -07:00
caryclark
27c8eb8ffd When three or more edges are coincident, the logic needs
to compute the overlapping ranges and combine the winding
into a single destination.

This computes coincidence more rigorously, fixing the
edge cases exposed by this bug.

Also, add the ability to debug and dump pathop structures
from the coincident context.

TBR=reed@google.com
BUG=skia:3651

Review URL: https://codereview.chromium.org/1182493015
2015-07-06 11:38:33 -07:00
borenet
334e588d9e Add nanobench-style JSON output to llvm_coverage_run
Runs the build and run scripts for coverage, then dumps the results into
a file in nanobench-compatible format.

BUG=skia:2430

Review URL: https://codereview.chromium.org/1227523004
2015-07-06 11:18:45 -07:00
borenet
11271fe3a4 Add scripts for running LLVM coverage
BUG=skia:2430

Review URL: https://codereview.chromium.org/1213063009
2015-07-06 07:43:58 -07:00
jvanverth
02802f64ea Revert of Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. (patchset #4 id:60001 of https://codereview.chromium.org/1215393002/)
Reason for revert:
Breaking the roll.

E.g. on android_chromium_gn_compile_dbg:

FAILED: /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -MMD -MF obj/skia/ext/libskia.SkMemory_new_handler.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=1 -DENABLE_NOTIFICATIONS -DENABLE_BROWSER_CDMS -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DDONT_EMBED_BUILD_METADATA -DUSE_OPENSSL=1 -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_CONFIGURATION_POLICY -DENABLE_SUPERVISED_USERS=1 -DENABLE_AUTOFILL_DIALOG=1 -DUSE_PROPRIETARY_CODECS -DV8_USE_EXTERNAL_STARTUP_DATA -DVIDEO_HOLE=1 -DMOBILE_SAFE_BROWSING -DSAFE_BROWSING_SERVICE -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DSKIA_IMPLEMENTATION=1 -DSK_ARM_HAS_OPTIONAL_NEON -DSK_GAMMA_APPLY_TO_A8 -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSK_DEFAULT_FONT_CACHE_LIMIT=1048576 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DXML_STATIC -I../.. -Igen -I../../third_party/skia/include/private -I../../third_party/skia/src/core -I../../third_party/skia/src/image -I../../third_party/skia/src/opts -I../../third_party/skia/src/pdf -I../../third_party/skia/src/ports -I../../third_party/skia/src/sfnt -I../../third_party/skia/src/utils -I../../third_party/skia/src/lazy -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/zlib -I../../third_party/expat/files/lib -I../../third_party/freetype-android/include -I../../third_party/freetype-android/src/include -I../../third_party/android_tools/ndk/sources/android/cpufeatures -fno-strict-aliasing -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mthumb -mthumb-interwork -fno-tree-sra -fno-caller-saves -funwind-tables -fPIC -pipe -ffunction-sections -funwind-tables -fno-short-enums -finline-limit=64 -mfpu=vfpv3-d16 -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fvisibility=hidden --sysroot=/b/build/slave/android_chromium_gn/build/src/third_party/android_tools/ndk/platforms/android-16/arch-arm -Os -fdata-sections -ffunction-sections -fomit-frame-pointer -g1 -Wno-format -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-extra -Wno-ignored-qualifiers -Wno-type-limits -Wno-unused-local-typedefs -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-narrowing -Wno-literal-suffix -Wno-error=c++0x-compat -Wno-non-virtual-dtor -Wno-sign-promo -c ../../skia/ext/SkMemory_new_handler.cpp -o obj/skia/ext/libskia.SkMemory_new_handler.o
../../skia/ext/SkMemory_new_handler.cpp:12:52: fatal error: third_party/skia/include/core/SkThread.h: No such file or directory
 #include "third_party/skia/include/core/SkThread.h"

Original issue's description:
> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
>
> SkThread.h doesn't do anything anymore execept include those two,
> and thankfully, it doesn't seem to be mentioned outside Skia.
>
> No public API changes.
> TBR=reed@google.com
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1214603003
2015-07-02 06:42:49 -07:00
mtklein
c50acf2321 Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1215393002
2015-07-01 14:00:57 -07:00
herb
19fb80ed14 Revert of Skip SkSharedMutexMultiThreaded test on TSAN bot while investigating. (patchset #1 id:1 of https://codereview.chromium.org/1213033003/)
Reason for revert:
Add tsan annotations to repair tests.

Original issue's description:
> Skip SkSharedMutexMultiThreaded test on TSAN bot while investigating.
>
> The ~ means "don't run this".  This keeps all the other bots running the code, skipping it only on the whiny TSAN bot.
>
> BUG=skia:3997
>
> Committed: https://skia.googlesource.com/skia/+/37cc0b2e31e4a078b12790253d7032d36271440c

TBR=mtklein@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3997

Review URL: https://codereview.chromium.org/1218153004
2015-06-30 14:23:29 -07:00
mtklein
37cc0b2e31 Skip SkSharedMutexMultiThreaded test on TSAN bot while investigating.
The ~ means "don't run this".  This keeps all the other bots running the code, skipping it only on the whiny TSAN bot.

BUG=skia:3997

Review URL: https://codereview.chromium.org/1213033003
2015-06-30 10:51:50 -07:00
borenet
3691e669ae Add wrapper script for computing n-grams from SKPs on Cluster Telemetry
Add --n argument

BUG=skia:3840

Review URL: https://codereview.chromium.org/1216073007
2015-06-30 10:24:03 -07:00
bsalomon
73bb435a58 Remove default for --images in common flags
Review URL: https://codereview.chromium.org/1214363002
2015-06-30 09:38:35 -07:00
rmistry
16857e46bb Use AddStory instead of deprecated AddUserStory
BUG=skia:3967
TBR=nednguyen
NOTRY=true

Review URL: https://codereview.chromium.org/1212843008
2015-06-30 09:20:17 -07:00
rmistry
8f74c160c3 Revert of Use page_set_module.PageSet instead of story.StorySet (patchset #1 id:1 of https://codereview.chromium.org/1221553003/)
Reason for revert:
This should no longer be required due to Ned's fix in https://codereview.chromium.org/1217823005/

Original issue's description:
> Use page_set_module.PageSet instead of story.StorySet
>
> BUG=skia:3967
> NOTRY=true
> TBR=nednguyen
>
> Committed: https://skia.googlesource.com/skia/+/7b971f0152299ae9a924252a9bfd220318497bdd

TBR=nednguyen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3967

Review URL: https://codereview.chromium.org/1214903008
2015-06-30 08:22:25 -07:00
joshualitt
962cc98eb4 Add benchmarkstream to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1215033002
2015-06-30 07:43:14 -07:00
joshualitt
91b6f32e07 Move visualbench to its own folder
BUG=skia:

Review URL: https://codereview.chromium.org/1216973002
2015-06-30 06:50:10 -07:00
rmistry
7b971f0152 Use page_set_module.PageSet instead of story.StorySet
BUG=skia:3967
NOTRY=true
TBR=nednguyen

Review URL: https://codereview.chromium.org/1221553003
2015-06-30 05:03:05 -07:00
rmistry
dd3b12e270 Migrate PageSets to StorySets in buildbot page sets
BUG=skia:3967
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1203433002
2015-06-30 03:54:07 -07:00
borenet
8cd8f9429a Add script for triggering Cluster Telemetry jobs using local scripts
BUG=skia:3979

Review URL: https://codereview.chromium.org/1214843002
2015-06-29 12:54:25 -07:00
mtklein
2766c00fc0 remove SkInstCnt
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.

I'm not sure why our own builds seem unaffected.

Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0

BUG=skia:

Review URL: https://codereview.chromium.org/1217573002
2015-06-26 11:45:03 -07:00
cdalton
e1b8958877 Add samplingTime mode to nanobench
Adds a nanobench mode that takes samples for a fixed amount of time,
rather than taking a fixed amount of samples.

BUG=skia:

Review URL: https://codereview.chromium.org/1204153002
2015-06-25 19:17:08 -07:00
borenet
93558dc74b Add lua scripts for generating n-grams from SKPs
BUG=skia:3840

Review URL: https://codereview.chromium.org/1204283002
2015-06-25 07:47:41 -07:00
bsalomon
74f681dce2 Make SkGpuDevice know its alpha type
Make SkImage_Gpu snapshots opaque if surface is opaque.

BUG=skia:3965

Review URL: https://codereview.chromium.org/1205643002
2015-06-23 14:38:48 -07:00
joshualitt
6205af0e70 add autotuning to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1201003002
2015-06-23 07:10:59 -07:00
robertphillips
702edbd4bc Propagate SkSurfaceProps to more call sites
Start moving to a world where everyone provides surface properties.

Most notably this exposes a portion of SkSurfaceProps to the C API.

BUG=skia:3934

Review URL: https://codereview.chromium.org/1195003003
2015-06-23 06:26:08 -07:00
reed
871872f3f2 change old picture serialization to really handle images
BUG=skia:3965

Review URL: https://codereview.chromium.org/1199473002
2015-06-22 12:48:26 -07:00
joshualitt
b8e0b4a328 Revert of Disable failing GPU tests on Nexus 6. (patchset #1 id:1 of https://codereview.chromium.org/1185753002/)
Reason for revert:
this should hopefully be fixed now.

Original issue's description:
> Disable failing GPU tests on Nexus 6.
>
> BUG=skia:3942
>
> Committed: https://skia.googlesource.com/skia/+/8ed08e54f4868d3ef88225bf873ce678e7716bd9

TBR=bsalomon@google.com,djsollen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3942

Review URL: https://codereview.chromium.org/1196653002
2015-06-19 07:28:15 -07:00
bsalomon
241b56db1d Allows windowed apps to be built on the Mac just by writing a SkOSWindow subclass without needing nib/plist files.
Makes visualbench work on the Mac.

Review URL: https://codereview.chromium.org/1184143011
2015-06-18 11:49:42 -07:00
rmistry
4c58e085b2 Remove separate SP enabled SKP run since it is now on by default
Yesterday's RecreateSKPs_Canary run looks good:
http://build.chromium.org/p/client.skia.fyi/builders/Housekeeper-Nightly-RecreateSKPs_Canary/builds/143

The generated SKPs look very reasonably sized:
gs://chromium-skia-gm/playback_386/skps

BUG=skia:
NOTRY=true

Review URL: https://codereview.chromium.org/1191113002
2015-06-18 07:52:14 -07:00
mtklein
00b621cfc0 Add sk_parallel_for()
This should be a drop-in replacement for most for-loops to make them run in parallel:
   for (int i = 0; i < N; i++) { code... }
   ~~~>
   sk_parallel_for(N, [&](int i) { code... });

This is just syntax sugar over SkTaskGroup to make this use case really easy to write.
There's no more overhead that we weren't already forced to add using an interface like batch(),
and no extra heap allocations.

I've replaced 3 uses of SkTaskGroup with sk_parallel_for:
  1) My unit tests for SkOnce.
  2) Cary's path fuzzer.
  3) SkMultiPictureDraw.
Performance should be the same.  Please compare left and right for readability. :)

BUG=skia:

No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1184373003
2015-06-17 15:26:15 -07:00
bsalomon
45171e20b3 Load visualbench pictures one at a time.
Add flag to run in windowed mode.

NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1183193003
2015-06-16 13:52:19 -07:00
bsalomon
85ab55114f Move closeWindow()/setFullscreen()/setVSynv() from SkWindow to SkOSWindow
Rename setFullscreen to makeFullscreen, drop the param, return a bool.

Review URL: https://codereview.chromium.org/1181723006
2015-06-16 12:47:25 -07:00
mtklein
bf9e600069 nanobench: split CPU and GPU .SKP tile sizes.
Let's make CPU-bound .SKP benching mimic Chrome's tiles.
Unfortunately, the CPU code also performs a lot better with those big wide tiles...

BUG=skia:

Review URL: https://codereview.chromium.org/1189863002
2015-06-16 10:41:27 -07:00
bsalomon
1e7951ffdb There are still things to sort out but this seems to run correctly.
Review URL: https://codereview.chromium.org/1187643002
2015-06-16 07:04:43 -07:00
fmalita
5042020d01 Convert PictureRenderer to SkPaintFilterCanvas
This removes the last client of SkDrawFilter.

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

Review URL: https://codereview.chromium.org/1181633005
2015-06-15 11:48:16 -07:00
caryclark
65cdba6ba7 Revert of Revert of make gm background colors 565 compatible (patchset #1 id:1 of https://codereview.chromium.org/1184123002/)
Reason for revert:
underlying problem with portable refs deleted more than once fixed

Original issue's description:
> Revert of make gm background colors 565 compatible (patchset #2 id:20001 of https://codereview.chromium.org/1176243006/)
>
> Reason for revert:
> breaks many bots with refcnt error
>
> Original issue's description:
> > make gm background colors 565 compatible
> >
> > Change a batch of GM tests to convert their background color
> > so that it is representable in 8888 and 565.
> >
> > Enable portable text in those same tests to minimize platform
> > differences.
> >
> > In a couple of bitmap tests, use portable typefaces instead of
> > choosing 'Times' which may or may not be available on the platform.
> >
> > R=borenet@google.com
> >
> > Committed: https://skia.googlesource.com/skia/+/be7f768a357aefb39c42d24b81b24d647bb6ab70
>
> TBR=borenet@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://skia.googlesource.com/skia/+/0bdb08b1ba8fbd18c4838f86a23f1ef4b3a3bfdf

TBR=borenet@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1182403003
2015-06-15 06:51:08 -07:00
caryclark
f53ce808e9 call portable font cleanup only once at app end
R=mtklein@google.com

Review URL: https://codereview.chromium.org/1180593005
2015-06-15 06:48:30 -07:00
caryclark
0bdb08b1ba Revert of make gm background colors 565 compatible (patchset #2 id:20001 of https://codereview.chromium.org/1176243006/)
Reason for revert:
breaks many bots with refcnt error

Original issue's description:
> make gm background colors 565 compatible
>
> Change a batch of GM tests to convert their background color
> so that it is representable in 8888 and 565.
>
> Enable portable text in those same tests to minimize platform
> differences.
>
> In a couple of bitmap tests, use portable typefaces instead of
> choosing 'Times' which may or may not be available on the platform.
>
> R=borenet@google.com
>
> Committed: https://skia.googlesource.com/skia/+/be7f768a357aefb39c42d24b81b24d647bb6ab70

TBR=borenet@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1184123002
2015-06-15 05:28:00 -07:00
caryclark
be7f768a35 make gm background colors 565 compatible
Change a batch of GM tests to convert their background color
so that it is representable in 8888 and 565.

Enable portable text in those same tests to minimize platform
differences.

In a couple of bitmap tests, use portable typefaces instead of
choosing 'Times' which may or may not be available on the platform.

R=borenet@google.com

Review URL: https://codereview.chromium.org/1176243006
2015-06-15 05:09:59 -07:00
joshualitt
030dc847dc Visual bench on native android
BUG=skia:

Review URL: https://codereview.chromium.org/1164403002
2015-06-12 12:51:44 -07:00
caryclark
d85093c28f make emptypath portable; add 565 color utility
R=djsollen@google.com

Review URL: https://codereview.chromium.org/1182833004
2015-06-12 11:49:04 -07:00
mtklein
1866b571f1 Stop running SKPs in DM on the bots.
We're not triaging them, and we get the same coverage (both Release and Debug)
from nanobench.

BUG=skia:

Review URL: https://codereview.chromium.org/1178943006
2015-06-12 11:31:51 -07:00
djsollen
8ed08e54f4 Disable failing GPU tests on Nexus 6.
BUG=skia:3942

Review URL: https://codereview.chromium.org/1185753002
2015-06-12 10:29:27 -07:00
caryclark
6d0d6cbb3e PDF expects fonts to map glyph ID 0 to the missing character.
Add a mapping of glyph ID 0 to the toy font to allow for this.

TBR=bungeman@google.com

Review URL: https://codereview.chromium.org/1175243004
2015-06-11 09:40:44 -07:00
fmalita
523beb7fd9 Label some unused static vars as SK_UNUSED
Makes my gcc 5.1.1 much happier.

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

[ mtklein mischief below here ]
No public API changes.
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1170863006
2015-06-10 10:46:50 -07:00
caryclark
83ca628cb6 Today's gm include many differences caused by platform font implementations.
This experiment replaces the label used in the aaxfermodes gm with
aliased text generated from paths common to all platforms.

Since there is no way today to generate all dm output from trybots,
this will be checked in to confirm that this strategy provides simpler
output across devices.

This does not introduce a new public interface; instead, dm uses
a extern backdoor to install the SkTypeface::CreateFromName
handler.

Review URL: https://codereview.chromium.org/1163283002
2015-06-10 09:31:09 -07:00
djsollen
e21585eabf Update flags passed to Android GPU bots to exclude running skps and image sources.
Review URL: https://codereview.chromium.org/1176923003
2015-06-10 09:05:14 -07:00
bsalomon
0bb8c1f2b6 Stop running tiles_rt-gpu on the bots
BUG=skia:

Review URL: https://codereview.chromium.org/1152003009
2015-06-04 15:10:45 -07:00
reed
933d9863dd suppress chatty warning about Funkster.ttf not be supported (on mac at least)
BUG=skia:

Review URL: https://codereview.chromium.org/1146273003
2015-06-01 12:51:24 -07:00
joshualitt
7fe8ee4cb7 Expand VisualBench to a real benching tool
BUG=skia:

Review URL: https://codereview.chromium.org/1159213002
2015-06-01 10:03:55 -07:00
joshualitt
da7b843fbd CL to add setFullscreen and setVsync to SkWindow
BUG=skia:

Review URL: https://codereview.chromium.org/1151333004
2015-05-27 09:19:03 -07:00
stephana
340cd84c9c Disabling ~path_hairline in iOS nanobench
Temporary measure to make nanobench succeed.

TBR=borenet
BUG=skia:

Review URL: https://codereview.chromium.org/1144173004
2015-05-26 06:19:11 -07:00
bsalomon
682c269a15 Store context options on caps.
Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc

Review URL: https://codereview.chromium.org/1158433006
2015-05-22 14:01:46 -07:00
bsalomon
08bf86d1b7 Revert of Store context options on caps. (patchset #3 id:40001 of https://codereview.chromium.org/1158433006/)
Reason for revert:
breaking chromeos build (???)

Original issue's description:
> Store context options on caps.
>
> Committed: https://skia.googlesource.com/skia/+/f28cff71db2cbb1ff18a8fbf1e80ca761d1f69bc

TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1151603005
2015-05-22 12:41:05 -07:00
bsalomon
f28cff71db Store context options on caps.
Review URL: https://codereview.chromium.org/1158433006
2015-05-22 12:25:41 -07:00
stephana
18b72db6aa Temporarily disable nanobench to see what else is in the way of the bots going green.
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1147333002
2015-05-21 13:59:36 -07:00
kkinnunen
503bd77b89 Add a newline to the font load debug message
Add a newline to the font load debug message. Helps reading nanobench
results. Otherwise the message "Resource /fonts/Funkster.ttf not a valid
font." causes first result be hard to read or missing.

Review URL: https://codereview.chromium.org/1142183002
2015-05-19 13:50:50 -07:00
caryclark
612f70d5fa handle large conic strokes better
A stroked conic computes the outset quad's control point by
computing the intersection of the quad's endpoints. If the
the denominator used to compute the scale factor for the
control point is small, check to see if the numerator is also
small so that the division stays bounded.

Also clean up error returns and internal function calls to
simplify the code.

Additionally, remove comic max curvature (unimplemented) and call
extrema functions instead to handle cases where the conic is degenerate
or is a line.

R=reed@google.com, fmalita@chromium.org
BUG=skia:3843

Review URL: https://codereview.chromium.org/1144883003
2015-05-19 11:05:37 -07:00
caryclark
4e1a4c9399 fix builder winding again
Record the nesting level when finding the edge winding contribution
so that inner edges can be reversed as needed.

R=fmalita@chromium.org
BUG=skia:3838

Review URL: https://codereview.chromium.org/1140383002
2015-05-18 12:56:58 -07:00
nednguyen
6bad28de52 Replace self.NavigateToPage with self.Navigate(self.url) for skia page sets
BUG=487800

Review URL: https://codereview.chromium.org/1131113005
2015-05-16 15:47:02 -07:00
caryclark
182b499cd7 look for deleted pts when detecting line/curve coincident edges
TBR=reed@google.com
BUG=skia:3651

Review URL: https://codereview.chromium.org/1129863007
2015-05-14 05:45:54 -07:00
caryclark
bca19f7747 deal more consistently with unsortable edges
Improve line/curve coincident detection and resolution. This fixed the remaining simple failures.

When an edge is unsortable, use the ray intersection to determine the angles' winding.

Deal with degenerate segments.

TBR=reed@google.com
BUG=skia:3588,skia:3762

Review URL: https://codereview.chromium.org/1140813002
2015-05-13 08:23:48 -07:00
reed
80ea19ca4b Revert of Revert of stop calling SkScalarDiv (patchset #1 id:1 of https://codereview.chromium.org/1138263002/)
Reason for revert:
android patched, blink has rolled

Original issue's description:
> Revert of stop calling SkScalarDiv (patchset #4 id:60001 of https://codereview.chromium.org/1135053002/)
>
> Reason for revert:
> need to wait for Blink roll (and patch android)
>
> Original issue's description:
> > stop calling SkScalarDiv
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/67d71c898249a7af3523b16c6a69895a63bfae0a
>
> TBR=
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/2629697933b5cc975e45d2a45c48f803fc6cbcec

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1135693003
2015-05-12 10:37:34 -07:00
reed
2629697933 Revert of stop calling SkScalarDiv (patchset #4 id:60001 of https://codereview.chromium.org/1135053002/)
Reason for revert:
need to wait for Blink roll (and patch android)

Original issue's description:
> stop calling SkScalarDiv
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/67d71c898249a7af3523b16c6a69895a63bfae0a

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1138263002
2015-05-12 10:28:06 -07:00
reed
67d71c8982 stop calling SkScalarDiv
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1135053002
2015-05-12 09:47:22 -07:00
caryclark
7da2e55ccb quickie tool to exercise chrome filter fuzz files
This is a quick Skia transcription of the Chromium tool at
src/skia/tools/filter_fuzz_stub.cc
to read and decode filters captured as .fil files.

R=joshualitt@google.com,mtklein@google.com,reed@google.com,robertphillips@google.com
BUG=487213

Review URL: https://codereview.chromium.org/1126423005
2015-05-12 08:36:48 -07:00
caryclark
624637cc8e Path ops formerly found the topmost unprocessed edge and determined its angle sort order to initialize the winding. This never worked correctly with cubics and was flaky with paths consisting mostly of vertical edges.
This replacement shoots axis-aligned rays through all intersecting edges to find the outermost one either horizontally or vertically. The resulting code is smaller and twice as fast.

To support this, most of the horizontal / vertical intersection code was rewritten and standardized, and old code supporting the top-directed winding was deleted.

Contours were pointed to by an SkTDArray. Instead, put them in a linked list, and designate the list head with its own class to ensure that methods that take lists of contours start at the top. This change removed a large percentage of memory allocations used by path ops.

TBR=reed@google.com
BUG=skia:3588

Review URL: https://codereview.chromium.org/1111333002
2015-05-11 07:21:28 -07:00
mtklein
32618cb857 Test sp-8888 mode on a few fast bots.
(It's not particularly slow, but this mode doesn't really need global coverage.)

BUG=skia:

Review URL: https://codereview.chromium.org/1129903003
2015-05-07 10:26:44 -07:00
borenet
d9b6be197f Remove upright-matrix- configs from Android bots
The Android bots are flaking like crazy. I'm not sure if these configs
are hurting the situation, but let's see if this helps.

TBR=mtklein,halcanary
BUG=skia:

Review URL: https://codereview.chromium.org/1131603002
2015-05-06 08:33:51 -07:00
borenet
e3aeaec7dd Add matrix configs to DM
BUG=skia:832

Review URL: https://codereview.chromium.org/1125793002
2015-05-05 13:11:27 -07:00
mtklein
e4b19c4593 Add presubmit to run {dm,nanobench}_flags.py test when changed.
BUG=skia:

Review URL: https://codereview.chromium.org/1129443005
2015-05-05 10:28:44 -07:00
borenet
f4e0857fe9 Blacklist tiles_rt-gpu gm imagefilterscropped on GalaxyS4
BUG=skia:3802

Review URL: https://codereview.chromium.org/1115303004
2015-05-05 08:28:23 -07:00
stephana
deee2980f4 cleanup
BUG=skia:

Review URL: https://codereview.chromium.org/1085583006
2015-05-05 07:55:06 -07:00
mtklein
19e259b1ee ignore_result()
BUG=skia:3801

Review URL: https://codereview.chromium.org/1127603003
2015-05-04 10:54:48 -07:00
bsalomon
d309e7aa0e This replaces the texture creation/caching functions on GrContext with a GrTextureProvider interface. The goal is to pass this narrowly focused object in places that currently take a GrContext but don't need and shouldn't use its other methods. It also has an extended private interface for interacting with non-texture resource types.
Review URL: https://codereview.chromium.org/1107973004
2015-04-30 14:18:54 -07:00
bungeman
3ffa126066 Move resource fonts to common location.
Move resource fonts to resources/fonts, add a destortable font for
testing, and clean up how the tests create fonts from resources.

R=joshualitt@google.com

Review URL: https://codereview.chromium.org/1120823002
2015-04-30 17:12:58 -04:00
mtklein
f1d6df772e Looks like rssPages * pageSize is overflowing on 32-bit Linux...
... resulting in apparently negative memory usage:

  (-2040/2058MB  5867) 1.81s    serialize-8888 skp  top25desk_google_com_calendar_.skp

Turns out long is 32-bit there, long long is 64-bit.

NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/1117923002
2015-04-30 07:35:28 -07:00
mtklein
d75c466ef5 DM+nanobench: print both current and max RSS.
out/Debug/dm:
    ( 360/380 MB  2112) 396ms   gpu gm  xfermodes

out/Release/nanobench:
    32/33  MB 1659    2.46µs  2.55µs  2.54µs  2.67µs  2%  ▄▄▄▅▅▃▂▁▂█  gpu gradient_conicalZero_clamp_hicolor

out/Debug/nanobench:
    42/42  MB   desk_css3gradients.skp_1    8888

BUG=skia:

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1115203002
2015-04-30 07:11:22 -07:00
rmistry
23c5f51371 Handpick 16 Skia page sets to create SP enabled SKPs from
Context is in: https://code.google.com/p/skia/issues/detail?id=3763#c18

NOTRY=true
BUG=skia:3763

Review URL: https://codereview.chromium.org/1115003002
2015-04-29 10:15:07 -07:00
caryclark
aec2510125 minor fixes to cubics code and overall alignment of how bounds and tops are computed for all curve types
All but 17 extended tests work.

A helper function is privately added to SkPath.h to permit a test to modify a given point in a path.

BUG=skia:3588

Review URL: https://codereview.chromium.org/1107353004
2015-04-29 08:28:30 -07:00
rmistry
385e88cc16 Create SP enabled SKPs from only the top_25_smooth page set.
Context is here: https://code.google.com/p/skia/issues/detail?id=3763#c14

BUG=skia:3763
NOTRY=true

Review URL: https://codereview.chromium.org/1111273003
2015-04-29 07:26:33 -07:00
halcanary
5190a481f9 doc: add quickstart to linux and macos
also, better install_deps

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1112663002

Review URL: https://codereview.chromium.org/1112663002
2015-04-28 13:06:54 -07:00
borenet
97025e34d3 Run DM on GalaxyS* in one thread
Drive-by cleanup of Xoom

BUG=skia:3214

Review URL: https://codereview.chromium.org/1106173004
2015-04-28 09:54:55 -07:00