Commit Graph

1086 Commits

Author SHA1 Message Date
kelvinly
1acb8df76d Narrowed expectation margins noticeably
BUG=skia:
NOTRY=true
R=bensong@google.com, bsalomon@google.com, jcgregorio@google.com, robertphillips@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/323373002
2014-06-11 08:05:12 -07:00
kelvinly
5a220a1f47 Fix what I just broke
BUG=skia:
NOTRY=true
TBR=bensong@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/328883003
2014-06-10 15:32:45 -07:00
kelvinly
10dc56c468 Fix broken rebaseline code
BUG=skia:
NOTRY=true
R=bensong@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/327943003
2014-06-10 15:24:39 -07:00
kelvinly
b6f431612f Try 1 at rebaseline
BUG=skia:
R=bensong@google.com, bsalomon@google.com, robertphillips@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/324083007
2014-06-10 15:05:08 -07:00
reed
6c22573edb hide SkBitmap::setConfig
patch from issue 325733002

TBR=scroggo

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/322963002
2014-06-09 19:52:07 -07:00
tfarina
880914c35c Reland "Clean up Test's resourcePath code."
This relands commit 91359bed48 (Clean up
Test's resourcePath code."

BUG=None
TEST=make dm && out/Debug/dm
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/321723002
2014-06-09 12:05:34 -07:00
robertphillips
9f1c241e0d Remove SkPicture::kUsePathBoundsForClip_RecordingFlag
The real question is whether we ever want to record a picture without using the path bounds for a conservative (but faster) clip answer?

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/316143003
2014-06-09 06:25:34 -07:00
mtklein
91359bed48 Revert of Clean up Test's resourcePath code. (https://codereview.chromium.org/319473003/)
Reason for revert:
Some benchmarks are written in a way that makes this change unsafe (e.g. const char* resPath = GetResourcePath().c_str(); in SkipZeroesBench) and Valgrind and ASAN caught that.  We can try again after a more careful cleanup of GetResourcePath().

Original issue's description:
> Clean up resourcePath code.
>
> 1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test.
> 2) Make gResourcePath a static pointer to const char and move it inside the classes.
>
> BUG=None
> TEST=make tests && out/Debug/tests
>      make gm && out/Debug/gm
>      make bench && out/Debug/bench
> R=mtklein@google.com
>
> Committed: https://skia.googlesource.com/skia/+/52e4f413ffe2d281f9e90ff2147db08083ffcba7

R=tfarina@chromium.org
TBR=tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=None

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/320733002
2014-06-08 07:02:47 -07:00
tfarina
52e4f413ff Clean up resourcePath code.
1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test.
2) Make gResourcePath a static pointer to const char and move it inside the classes.

BUG=None
TEST=make tests && out/Debug/tests
     make gm && out/Debug/gm
     make bench && out/Debug/bench

R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/319473003
2014-06-07 20:50:44 -07:00
robertphillips
c2fce56522 Add bench for rectanizers
R=bsalomon@google.com, jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/319523003
2014-06-05 07:18:03 -07:00
krajcevski
9a3cdbb3d0 Two new benches for ETC1 bitmaps.
First bench: Simply render from a compressed ETC1 bitmap. This is roughly
equal between compressed and uncompressed data.

Second bench: Notify the bitmap that the pixels have changed (that's right,
like a liar) to force a re-upload to the GPU. On this bench, decompressed
textures seem to inexplicably do an order of magnitude better than
compressed textures when it should be the other way around, but that
investigation is reserved for a future CL.

R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/317023002
2014-06-05 07:03:39 -07:00
egdaniel
05bb6f136d Add bench to measure drawing a dashed grid
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/310083005
2014-06-04 08:15:31 -07:00
mtklein
cf44feb0e1 Clean up another silly race in benches when run concurrently.
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/309193003
2014-06-02 18:22:12 -07:00
mtklein
80f709a0d7 TSAN caught us racing in ScalarBench.cpp
http://108.170.220.102:10117/builders/Test-Ubuntu13-ShuttleA-HD2000-x86_64-Debug-TSAN/builds/914/steps/RunDM/logs/stdio

BUG=skia:

Committed: http://code.google.com/p/skia/source/detail?r=14992

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/305033002
2014-06-02 12:41:07 -07:00
commit-bot@chromium.org
3dd6368232 Revert of TSAN caught us racing in ScalarBench.cpp (https://codereview.chromium.org/305033002/)
Reason for revert:
windows doesn't like it

Original issue's description:
> TSAN caught us racing in ScalarBench.cpp
>
> http://108.170.220.102:10117/builders/Test-Ubuntu13-ShuttleA-HD2000-x86_64-Debug-TSAN/builds/914/steps/RunDM/logs/stdio
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14992

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

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14994 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 15:09:44 +00:00
commit-bot@chromium.org
ee982ed52b TSAN caught us racing in ScalarBench.cpp
http://108.170.220.102:10117/builders/Test-Ubuntu13-ShuttleA-HD2000-x86_64-Debug-TSAN/builds/914/steps/RunDM/logs/stdio

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14992 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 14:56:58 +00:00
skia.committer@gmail.com
9681eebb0e Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14984 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 03:06:10 +00:00
commit-bot@chromium.org
37c772ae2d Reland https://codereview.chromium.org/286903025
BUG=skia:
R=bensong@google.com, epoger@google.com

Author: kelvinly@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14966 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 17:10:24 +00:00
commit-bot@chromium.org
dcba9931a3 Add sk_memcpy32 to Memcpy bench.
The bench predates the implementation in SkUtils, but now that we've got it of course we want to measure our actual implementation.

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14942 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 22:47:26 +00:00
commit-bot@chromium.org
293a4b367a Revert of PictureBenchmark JSON logging (https://codereview.chromium.org/286903025/)
Reason for revert:
Broke some Windows builds; see http://skbug.com/2609 ('certain Windows Build-* bots failing since r14905').

Before re-landing with a fix, please send to some of the trybots that failed the first time.

Original issue's description:
> Add JSON logging support to bench_pictures by adding a PictureResultsWriter class (in tools/PictureResultsWriter.h) to process logging information, using a very similar style as bench/ResultsWriter.h
>
> JSON format described in code, above PictureJSONResultsWriter class
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14906

R=bensong@google.com, jcgregorio@google.com, kelvinly@google.com
TBR=bensong@google.com, jcgregorio@google.com, kelvinly@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2609

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14910 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 21:51:38 +00:00
commit-bot@chromium.org
3089004cc8 Add JSON logging support to bench_pictures by adding a PictureResultsWriter class (in tools/PictureResultsWriter.h) to process logging information, using a very similar style as bench/ResultsWriter.h
JSON format described in code, above PictureJSONResultsWriter class

BUG=skia:
R=bensong@google.com, jcgregorio@google.com

Author: kelvinly@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14906 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 20:57:44 +00:00
commit-bot@chromium.org
5f640a30b9 Adds angle to bench expectation configs.
BUG=skia:2576
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14866 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 13:05:33 +00:00
commit-bot@chromium.org
0be2d8354b Fix memcpy32_sse2_unalign.
The whole point of mempcy32_sse2_unalign is that we didn't align dst128
and src128.  So it's not safe at all to cast them back to dst and src.
That tells the compiler that dst/src are 128-bit aligned, and then it
autovectorizes the cleanup while-loop using that (false) knowledge with
aligned SSE instructions.

This leads to crashes on memcpy32_sse2_unalign_10, which is small enough
that we actually get non-16-byte aligned memory.  The larger size
benches could be crashing too, but they're big enough allocations that
they're probably always 16-byte aligned anyway.

BUG=skia:2589
R=fmalita@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14851 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 18:24:42 +00:00
commit-bot@chromium.org
4885d500f1 Disable bench that's crashing on ChromeOS/Alex perf bot.
BUG=skia:2589
R=fmalita@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14843 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 13:18:32 +00:00
commit-bot@chromium.org
83f23d87f1 Remove unused (by clients) SkUnitMapper
This reverts commit 874423a81b5bc2541c7397e6ab00d5e7c9fdaf98.

TBR=scroggo

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14842 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 12:27:41 +00:00
commit-bot@chromium.org
3339ac54a5 Revert of Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/) (https://codereview.chromium.org/288343009/)
Reason for revert:
required blink change failed to land

Original issue's description:
> Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
>
> This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14830

R=scroggo@google.com, reed@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14838 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 02:55:59 +00:00
commit-bot@chromium.org
4b8f802255 Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14830 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 19:56:46 +00:00
skia.committer@gmail.com
29de433b06 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14817 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 03:05:49 +00:00
commit-bot@chromium.org
97133ade53 Changed JSON formatting more, workaround bug where SkStringPrintf causes encoding issues
BUG=skia:
R=bensong@google.com, jcgregorio@google.com, reed@google.com, bsalomon@google.com

Author: kelvinly@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14808 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:35:10 +00:00
commit-bot@chromium.org
c4e416ce49 Add Memcpy32 bench.
This compares 32-bit copies using memcpy, autovectorization, and when SSE2 is
available, aligned and unaligned SSE2.

Running this on my desktop (Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz), I see
all four perform essentially the same, except Clang's autovectorization looks
 a little better than GCC's.  memcpy is calling libc 2.19's __memcpy_sse2_unaligned.


BUG=skia:
R=reed@google.com, qiankun.miao@intel.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14799 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:54:04 +00:00
commit-bot@chromium.org
71e55762e6 Changed JSON formatting to fit BigQuery requirements
BUG=skia:
R=bensong@google.com, jcgregorio@google.com

Author: kelvinly@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14784 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 17:29:01 +00:00
commit-bot@chromium.org
e2b193ca5c Revert of remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
Reason for revert:
does not address all legacy callsites in chrome.

e.g.

[13:45:32.091872] ../../ui/native_theme/native_theme_base.cc:608:76: error: no matching function for call to ‘SkGradientShader::CreateLinear(SkPoint [3], SkColor [3], NULL, int, SkShader::TileMode, NULL)’
[13:45:32.091919]            gradient_bounds, colors, NULL, 3, SkShader::kClamp_TileMode, NULL));


Original issue's description:
> remove unused (by clients) SkUnitMapper
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14761

R=robertphillips@google.com, scroggo@google.com, george@mozilla.com
TBR=george@mozilla.com, robertphillips@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14763 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:49:08 +00:00
commit-bot@chromium.org
ee0cac336c remove unused (by clients) SkUnitMapper
BUG=skia:
R=robertphillips@google.com, scroggo@google.com, george@mozilla.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:35:01 +00:00
commit-bot@chromium.org
61744ec1d2 Generate bench/Android.mk from gyp.
For now, remove json functionality and do not depend on json. This
allows us to build and run until solving skbug.com/2448.

bench/DeferredSurfaceCopyBench.cpp:
Include GrRenderTarget last, so SK_SUPPORT_GPU will be set properly.

bench/ResultsWriter.h:
bench/benchmain.cpp:
Remove JSONResultsWriter when SK_BUILD_JSON_WRITER is not defined,
which is the case for the Android framework build.

gyp/bench.gyp:
Depend on skia and cutils (for android_atomic_inc etc).

gyp/common_conditions.gypi:
Define SK_BUILD_JSON_WRITER when skia_build_json_writer is set.

gyp/common_variables.gypi:
Add a flag for skia_build_json_writer, and set it only when
skia_android_framework is not set.

gyp/jsoncpp.gyp:
Do not build jsoncpp when skia_build_json_writer is not defined.
include/utils/SkJSONCPP.h:
Do not include json headers when SK_BUILD_JSON_WRITER is not defined.

platform_tools/android/bin/gyp_to_android.py:
Generate bench/Android.mk.

platform_tools/android/gyp_gen/gypd_parser.py:
Skip dest_dir when checking for include_dirs.

platform_tools/android/gyp_gen/makefile_writer.py:
Build bench/Android.mk when building external/skia.

platform_tools/android/gyp_gen/tool_makefile_writer.py:
Add a parameter for putting the binary into /data/local/tmp.

BUG=skia:2447
BUG=skia:2448
R=halcanary@google.com, reed@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14760 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:15:41 +00:00
commit-bot@chromium.org
9d439a707e Adds dashboard link for one-line plot on each alert item.
BUG=skia:2523
NOTRY=true
R=kelvinly@google.com
TBR=rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14713 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-13 17:38:17 +00:00
commit-bot@chromium.org
261d0153e2 Clean up global gSkSuppressFontCachePurgeSpew.
No one is using it except to flick it to true to shut up the spew,
but the spew is already guarded by #ifdef SPEW_PURGE_STATUS.  Let's
leave it to SPEW_PURGE_STATUS.

Noticed this specificially when TSAN complained about FontScalerBench
modifying it in a thread-unsafe way.

BUG=skia:1792
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14697 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 15:48:38 +00:00
commit-bot@chromium.org
1961c08a38 Adds the ability to filter bench expectations in builder/config level.
BUG=skia:2539
NOTRY=true
R=rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14694 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 14:36:43 +00:00
commit-bot@chromium.org
e49157f083 Factor GrTexture into public GrTexture and private GrTextureImpl.
Committed: http://code.google.com/p/skia/source/detail?r=14680

R=jvanverth@google.com, robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14687 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:46:48 +00:00
commit-bot@chromium.org
59e7d23852 Revert of Factor GrTexture into public GrTexture and private GrTextureImpl. (https://codereview.chromium.org/275903002/)
Reason for revert:
Breaks chrome build.

Original issue's description:
> Factor GrTexture into public GrTexture and private GrTextureImpl.
>
> Committed: http://code.google.com/p/skia/source/detail?r=14680

R=jvanverth@google.com, robertphillips@google.com
TBR=jvanverth@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14681 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 18:02:51 +00:00
commit-bot@chromium.org
bd465d141b Factor GrTexture into public GrTexture and private GrTextureImpl.
R=jvanverth@google.com, robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14680 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 17:37:55 +00:00
commit-bot@chromium.org
95c2003740 cleanup GrContext resource cache api
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14669 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 14:29:32 +00:00
commit-bot@chromium.org
8a2151f0ae Remove global SkRandoms from ChartBench.
TSAN picked them up while running DM.

BUG=skia:1792
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14641 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 15:12:43 +00:00
commit-bot@chromium.org
44e3f715e6 GameBench: curCell doesn't need to be extra state.
We're using a static curCell to loop around the atlas.  We can just use i.

Noticed this when TSAN complained about it.  Parallel invocations of the
game bench were stomping on each other's curCell.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14617 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 17:12:55 +00:00
commit-bot@chromium.org
c9c5c42bbb Relaxes bench range upper bound by a bit.
BUG=skia:
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14585 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 04:49:13 +00:00
commit-bot@chromium.org
d06ee4580c Fixes lower/upper typo.
BUG=skia:
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14556 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-03 13:03:48 +00:00
commit-bot@chromium.org
59d318b9f7 Use a separate error parameter for lower bound.
BUG=skia:
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14555 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-03 12:58:59 +00:00
commit-bot@chromium.org
379475f709 further adjust bench lower bounds to cope with downside flakiness.
BUG=skia:2225
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14554 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-03 12:40:14 +00:00
commit-bot@chromium.org
089a780c33 Split GrResource into GrCacheable/GrGpuObject
Before this change, an object needed to inherit from GrResource (and
thus be a GPU object) in order to live in the GrResourceCache. That
was a problem for caching items that weren't GPU objects themselves,
but owned GPU objects.

This change splits GrResource into two classes:

  1. GrCacheable: The base class for objects that can live in the
     GrResourceCache.

  2. GrGpuObject, which inherits from GrCacheable: The base class for
     objects that get tracked by GrGpu.

This change is purely a refactor; there is no change in functionality.

Change-Id: I3e8daeb1f123041f414aa306c1366e959ae9e39e

BUG=skia:
R=bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:38:22 +00:00
commit-bot@chromium.org
ae4976c9d0 reduce total number of segments in giant-dash
still exercises large coordinates, but won't kill our memory usage on 32bit bots

NOTRY=True
R=caryclark@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14502 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 15:30:52 +00:00
commit-bot@chromium.org
1a98a0604b one valgrind.supp to rule them all.
R=mtklein@google.com, robertphillips@google.com, borenet@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14487 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 21:10:13 +00:00
commit-bot@chromium.org
0f298cc125 Use SkDebugf to print when GrContext can't be created for a config.
Also, don't label it an "Error". New output matches that of GM.

BUG=skia:2494
R=caryclark@google.com, bensong@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14470 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 15:54:29 +00:00
commit-bot@chromium.org
88cb22b6b4 Convert GrCrash->SkFAIL GrDebugCrash->SkDEBUGFAIL
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14460 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 14:17:00 +00:00
commit-bot@chromium.org
8cb46b963a Adds a blacklist of SKPs to exclude from bench expectations.
BUG=skia:2469
NOTRY=true
NOTREECHECKS=true
R=caryclark@google.com
TBR=caryclark@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14422 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 20:20:43 +00:00
commit-bot@chromium.org
e396455d2d move common blur types into central header
BUG=skia:
R=scroggo@google.com, djsollen@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14411 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 16:25:35 +00:00
commit-bot@chromium.org
02a5a09334 Tune bench expectation algorithm parameters.
BUG=skia:2225
NOTRY=true
NOTREECHECKS=true
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14386 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-25 22:03:39 +00:00
bsalomon@google.com
f1c0135425 Rework ATI driver suppressions for bench valgrind
Review URL: https://codereview.chromium.org/256623003

git-svn-id: http://skia.googlecode.com/svn/trunk@14363 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 20:12:38 +00:00
commit-bot@chromium.org
76a3b2abd0 Remove support for inheriting the paint color from SkColorShader
BUG=skia:2453
R=reed@google.com, mtklein@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14355 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 16:54:46 +00:00
commit-bot@chromium.org
b2db44376e Rename benchmark classes, hopefully less confusing to valgrid?
I was able to reproduce the problem, but Valgrind was giving me a very odd
report, pointing to a particular line in QuadTreeBench.cpp from a stack that
was running RTreeBench.

Whenever Valgrind complains, it's always about switch(fQuery), line 109 in
QuadTreeBench or 119 in RTreeBench.  I can't see any way that fQuery is not
initialized.

I believe we've just confused Valgrind by linking together  classes with
identical names.  This CL gives them all unique names.

BUG=skia:2455
R=bungeman@google.com, mtklein@google.com, bsalomon@google.com, borenet@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14338 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 21:03:45 +00:00
bsalomon@google.com
034c66b57f Add valgrind suppressions for fglrx
BUG=skia:2450
TBR=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14337 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 20:25:04 +00:00
bsalomon@google.com
d7ee4b6699 Change valgrind suppresion names for bug 2455.
BUG=skia:2455

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14312 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 19:58:58 +00:00
bsalomon@google.com
f7ad002b3e Update valgrind suppression names for bug 2453
BUG=skia:2453

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14309 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 19:30:16 +00:00
bsalomon@google.com
6419ee64ee Mark bench suppressions with bug #
BUG=skia:2452

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14308 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 19:17:54 +00:00
bsalomon@google.com
f1eba21838 Add Valgrind suppression file for bench
BUG=skia:2450
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14306 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 18:47:02 +00:00
commit-bot@chromium.org
4bbe2e552a Add --runOnce flag to run benchs once in release or to force convergence in debug
R=mtklein@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14292 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 21:12:32 +00:00
robertphillips@google.com
770963f23f Staging for cleanup of SkPicture-related headers
https://codereview.chromium.org/243173002



git-svn-id: http://skia.googlecode.com/svn/trunk@14258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 18:04:41 +00:00
commit-bot@chromium.org
091a594dbc Reduce internal explicit SaveFlags usage.
Most of these are either redundant/defaults or (hopefully)
unnecessarily specific.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14253 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 14:19:31 +00:00
skia.committer@gmail.com
60bd7519a9 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14252 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 03:03:54 +00:00
commit-bot@chromium.org
5fb2ce38b3 Staged removal of SkPicture-derived classes
This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).

The only interesting bits are in SkPicture* and Sk*Picture.*

R=reed@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 23:35:06 +00:00
commit-bot@chromium.org
73cb15351f Make sure SkDrawLooper objects can only be allocated on the heap.
Make constructors of SkLayerDrawLooper and SkBlurDrawLooper non-public.
Remove addLayer* methods from SkLayerDrawLooper. SkLayerDrawLooper::Builder is
used to create new objects.
Provide factory method for creating SkBlurDrawLooper.

BUG=2141
R=scroggo@google.com, reed@google.com, djsollen@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14200 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 15:48:36 +00:00
commit-bot@chromium.org
95f79261ad Add conical special cases to GradientBench
BUG=skia:
R=reed@google.com, bsalomon@google.com, robertphillips@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14182 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-14 16:02:31 +00:00
skia.committer@gmail.com
5199701acb Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@14172 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-14 03:04:57 +00:00
robertphillips@google.com
84b18c7e3e split SkPictureRecorder out of SkPicture
https://codereview.chromium.org/214953003/



git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-13 19:09:42 +00:00
commit-bot@chromium.org
a1bf8be772 Further adjust bench expectations calculation.
BUG=skia:2225
TBR=robertphillips@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14165 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 19:54:16 +00:00
commit-bot@chromium.org
28fcae2ec7 Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)
Reason for revert:
Want to reland the original CL.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, bensong@google.com
TBR=bensong@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14156 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 17:15:40 +00:00
commit-bot@chromium.org
96edc24598 Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
Reason for revert:
Chrome's side of define changes not easy to figure out quickly. Reverting this for DEPS roll for now.

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 13:47:30 +00:00
commit-bot@chromium.org
d923288e50 Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/234243002/)
Reason for revert:
fixes on the chrome side are landing (brettw), keep fingers crossed.

Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14145 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:49:20 +00:00
commit-bot@chromium.org
757ebd20ef Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/)
Reason for revert:
breaking the Chrome deps roll.
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio

Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117

R=reed@google.com, scroggo@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14144 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:36:34 +00:00
senorblanco@chromium.org
0d64356efd Add a new bench that tests a simple image filter DAG.
This bench exercises a blur filter connected to 5 inputs of the same
merge filter.

R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14135 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 16:16:13 +00:00
commit-bot@chromium.org
149e9a107c Rename kPMColor_SkColorType to kN32_SkColorType.
The new name better represents what this flag means.

BUG=skia:2384
R=reed@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 20:45:29 +00:00
commit-bot@chromium.org
093ed317cb Adjusts the bench expectations calculation to consider average value.
BUG=skia:2225
NOTRY=true
R=borenet@google.com
TBR=borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14112 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 18:57:02 +00:00
commit-bot@chromium.org
9fbbcca1c9 SkPerlinNoiseShader::CreateTubulenceNoise() is misspelled
Add missing 'r'.

BUG=skia:2329
R=bsalomon@google.com, hcm@google.com, sugoi@chromium.org

Author: siglesias@igalia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14008 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 16:09:37 +00:00
commit-bot@chromium.org
35c03fbf10 Remove scaleToFit from DashPathEffect
BUG=skia:
R=reed@google.com, bsalomon@google.com, scroggo@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13999 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-31 18:52:51 +00:00
commit-bot@chromium.org
cb3f07940c Adds bench expectations to expectations/bench; fixes bench alert test's dependency on script line number.
BUG=skia:2307
NOTRY=true
R=borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13979 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 17:55:51 +00:00
skia.committer@gmail.com
db0c875377 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13845 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-18 03:02:11 +00:00
commit-bot@chromium.org
a713f9c6f6 add new readPixels with direct memory parameters
BUG=skia:
R=scroggo@google.com, bsalomon@google.com, robertphillips@google.com, fmalita@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13840 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 21:31:26 +00:00
commit-bot@chromium.org
b1bcb21631 gen_bench_expectations to generate bench expectations files.
BUG=skia:2225
NOTRY=true
R=borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13838 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 21:16:29 +00:00
commit-bot@chromium.org
949b9986de Fast implementation of QuadTree
Rewritten to avoid memory allocations.

BUG=skia:2242
R=tomhudson@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13826 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 10:38:34 +00:00
commit-bot@chromium.org
68bda15ccf Removes bench expectations files. New place is skia-autogen svn repo. See https://codereview.chromium.org/196653010/
BUG=skia:2225
NOTRY=true
NOTREECHECKS=true
TBR=borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13818 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 23:42:16 +00:00
commit-bot@chromium.org
56b7a6d52c --dryRun flag for bench
causes bench to print out what tests it would be running, without actually running them.

BUG=skia:2294
R=reed@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13787 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:22:00 +00:00
commit-bot@chromium.org
84cd099704 Clean up SkImageFilter.
Rename more occurences of 'target' to 'kernelOffset'.
This is a follow-up patch to
https://codereview.chromium.org/182983003/

BUG=skia:2187
R=senorblanco@chromium.org

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13768 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 16:36:08 +00:00
commit-bot@chromium.org
758bc7aa48 Stores per-iteration bench values in BenchDataPoint.
BUG=skia:2225
NOTRY=true
R=borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13767 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 16:23:33 +00:00
robertphillips@google.com
cf69bf4662 Rebaseline performance triggers for Mac10.6 & N7
https://codereview.chromium.org/196573006/



git-svn-id: http://skia.googlecode.com/svn/trunk@13761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 13:35:23 +00:00
commit-bot@chromium.org
a64ed0fd68 bench rebaseline after Brian's improvement e5a041c
BUG=skia:2274
NOTRY=true
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13738 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 14:28:10 +00:00
commit-bot@chromium.org
cac5fd597f Factory methods for heap-allocated SkImageFilter objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkImageFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.

BUG=skia:2187
R=scroggo@google.com, mtklein@chromium.org, reed@google.com, senorblanco@google.com, senorblanco@chromium.org, bsalomon@google.com, sugoi@chromium.org, zork@chromium.org

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13718 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 10:51:58 +00:00
skia.committer@gmail.com
e62513fb92 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13714 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:02:06 +00:00
commit-bot@chromium.org
4cd9e2169e Add SkCanvas::writePixels that takes info+pixels directly
add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)

BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:25:16 +00:00
commit-bot@chromium.org
1b28f6f1ce Adding this call simulates seeing a *different* bitmap every time we scale, which changes the code path (places much heavier load on constructing a new filter). This better emulates the kind of environment most embedders see us in, where they try to cache a scaled bitmap rather than frequently rescaling it.
This change will cause significant regressions in microbenchmark scores.

BUG=skia:2236
R=humper@google.com, reed@google.com, scroggo@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13685 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-06 17:16:37 +00:00
commit-bot@chromium.org
b83ec64dde bench rebase after skp update.
BUG=skia:2163
NOTRY=true
R=rmistry@google.com
TBR=rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13647 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 22:50:13 +00:00
commit-bot@chromium.org
4fcc3ca411 Add GrSet class built on top of RedBlackTree
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13616 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 20:23:22 +00:00
reed@google.com
48f31bdbb3 try to deprecate fFlagsMask from SkLayerDrawLooper
We think we want to move around how flags/fields like linearText and strikeThru
are specified. SkPaint has helpers for nearly all of these, but LayerInfo in
the draw looper just exposes the raw bitfield.

On survey of chrome/android, it appears that no one uses those, so it may be
safe to just remove the feature entirely from the looper.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13607 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 14:27:44 +00:00
commit-bot@chromium.org
38aeb0fd7a DM: also run benches once.
Also:
  - make GrMemoryPoolBenches threadsafe
  - some tweaks to various DM code
  - rename GM::shortName() to getName() to match benches and tests

On my desktop, (289 GMs, 617 benches) x 4 configs, 227 tests takes 46s in Debug, 14s in Release.  (Still minutes faster than running tests && bench && gm.)  GPU singlethreading is definitely the limiting factor again; going to reexamine whether that's helpful to thread it again.

BUG=skia:
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13603 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 23:01:57 +00:00
commit-bot@chromium.org
1e762d39bb Adjusts one Win7 bench expectation (googlespreadsheetdashed, scalar1.1_gpu).
BUG=skia:2163
NOTRY=true
R=rmistry@google.com
TBR=rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13591 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 16:19:21 +00:00
commit-bot@chromium.org
575d9cd270 Simplify GM-as-bench code.
Tested: bench --match GM
running bench [870 540] GM:convex_poly_clip


BUG=skia:
R=bsalomon@google.com, mtklein@google.com, brian@thesalomons.net

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13573 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 23:25:49 +00:00
commit-bot@chromium.org
2e34b21dc5 adjust one mac bench range.
BUG=skia:2163
NOTRY=true
R=robertphillips@google.com
TBR=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13563 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 16:37:45 +00:00
commit-bot@chromium.org
f54ea1073b bench rebaseline with new parameters.
BUG=skia:2163
NOTRY=true
R=rmistry@google.com
TBR=rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13560 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 14:27:35 +00:00
commit-bot@chromium.org
6c2f0becf4 Removes bench alerts for googleplus, forecastio.
BUG=skia:2163
NOTRY=true
R=scroggo@google.com
TBR=scroggo@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13554 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-23 15:18:39 +00:00
commit-bot@chromium.org
d5b294acad Removes some dynamic SKPs from bench alerts.
BUG=skia:2163
R=scroggo@google.com
TBR=scroggo@google.com
NOTRY=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13552 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-22 21:53:13 +00:00
commit-bot@chromium.org
495fe2ccc1 Rebaseline bench with a little wider ranges.
BUG=skia:2163
NOTRY=true
R=scroggo@google.com
TBR=scroggo@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13550 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-22 00:37:18 +00:00
commit-bot@chromium.org
727a352f74 Factory methods for heap-allocated SkColorFilter objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkColorFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.

BUG=skia:2187
R=scroggo@google.com, mtklein@google.com, reed@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13539 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 18:46:30 +00:00
commit-bot@chromium.org
d832f1d5b5 Bench rebaseline after Brian's Android improvement.
BUG=skia:2169
NOTRY=true
TBR=scroggo@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13522 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 22:01:53 +00:00
commit-bot@chromium.org
0a2bf90dcc Factory methods for heap-allocated SkPathEffect and SkXfermode objects.
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.

This patch makes the constructors of SkPathEffect, SkXfermode and
their subclasses non-public and instead provides factory methods for
creating these objects on the heap. We temporarily keep the constructors
of the following classes public to not break Chrome/Blink:

SkXfermode
SkCornerPathEffect
SkDashPathEffect

BUG=skia:2187
R=scroggo@google.com, reed@google.com, mtklein@google.com, bungeman@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13519 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 20:40:19 +00:00
commit-bot@chromium.org
557e3cda9a Separates faster and slower bench alerts; sorts by delta.
Separate faster and slower bench alerts; sort by delta.

BUG=skia:2193
NOTRY=true
R=epoger@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13512 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 15:58:32 +00:00
commit-bot@chromium.org
63822639e4 Upstream fix for DecodeBench.
Use SkBasename to get the basename.

Fixes a bug on Android where calling strrchar conflicts with
Android's setting for FORTIFY_SOURCE.

R=djsollen@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13511 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 15:41:17 +00:00
commit-bot@chromium.org
0dd2109c7e Rebaseline bench after nightly Chrome update.
BUG=skia:2198
R=rmistry@google.com
TBR=scroggo@google.com
NOTRY=true
NOTREECHECKS=true

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13510 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 14:03:47 +00:00
commit-bot@chromium.org
d58c9c8b81 Fix bench to compile when SK_SUPPORTS_GPU is not provided as a compiler option
In the case that SK_SUPPORTS_GPU is not provided to the compiler, the value is
either defined in in the SkUserConfig.h or SkPostConfig.h. Prior to this change
HairlinePathBench would test that value before including anything, which led to
build errors.

BUG=skia:
R=djsollen@google.com, bsalomon@google.com

Author: cdalton@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13502 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 19:30:42 +00:00
commit-bot@chromium.org
06ea6067fc Adjust allowed error from 0.5 to 2.5.
BUG=skia:2169
NOTRY=true
R=jvanverth@google.com
TBR=jvanverth@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13450 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-14 14:26:01 +00:00
commit-bot@chromium.org
81cdf2381f Small adjustments of two bench ranges.
BUG=skia:2169
NOTRY=true
R=jvanverth@google.com
TBR=jvanverth@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13445 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 22:52:51 +00:00
commit-bot@chromium.org
a4b9b39dda Use a bench alert algorithm with wider ranges. TBR=jvanverth NOTRY=true
BUG=skia:2169
R=jvanverth@google.com, bsalomon@google.com, robertphillips@google.com
TBR=jvanverth@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13440 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 20:40:56 +00:00
commit-bot@chromium.org
ed3bb1a3a5 Bench rebaseline to use narrower ranges. This also tests the new range calculation algorithm.
BUG=skia:2163
R=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13433 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 17:16:56 +00:00
commit-bot@chromium.org
e07dfe54c4 Update Mac 10.6 bench expectation for tabl_worldjournal.
R=robertphillips@google.com
TBR=robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13414 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 20:27:05 +00:00
fmalita@google.com
f04c21dd64 More bench rebaselines for new SKPs.
Review URL: https://codereview.chromium.org/130633009

git-svn-id: http://skia.googlecode.com/svn/trunk@13372 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 21:21:14 +00:00
commit-bot@chromium.org
b21fac156d Make GMs aware of what tool they're being run in.
Add a saveLayer set of draws to convex_poly_clip and fix GPU bug where polygon clips don't account for the translation between clip and device space.

BUG=skia:2051
R=robertphillips@google.com, reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13371 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 21:13:11 +00:00
fmalita@google.com
244b288431 Fix garbled Nexus7 bench expectations entry.
Review URL: https://codereview.chromium.org/136953009

git-svn-id: http://skia.googlecode.com/svn/trunk@13368 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 18:43:40 +00:00
fmalita@google.com
480ae28b64 Bench rebaseline for the new SKPs
TBR=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13365 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-07 17:14:01 +00:00
reed@google.com
ace135453d impl getROPixels for gpu SkImage
BUG=skia:
R=jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13352 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 22:00:58 +00:00
robertphillips@google.com
30555b4c34 Wider perf trigger range for N4 and N7 perf improvements
https://codereview.chromium.org/141013019/



git-svn-id: http://skia.googlecode.com/svn/trunk@13317 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 13:35:56 +00:00
commit-bot@chromium.org
0f53122f89 Fix crash in bench when "--mode record" is used
R=mtklein@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13310 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 19:32:37 +00:00
reed@google.com
28183b4043 remove (unused by chrome) SkDeferredCanvas(device) factory signature
BUG=skia:
R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13302 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 15:34:10 +00:00
reed@google.com
1bc6c6aa7e change benchmark to use surfaces instead of devices to specify its backends
BUG=skia:
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13297 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 14:02:44 +00:00
commit-bot@chromium.org
c22d139808 Initial QuadTree implementation
In an effort to find a faster bounding box hierarchy than the R-Tree, a QuadTree has been implemented here.
For now, the QuadTree construction is generally faster than the R-Tree and the queries are a bit slower, so overall, SKP local tests showed QuadTree performance similar to the R-Tree performance.

Tests and bench are included in this cl.

At this point, I'd like to be able to commit this in order to more easily use the bots to test multiple configurations and a larger number of SKPs. The R-Tree BBH is still used by default so this change shouldn't affect chromium.

BUG=skia:
R=junov@chromium.org, junov@google.com, senorblanco@google.com, senorblanco@chromium.org, reed@google.com, sugoi@google.com, fmalita@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13282 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-03 18:08:33 +00:00
commit-bot@chromium.org
6adce6783c Allow GMs to be used as benchmarks. Make convex_poly_clip opt in.
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13279 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-03 14:48:17 +00:00
robertphillips@google.com
78319ced50 Performance trigger rebaselines
https://codereview.chromium.org/151833004/



git-svn-id: http://skia.googlecode.com/svn/trunk@13275 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-01 15:44:30 +00:00
commit-bot@chromium.org
084545e14f rebaseline perf because of faster tests after GPU glur changes
BUG=skia:
R=robertphillips@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13240 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 17:27:45 +00:00
commit-bot@chromium.org
78dd91d1af Revert "Revert of Workaround for assertion in NVPR config in bench. (https://codereview.chromium.org/131503007/)"
add SK_SUPPORT_GPU check

BUG=skia:2042

TBR=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13203 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 19:52:51 +00:00
commit-bot@chromium.org
594aa5e39d Revert of Workaround for assertion in NVPR config in bench. (https://codereview.chromium.org/131503007/)
Reason for revert:
broke the build.

Original issue's description:
> Workaround for assertion in NVPR config in bench.
>
> BUG=skia:2078
>
> Committed: http://code.google.com/p/skia/source/detail?r=13196

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2078

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13199 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 18:06:03 +00:00
commit-bot@chromium.org
fbd3047d23 Workaround for assertion in NVPR config in bench.
BUG=skia:2078
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13196 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 17:36:38 +00:00
commit-bot@chromium.org
e8989578cd Add NVPR configs to bench
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13188 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-26 20:51:00 +00:00
commit-bot@chromium.org
3a9ade7f37 Updates bench expectations; adds new platforms.
BUG=skia:
R=borenet@google.com, robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13179 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 21:50:03 +00:00
commit-bot@chromium.org
6dda827913 add leaks flag to show unref'd insts
Leaks are shown optionally instead of always for tests, gm, and bench.
The current display does not show actual leaks necessarily, but
shows global objects that were not deleted when the test ended.
To enable the end-of-run leak display, pass --leaks or -l.

BUG=skia:
R=mtklein@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13151 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 17:21:19 +00:00
commit-bot@chromium.org
19382421b9 Convert SkWriter32 to use an SkTDArray for its internal storage.
This reduces the allocation overhead of a null picture (create, beginRecording(), endRecording) from about 18K to about 1.9K.  (There's still lots more to prune.)

SkPictureFlat can exploit the fact that Writer32 is contiguous simplify its memory management.  The Writer32 itself becomes the scratch buffer.

Remove lots and lots of arbitrary magic numbers that were size guesses and minimum allocation sizes.  Keep your eyes open for the big obvious DUH why we save 16K per picture!  (Spoiler alert.  It's because that first save we issue in beginRecording() forces the old SkWriter32 to allocate 16K.)

Tests passing, DM passing.

bench --match writer: ~20% faster
null bench_record: ~30% faster
bench_record on buildbot .skps: ~3-6% slower, ranging 25% faster to 20% slower
bench_pictures on buildbot .skps: ~1-2% faster, ranging 13% faster to 28% slower

BUG=skia:1850
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13073 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 20:51:26 +00:00
commit-bot@chromium.org
c45ece5f7f NEON fast path for box blur
Calculate 8 channels in parallel by using 16-bits to store each channel. Due to the limitation of VQRDMULH, (int16 * int16 * 2 + 0x8000) >> 16, the fast path can only support kernelSize < 128.
8 significant bits are kept at least in each stage, the final error should less-equal than 1.

Pre-fetching memory for X-direction read. In fact pre-fetching memory doesn't help much for Y direction read, since it is a waste to load a cache line for only read 8 bytes.(I left it there to keep the symmetry. pre-fetch is cheap :) )

bench data on Nexus 10
before:
running bench [640 480]      blur_image_filter_large_10.00_10.00   8888:  cmsecs =  25081.48
running bench [640 480]      blur_image_filter_small_10.00_10.00   8888:  cmsecs =  25038.04
running bench [640 480]        blur_image_filter_large_1.00_1.00   8888:  cmsecs =  25209.04
running bench [640 480]        blur_image_filter_small_1.00_1.00   8888:  cmsecs =  24928.01
running bench [640 480]        blur_image_filter_large_0.00_1.00   8888:  cmsecs =  17160.98
running bench [640 480]       blur_image_filter_large_0.00_10.00   8888:  cmsecs =  17924.11
running bench [640 480]        blur_image_filter_large_1.00_0.00   8888:  cmsecs =  14609.19
running bench [640 480]       blur_image_filter_large_10.00_0.00   8888:  cmsecs =  14625.91

after:
running bench [640 480]      blur_image_filter_large_10.00_10.00   8888:  cmsecs =  14848.42
running bench [640 480]      blur_image_filter_small_10.00_10.00   8888:  cmsecs =  16037.29
running bench [640 480]        blur_image_filter_large_1.00_1.00   8888:  cmsecs =  14819.55
running bench [640 480]        blur_image_filter_small_1.00_1.00   8888:  cmsecs =  14563.69
running bench [640 480]        blur_image_filter_large_0.00_1.00   8888:  cmsecs =  11905.34
running bench [640 480]       blur_image_filter_large_0.00_10.00   8888:  cmsecs =  11883.85
running bench [640 480]        blur_image_filter_large_1.00_0.00   8888:  cmsecs =   9576.51
running bench [640 480]       blur_image_filter_large_10.00_0.00   8888:  cmsecs =   9793.84

BUG=
R=senorblanco@chromium.org, mtklein@google.com, reed@google.com, kevin.petit@arm.com, kevin.petit.arm@gmail.com

Author: zheng.xu@arm.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13036 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 08:16:45 +00:00
borenet@google.com
6f0f5b4aad Remove references to Skia's SVN repository
BUG=
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13006 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 21:41:39 +00:00
commit-bot@chromium.org
1034ef1af4 Revert of https://codereview.chromium.org/127223004/
Reason for revert: VS can't comprehend std::vector without exceptions.

R=bsalomon@google.com, caryclark@google.com, mtklein@chromium.org
TBR=bsalomon@google.com, caryclark@google.com, mtklein@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12975 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:31:11 +00:00
commit-bot@chromium.org
506ecc24bf For comparison, add std::vector.
Where I've tested, it's second-place to SkTDArray, though the closest API equivalent in our code is SkTArray, which it's significantly faster than.  This is probably a good approximation to how fast we can possibly make something like SkTArray that constructs and destroys its values.  In fact, it might be worth trying making SkTArray a thin shim over std::vector.

BUG=
R=bsalomon@google.com, caryclark@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12969 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:16:04 +00:00
commit-bot@chromium.org
85facf71ef Add StackBench to measure performance on stack-like (fixed element size) work loads.
BUG=303282
R=reed@google.com, caryclark@google.com, mtklein@chromium.org

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12940 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 17:03:31 +00:00
commit-bot@chromium.org
8f88117940 Cap memory usage in path_create bench.
Memory usage grows unbounded in path_create without this patch (growing the
paths).  This bench also somewhat needlessly cycles through 32 paths, so now
we just work with one.

Peak memory usage drops from ~2-3G to ~150M.  This should fix the NexusS crashes,
or at least get us to the next one.

BUG=skia:1687
R=caryclark@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12925 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 20:19:14 +00:00
skia.committer@gmail.com
f8affa2e5c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12853 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 07:01:35 +00:00
mike@reedtribe.org
ae8f9528fd speedup SkRect::intersect
git-svn-id: http://skia.googlecode.com/svn/trunk@12851 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-01 20:32:45 +00:00
tfarina@chromium.org
725a64cf89 Add default resource path for skia test cases in gm and bench tools.
BUG=skia:1765
TEST=./out/Release/gm --match downsamplebitmap_image
R=mtklein@google.com, scroggo@google.com, yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 14:29:52 +00:00
commit-bot@chromium.org
5f6c2c0477 Rebaseline for Nexus7 tile multithreads config. Widens the range for benched calculated from average.
BUG=
R=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12772 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 16:20:04 +00:00
commit-bot@chromium.org
6cb74f2b86 Adjusts Ubuntu bench multi_4_threads values. Widens range to cope with the new average instead of 25th.
BUG=
R=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12736 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 14:55:02 +00:00
commit-bot@chromium.org
b6a1c0154d Adjusts Win7 bench tile_256x256_multi_4_threads. Using 8f4d230.
BUG=
R=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 20:23:22 +00:00
reed@google.com
e1ca705cac deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 19:22:07 +00:00
commit-bot@chromium.org
3fb15f4d21 Bench rebaseline for Ubuntu. Also manually adjust one entry for Nexus7.
BUG= https://code.google.com/p/skia/issues/detail?id=1871
R=robertphillips@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12718 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 18:39:27 +00:00
reed@google.com
8f4d2306fa remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats
To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.

BUG=
R=bsalomon@google.com, caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:44:46 +00:00
robertphillips@google.com
bbd893dcc3 Fix handling of aggregate times in TimerData::getResult
https://codereview.chromium.org/117393002/



git-svn-id: http://skia.googlecode.com/svn/trunk@12709 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:32:51 +00:00
commit-bot@chromium.org
cea08483de Bench rebaseline for Nexus7 and Win7. Expected values are from versions afada4c and 48d94b8.
BUG=
R=robertphillips@google.com, rmistry@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12699 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 22:58:40 +00:00
commit-bot@chromium.org
cc6db406e4 Make sure four_byte_interp benches the entire FourByteInterp call.
Relative bench performance still says switch to Fast.

Desktop:
    four_byte_interp_slow_256  11.68
    four_byte_interp_slow_255  12.11
    four_byte_interp_fast_256   7.17
    four_byte_interp_fast_255   8.17

N5:
    four_byte_interp_slow_256  28.49
    four_byte_interp_slow_255  25.08
    four_byte_interp_fast_256  19.40
    four_byte_interp_fast_255  21.69

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12512 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 16:43:08 +00:00
commit-bot@chromium.org
ab1c13864d Fix compilation with SK_ENABLE_INST_COUNT=1
Add INHERITED declarations to class declarations that prevent
compilation with the flag.

Remove SK_DEFINE_INST_COUNT from all class implementations.  Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.

Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.

For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.

Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.

R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 12:08:12 +00:00
commit-bot@chromium.org
000d732ca7 Move non-trivial work in RectBench() to onPreDraw.
Saw this on a profile where rects was filtered out.  ಠ_ಠ

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12500 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 12:07:44 +00:00
bensong@google.com
967b258065 Fixes bench_util's CONFIG_RE to cope with space flexibility.
The real "fix" down the road is Joe's ongoing work of switching to JSON.
Review URL: https://codereview.chromium.org/103943004

git-svn-id: http://skia.googlecode.com/svn/trunk@12498 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 01:31:56 +00:00
commit-bot@chromium.org
3361471a35 Simplify benchmark internal API.
I'm not quite sure why I wrote such a convoluted API with setLoops()/getLoops().
This replaces it with a loops argument passed to onDraw().

This CL is largely mechanical translation from the old API to the new one.
MathBench used this->getLoops() outside onDraw(), which seems incorrect.  I
fixed it.

BUG=
R=djsollen@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12466 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 18:17:16 +00:00
commit-bot@chromium.org
e3bb3bce3e Add JSON output option to bench.
A new command-line flag --outResultsFile takes the filename to write the JSON into.

The human readable output is the same as before with one exception. Previously DEBUG would be printed if in debug mode, or nothing would be printed if in release mode. Now this is reported as a named option:

  build=DEBUG

or

  build=RELEASE

R=djsollen@google.com, bsalomon@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12465 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 18:16:48 +00:00
bungeman@google.com
0d9e3da8bb Use lowercase windows.h in includes to fix Windows cross compilation using mingw.
While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.

R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 15:23:37 +00:00
mtklein@google.com
4178ec0582 Fix off-by-one in four_byte_interp benches.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12451 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 00:01:03 +00:00
commit-bot@chromium.org
c25d2219cb Add four_byte_interp benches.
Desktop:
running bench [640 480] four_byte_interp_slow_256    NONRENDERING: cmsecs =      6.18
running bench [640 480] four_byte_interp_slow_255    NONRENDERING: cmsecs =      6.83
running bench [640 480] four_byte_interp_fast_256    NONRENDERING: cmsecs =      5.02
running bench [640 480] four_byte_interp_fast_255    NONRENDERING: cmsecs =      5.88

N5:
running bench [640 480] four_byte_interp_slow_256    NONRENDERING: cmsecs =     22.84
running bench [640 480] four_byte_interp_slow_255    NONRENDERING: cmsecs =     25.11
running bench [640 480] four_byte_interp_fast_256    NONRENDERING: cmsecs =     18.89
running bench [640 480] four_byte_interp_fast_255    NONRENDERING: cmsecs =     22.32

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12444 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:32:47 +00:00
commit-bot@chromium.org
4b413c8bb1 remove SkFloatToScalar macro
BUG=
R=reed@google.com, djsollen@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 19:44:07 +00:00
robertphillips@google.com
a4662865e3 More Windows 64b compilation warning fixes
https://codereview.chromium.org/47513017/



git-svn-id: http://skia.googlecode.com/svn/trunk@12337 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 14:24:16 +00:00
commit-bot@chromium.org
644629c1c7 Implement a benchmark for GrResourceCache
Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test
GrResourceCache::add and GrResourceCache::find. The tests work only
with GPU backends, since GrResourceCache needs an GrGpu.

Modifies bench tests to override SkBenchmark::isSuitableFor(Backend)
function that specifies what kind of backend the test is inteded
for. This replaces the previous "fIsRendering" flag that would
indicate test that did no rendering.

Adds SkCanvas::getGrContext() call to get the GrContext that the
canvas ends up drawing to. The member function solves a common
use-case that is also used in the benchmark added here.

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 06:21:58 +00:00
robertphillips@google.com
8c99c9f4a6 Reverting r12315 (More Windows 64b compilation warning fixes) due to compilation failures
git-svn-id: http://skia.googlecode.com/svn/trunk@12316 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:56:14 +00:00
robertphillips@google.com
80051d38a3 More Windows 64b compilation warning fixes
https://codereview.chromium.org/47513017/



git-svn-id: http://skia.googlecode.com/svn/trunk@12315 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 15:46:10 +00:00
djsollen@google.com
db490e9971 fix bench so that if SK_SUPPORTS_GPU even when not provided as compiler option
In the case that SK_SUPPORTS_GPU is not provided to the compiler the value is
eithe defined in in the SkUserConfig.h or SkPostConfig.h.  Prior to this change
those headers were not read prior to trying to include the GPU headers which
resulted in a failed compile.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12309 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 13:15:40 +00:00
commit-bot@chromium.org
a1a097ee81 increase coverage of SkPath.cpp, remove unused code
Using Mike Klein's excellent coverage tool, increase the
unit testing of SkPath.cpp from 70% to 95%.

Along the way, determined that these functions were not
maintained or used:

SkPath::pathTo
SkPath::contains

as well as a large block of SkPath::cheapGetDirection().

Changed SkPath::validate() to permit infinities in
the path data points.

Fixed errors in preserving direction.
Fixed error setting direction when convexity is unknown.

Added missing conic to moveTo only detector.

BUG=
R=bsalomon@google.com, reed@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12291 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 16:53:22 +00:00
jvanverth@google.com
21ca4339a6 Rebaseline bench expectations for tabl_theverge.skp_tile_256x256_grid.
git-svn-id: http://skia.googlecode.com/svn/trunk@12257 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 20:58:41 +00:00
scroggo@google.com
f4dcea6020 Make bench_compare executable.
(SkipBuildbotRuns)

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12243 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 15:25:31 +00:00
jvanverth@google.com
62454a6603 Update bench expectations.
git-svn-id: http://skia.googlecode.com/svn/trunk@12213 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 14:36:54 +00:00
robertphillips@google.com
6c1e49af8d Removed deprecated API calls that have crept in
git-svn-id: http://skia.googlecode.com/svn/trunk@12210 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-10 15:08:45 +00:00
senorblanco@chromium.org
27eec46d69 SSE2 implementation of RGBA box blurs. This yields ~2X perf improvement on Xeon ES-2690.
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12204 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:49:04 +00:00
commit-bot@chromium.org
11e5b972a9 Add sk_float_rsqrt with SSE + NEON fast paths.
Current numbers:

N4:
running bench [640 480]      math_fastIsqrt    NONRENDERING: cmsecs =      3.12
running bench [640 480]      math_slowIsqrt    NONRENDERING: cmsecs =      4.82
running bench [640 480] math_sk_float_rsqrt    NONRENDERING: cmsecs =      1.99

Desktop:
running bench [640 480]      math_fastIsqrt    NONRENDERING: cmsecs =      0.89
running bench [640 480]      math_slowIsqrt    NONRENDERING: cmsecs =      0.94
running bench [640 480] math_sk_float_rsqrt    NONRENDERING: cmsecs =      0.09

Haven't found any other benches where this is a significant effect yet.

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 20:14:16 +00:00
skia.committer@gmail.com
ab7442c8d7 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12186 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 07:01:56 +00:00
reed@google.com
126f7f5244 Revert "Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.""
This reverts commit 3c77887b3eb2d32ab668ab4e5f2f9e79103956e8.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12167 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 16:06:53 +00:00
scroggo@google.com
8610d2cdbd Fixes for blurroundrect gm/bench.
Simplify naming/various cases.
Have an atlas of gms, rather than several different images.
In the bench, pull non rendering out of the loop.
Use meaningful enums instead of integers where appropriate.
Add comments.

Addresses comments in https://codereview.chromium.org/52793005/

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12144 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 21:10:58 +00:00
scroggo@google.com
ec1a96c317 Another int to scalar fix.
git-svn-id: http://skia.googlecode.com/svn/trunk@12138 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 17:27:01 +00:00
scroggo@google.com
99e113beb2 And fix the similar bench.
git-svn-id: http://skia.googlecode.com/svn/trunk@12136 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 16:40:15 +00:00
scroggo@google.com
7b05659072 Add gms and benchmarks for drawing blurry round rects.
Further changes (https://codereview.chromium.org/48623006) will change
the speed at which the bench draws and the drawing of the gm (the gm
change is small).

One of these round rects causes slow drawing in a webpage that we have
observed.

BUG=https://b.corp.google.com/issue?id=11174385

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12133 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-05 15:57:21 +00:00
reed@google.com
84e922bfb3 Revert "speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values."
This reverts commit d615e839b71f75df895de6850b774a9e1c28ad2a.

Revert "must initialize SkDraw.fClip"

This reverts commit 108e46d29b5f57927fc8b8c403bb52019d8cb16d.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12122 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:57:36 +00:00
reed@google.com
6bf614fc23 must initialize SkDraw.fClip
git-svn-id: http://skia.googlecode.com/svn/trunk@12120 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:31:40 +00:00
reed@google.com
ac9d306a92 speed up A8 by creating a new entry-point in SkDraw that blits the path's coverage directly into an A8 target, regardless of the previous pixel values.
R=bsalomon@google.com, mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12118 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-04 20:10:33 +00:00
reed@google.com
2bd8b81005 move SkImage::ColorType into SkColorType
objective -- move clients over to SkImage

tasks
- use SkImageInfo instead of SkBitmap::Config
- add support for colortables to SkImage
- add drawImage to SkCanvas
- return SkImage from readPixels

This CL works towards the first task

R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12077 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 13:46:54 +00:00
reed@google.com
4469938e92 Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5 Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.

git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
BUG=
R=robertphillips@google.com, senorblanco@chromium.org, vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +00:00
skia.committer@gmail.com
70402c3168 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11992 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-29 07:01:50 +00:00
robertphillips@google.com
26e30c5223 Cleanup displacement bench
https://codereview.chromium.org/47553005/



git-svn-id: http://skia.googlecode.com/svn/trunk@11982 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-28 18:07:44 +00:00
commit-bot@chromium.org
4b7d673089 More clang warning fixes.
Mostly unused functions and variables removed.

BUG=None
TEST=ninja -C out/Debug most
     ninja -C out/Release most

R=bsalomon@google.com, caryclark@google.com, robertphillips@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11884 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 16:41:00 +00:00
reed@google.com
383a697692 store SkAlphaType inside SkBitmap, on road to support unpremul
BUG=
R=bsalomon@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11877 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 14:00:07 +00:00
commit-bot@chromium.org
34150b451d Clear out SK_SCALAR_IS_FLOAT from SkRadialGradient, and merge the logic for radial_mirror and radial_repeat.
New radial/repeated bench is 10-20x faster now using float instead of fixed; the rest are unaffected.

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11824 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 18:59:44 +00:00
robertphillips@google.com
e9cd27d4a3 Third wave of Win64 warning cleanup
https://codereview.chromium.org/27487003/



git-svn-id: http://skia.googlecode.com/svn/trunk@11817 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-16 17:48:11 +00:00
robertphillips@google.com
8b169311b5 Second wave of Win64 warning cleanup
https://codereview.chromium.org/27343002/



git-svn-id: http://skia.googlecode.com/svn/trunk@11778 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 17:47:36 +00:00
bensong@google.com
0d9e6defbc Changes bench to output with git hash filename; cleans up bench_graph_svg to only handle bench alerts; renames it to check_bench_regressions.
Review URL: https://codereview.chromium.org/26592010

git-svn-id: http://skia.googlecode.com/svn/trunk@11765 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-15 00:08:14 +00:00
commit-bot@chromium.org
2887119a63 save/restore the canvas around every bench draw call
BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11728

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

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 15:28:01 +00:00
commit-bot@chromium.org
1108fc3058 Remove SkLumaXfermode.
Possibly the shortest-lived Skia feature, SkLumaXfermode is now replaced
by a color filter implementation (SkLumaColorFilter). All known existing
clients (Blink) have been converted.

R=reed@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11750 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:11:11 +00:00
bungeman@google.com
fab44db294 Clean up SkTypes.h.
This change removes sk_stdint.h since it is only needed for vs2008 and earlier.
This change removes SK_MMAP_SUPPORT define since it is no longer used.
This change removes the stdio.h include from SkTypes.h since on many systems
this is a very large header, few Skia files actually use it, it is
available everywhere standard, and SkDebugf should be used instead.

After this change there is no need for external users to put Skia's
include/config into their own list of includes, saving the headache
of having two header files of the same name and sometimes getting the
wrong one depending on include order.

R=bsalomon@google.com, djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:50:45 +00:00
commit-bot@chromium.org
f8a6b20e76 save/restore the canvas around every bench draw call
BUG=
R=djsollen@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11728 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 15:20:29 +00:00
mtklein@google.com
c95e1e5d8f Temporarily disable FilterBitmapBenches while I fix it.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11718 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 21:27:17 +00:00
djsollen@google.com
dcfed6cecf fix warnings when running a no gpu build
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11710 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 18:48:27 +00:00
djsollen@google.com
4e1d4b3d23 fix mac10.6 build
Review URL: https://codereview.chromium.org/26882003

git-svn-id: http://skia.googlecode.com/svn/trunk@11708 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:50:52 +00:00
djsollen@google.com
a05bbfeaa6 rebaseline nexus7 perf improvement
Review URL: https://codereview.chromium.org/26884002

git-svn-id: http://skia.googlecode.com/svn/trunk@11707 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:42:20 +00:00
djsollen@google.com
70de4da331 Insert swapbuffers into GPU benchmarks.
R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11704 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 17:33:39 +00:00
commit-bot@chromium.org
96b128b760 rebaseline bench expectations
R=borenet@google.com, bsalomon@google.com

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11696 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 15:23:00 +00:00
reed@google.com
0a6151d66c Revert "Revert "change SkColorTable to be immutable""
This reverts commit b8162cb840f4cb6002ef68d5ac775c6a122c52a9.

Fixed was call-sites in benches that used the (now gone) setIsOpaque api.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11695 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 14:44:56 +00:00
commit-bot@chromium.org
aadb4d9a53 flush after every print in windows
R=djsollen@google.com, reed@google.com, epoger@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11670 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 15:09:42 +00:00
commit-bot@chromium.org
6c1ee2d4e7 Luminance-to-alpha color filter (SkLumaColorFilter).
Adding a color filter luma implementation. The plan is to convert
existing clients and then deprecate SkLumaXfermode.

R=bsalomon@google.com, reed@google.com, robertphillips@google.com

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11636 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 18:00:17 +00:00
commit-bot@chromium.org
b120bd986e Make all gradient benchs use the same repeat count.
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11634 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 17:18:21 +00:00
djsollen@google.com
7bf488401c Rebaseline test due to improvements in r11577
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11632 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 16:48:08 +00:00
skia.committer@gmail.com
d34f05806f Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11625 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-05 07:01:34 +00:00
commit-bot@chromium.org
86490573b5 commit to xfermode objects being immutable
BUG=
R=djsollen@google.com, mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11614 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-04 16:52:55 +00:00
scroggo@google.com
8d2392487c Add an option on SkImageDecoder to skip writing 0s.
Only implemented for PNG.

Add a getter and setter, and sets the default to false in the
constructor. Also copies the setting in copyFieldsToOther.

Fix an indpendent bug where fDitherImage was not being copied in
copyFieldsToOther.

In SkScaledBitmapSampler::begin, consolidate the settings passed in
by passing a const reference to the decoder. The decoder can be
referenced for its settings of dither, unpremultiplied, and now
skipping writing zeroes. Update callers to use the new API. In png
decoder, rather than passing around a pointer to an initial
read of getDitherImage, and potentially changing it, look at the
field on the decoder itself, and modify it directly. This is a
change in behavior - now if that same decoder is used to decode
a different image, the dither setting has changed. I think this is
okay because A) the typical use case is to use a new decoder for
each decode, B) we do not make any promises that a decode does not
change the decoder and C) it makes the code in SkScaledBitmapSampler
much cleaner.

In SkScaledBitmapScampler, add new row procs for skipping zeroes. Now
that choosing the row proc has five dimensions (src config, dst config,
dither, skip writing zeroes, unpremultiplied), use a new method: each
src/dst combination has a function for choosing the right proc depending
on the decoder.

SkScaledBitmapScampler::RowProc is now public for convenience.

Remove Sample_Gray_D8888_Unpremul, which is effectively no different
from Sample_Gray_D8888.

In cases where unpremultiplied was trivial, such as 565 and when
sampling from gray, decoding may now succeed.

Add a benchmark (currently disabled) for comparing the speed of skipping
writing zeroes versus not skipping. For this particular image, which is
mostly transparent pixels, normal decoding took about 3.6 milliseconds,
while skipping zeroes in the decode took only about 2.5 milliseconds
(this is on a Nexus 4). Presumably it would be slower on an image
with a small amount of transparency, but there will be no slowdown
for an image which reports that it has no transparency.

In SkImageRef_ashmem, always skip writing zeroes, since ashmem
memory is guaranteed to be initialized to 0.

Add a flag to skip writing zeroes in skimage.

Add a regression test for choosing the rowproc to ensure I did not
change any behavior accidentally.

BUG=skia:1661
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11558 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-01 17:27:15 +00:00
commit-bot@chromium.org
3400f4b00a Add 3 color variant to gradient bench, include scale in name, add more benchs
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-30 19:41:09 +00:00
mtklein@google.com
9cb5177619 Fix asan build. Duh, don't return a stack address...
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11497 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-27 13:39:14 +00:00
commit-bot@chromium.org
97b4b67ee7 Remove uses of unnamed namespace in bench/ directory.
Skia prefers to use static over unnamed namespace.

BUG=None
TEST=None, no functional changes.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11483 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 19:23:03 +00:00
commit-bot@chromium.org
2c86fbb0b1 Add SkDivMod with a special case for ARM.
BUG=skia:1663
R=djsollen@google.com, tomhudson@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11482 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-26 19:22:54 +00:00
scroggo@google.com
b90a2cacfe Fix a warning.
git-svn-id: http://skia.googlecode.com/svn/trunk@11462 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 22:01:17 +00:00
scroggo@google.com
111fd11e11 Bench baseline for mostly 0 image.
Add a baseline for decoding a mostly 0 image. This is in advance of
https://codereview.chromium.org/24269006/ which provides an option to
skip writing those 0s (as part of BUG=skia:1661). On my Nexus 4, the
benchmark does not slow down after that change.

As suggested in https://codereview.chromium.org/24269006/ add a
resourcePath flag to bench. Will require a change in buildbot in order
to actually use the flag.

Add an image used by the test.

Until https://codereview.chromium.org/24448002 is submitted,
the test will not actually be run by the bots (since it
won't know where to find the file).

BUG=skia:1661
R=djsollen@google.com, mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 21:42:12 +00:00
bensong@google.com
7d9a21bb36 Deletes bench_expectations.txt and change comments to refer to the new per-bot expectation files.
Review URL: https://codereview.chromium.org/23830009

git-svn-id: http://skia.googlecode.com/svn/trunk@11456 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-25 20:51:16 +00:00
reed@google.com
d28ba8010c promote SkImage::AlphaType to SkAlphaType
BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11421 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 19:33:52 +00:00
mtklein@google.com
519f9677a4 Add sk_calloc. Remove SkMemory_stdlib, which seems unused.
I'm seeing basically no difference between malloc + bzero and calloc on my desktop, but on a Galaxy Nexus calloc is never slower, and significantly faster once the allocation size becomes large, both for allocation and for _reading_.

BUG=skia:1662
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11414 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-20 14:31:45 +00:00
mtklein@google.com
b352627436 1) Don't allocate 100,000 ints when we only need 1,000.
2) Don't sort past the end of the array when using SkTQSort.
3) Don't allocate any arrays until we need them (in onDraw).

Also, propagate the constant N everywhere through the bench.

BUG=
R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11329 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 19:37:34 +00:00
mtklein@google.com
93d2f559b8 also limit loops-per-canvas in picture_record_dictionaries, which has the same problem as unique_paint
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11327 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 18:58:53 +00:00
bensong@google.com
1dd9194fc2 Splits bench_expectations into per-bot files in preparation for growth.
Next steps are switching bots to using per-bot expectations, and deleting the existing bench_expectations.txt.
Review URL: https://codereview.chromium.org/24075008

git-svn-id: http://skia.googlecode.com/svn/trunk@11323 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 17:21:02 +00:00
mtklein@google.com
5e5239ed35 switch to a new canvas every once in a while in picture_record_unique
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11321 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 17:14:25 +00:00
fmalita@google.com
ef45a646a7 [External patch] Source-over support for SkLumaXfermode.
This is a patch by Andrei Parvu <parvu@adobe.com> (Adobe CLA signer).

Original CL/review: https://codereview.chromium.org/24078006/

GM:lumamode will need rebaselining after landing this.

---

  In order to use CSS luminance masking, we need to be able to create an
  instance of SkLumaXfermode which can receive a kSrcOver mode, and applies
  that mode after converting the source using the luminance-to-alpha
  coefficients.

BUG=289420
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 13:09:16 +00:00
skia.committer@gmail.com
a604c4f971 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11309 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-17 07:01:20 +00:00
borenet@google.com
4e061d3f15 Allow use of "--config defaults" in bench, like GM
R=mtklein@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 19:12:19 +00:00
robertphillips@google.com
24ddde9758 Revert 11247, 11250, 11251, 11257, and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/)
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11257 Canary build fix - https://codereview.chromium.org/23532068
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015



git-svn-id: http://skia.googlecode.com/svn/trunk@11288 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 14:04:05 +00:00
robertphillips@google.com
ba6e954140 Revert the revert of 11247, 11250, 11251 and 11279 (Chrome already relies on changes in r11247)
git-svn-id: http://skia.googlecode.com/svn/trunk@11287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:40:12 +00:00
robertphillips@google.com
478884f7d3 Revert 11247, 11250, 11251 and 11279 to unblock DEPS roll (https://codereview.chromium.org/24159002/)
11279 Sanitizing source files in Housekeeper-Nightly - https://code.google.com/p/skia/source/detail?r=11279
11251 More warnings as errors fixes - https://code.google.com/p/skia/source/detail?r=11251
11250 Warnings as errors fix - https://code.google.com/p/skia/source/detail?r=11250
11247 Initial error handling code - https://chromiumcodereview.appspot.com/23021015



git-svn-id: http://skia.googlecode.com/svn/trunk@11285 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-16 13:19:11 +00:00
skia.committer@gmail.com
dc9888c409 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11279 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-14 07:01:34 +00:00
mtklein@google.com
9ef1d21dc8 OK windows, please take my infinity.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11272 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 20:39:50 +00:00
mtklein@google.com
dbd41c8857 It looks like we're not always running long enough to give the GPU counters time to converge (and possibly the same for CPU too, but GPU is definitely worse off).
This CL changes our convergence logic from
  - did the last run take more than x milliseconds?
to
  - did the last run take more x milliseconds and are the last two runs within y% of each other?

There's also now an upper limit where we bail out with an error if we haven't yet met the convergence criteria.  Keeping the lower bound is important for benches where the constant overhead is much larger than the work done in the loop; without it we'll see T(1 loop) == T(2 loops) and converge way too early.

This CL also exposed that DeferredCanvasBench had a bug: it was running N^2 loops when we told it to run N.  (My fault.)

I threw in a couple other linty changes that I'd be happy to split off.

BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11267 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 20:11:09 +00:00
mtklein@google.com
410e6e80f0 Refactoring: get rid of the SkBenchmark void* parameter.
While I was doing massive sed-ing, I also converted every bench to use DEF_BENCH instead of registering the ugly manual way.

BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11263 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 19:52:27 +00:00
robertphillips@google.com
96bf2b53f2 N7 Performance trigger rebaselines
git-svn-id: http://skia.googlecode.com/svn/trunk@11256 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 15:42:08 +00:00
mtklein@google.com
b87bf83f48 Add explicit double -> SkScalar conversion to fix werror on Windows.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11190 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 19:51:10 +00:00
mtklein@google.com
78d0379dcc Add missing dependency to unbreak NOGPU build.
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11188 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 19:42:07 +00:00
mtklein@google.com
c289743864 Major bench refactoring.
- Use FLAGS_.
   - Remove outer repeat loop.
   - Tune inner loop automatically.

BUG=skia:1590
R=epoger@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11187 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 19:23:38 +00:00
borenet@google.com
8ad29cea42 Fix bench logging for --repeat 1
Addressing https://code.google.com/p/skia/issues/detail?id=1607

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11181 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-10 17:22:43 +00:00
commit-bot@chromium.org
e0e7cfe44b Change old PRG to be SkLCGRandom; change new one to SkRandom
The goal here is to get people to start using the new random number
generator, while leaving the old one in place so we don't have to 
rebaseline GMs.

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11169 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 20:09:12 +00:00
skia.committer@gmail.com
b3ec29d2d8 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11143 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-07 07:01:16 +00:00
commit-bot@chromium.org
6485b0be74 Switch out random number generator for tests, benches, samples.
This change makes tests, benches and samples use the new SkMWCRandom PRNG. GMs will be saved for another time, as they'll require rebaselining.

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

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11136 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 19:05:11 +00:00
robertphillips@google.com
b7061176c7 Push sigma-based blur interface into our GMs/benches/tests/samplecode
https://codereview.chromium.org/23701006/



git-svn-id: http://skia.googlecode.com/svn/trunk@11129 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-06 14:16:12 +00:00
robertphillips@google.com
fd47a121dc Win7 Performance trigger rebaseline
git-svn-id: http://skia.googlecode.com/svn/trunk@11108 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 17:56:42 +00:00
mtklein@google.com
bd6343b1d6 Rewrite SkTRegistry to take any trivially-copyable type.
Obviously these are all currently function pointers of type T(*)(P) for various
T and P.  In bench refactoring, I'm trying to register a function pointer of
type T(*)(), which can't be done as is (passing P=void doesn't work).  This
also lets us register things like primitives, which is conceivable useful.

BUG=
R=reed@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 17:20:18 +00:00
commit-bot@chromium.org
5b2e2640ed Revise SVD code to remove arctangents.
Also added bench for timing matrix decomposition.

R=reed@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11066 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-03 19:08:14 +00:00
robertphillips@google.com
87d949938a Nexus7 Performace trigger baselines
git-svn-id: http://skia.googlecode.com/svn/trunk@11050 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-01 11:23:31 +00:00
skia.committer@gmail.com
e0c170f7bb Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@11049 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-31 07:01:28 +00:00
sglez@google.com
0d60db6010 Add missing .outs
Review URL: https://codereview.chromium.org/23567005

git-svn-id: http://skia.googlecode.com/svn/trunk@11042 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 18:54:54 +00:00
sglez@google.com
3e3cdadefd Fix rtree bench
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11041 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 18:38:53 +00:00
sglez@google.com
8c902126a9 R-Tree -- Don't sort draw commands unless specified.
We expect Webkit and Bink to give us draw commands in a reasonable x,y order.
We can maintain correctness and get a 17% recording speedup for the R-Tree by
not sorting in x and y when bulk-loading.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@11037 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 17:27:47 +00:00
robertphillips@google.com
73672254a3 Patch for 10995
git-svn-id: http://skia.googlecode.com/svn/trunk@10997 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 12:40:26 +00:00
robertphillips@google.com
1f2f338e23 Split SkDevice into SkBaseDevice and SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
commit-bot@chromium.org
515dcd3603 Replace uses of GR_DEBUG by SK_DEBUG.
BUG=None
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10978 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 14:17:03 +00:00
robertphillips@google.com
d162092bb4 Performance trigger rebaselines of theverge on Nexus7 for r10936 (Blur refactoring)
git-svn-id: http://skia.googlecode.com/svn/trunk@10975 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 12:37:31 +00:00
shawnsingh@chromium.org
63bf68df05 Add performance benchmark before landing perf improvements that remove sk_bezero in SkMatrix44
BUG=skia:1558
R=jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-28 05:07:26 +00:00
robertphillips@google.com
7ce661d19c Blur refactoring
https://codereview.chromium.org/21835004/



git-svn-id: http://skia.googlecode.com/svn/trunk@10936 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:14:03 +00:00
robertphillips@google.com
d3707a7559 Performance trigger rebaselines
git-svn-id: http://skia.googlecode.com/svn/trunk@10890 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-23 14:17:16 +00:00
commit-bot@chromium.org
eaa7797990 Add luminance mask transfer modes.
This adds kSrcInLum_Mode and kDstInLum_Mode, to support CSS and SVG luminance masks (http://www.w3.org/TR/css-masking/#MaskValues , http://www.w3.org/TR/SVG/masking.html#Masking ).

The transfer coefficient is computed according to http://www.w3.org/TR/2011/REC-SVG11-20110816/filters.html#feColorMatrixElement "luminance-to-alpha":

  luma = 0.2125 * r + 0.7154 * g + 0.0721 * b


R=bsalomon@google.com, reed@google.com, robertphillips@google.com, vandebo@chromium.org

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10887 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-23 13:13:12 +00:00
mtklein@google.com
330313a8a8 My clang now doesn't complain about !"foo".
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
robertphillips@google.com
3c3c46238d Bleed cleanup (remove nocolorbleed GM & enable bleed in game bench)
https://codereview.chromium.org/23264014/



git-svn-id: http://skia.googlecode.com/svn/trunk@10853 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 16:30:39 +00:00
robertphillips@google.com
eecbe50173 Nexus 7 Performance trigger rebaselines
git-svn-id: http://skia.googlecode.com/svn/trunk@10843 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 12:08:18 +00:00
commit-bot@chromium.org
9504575438 Add perf benchmarks and more unit tests for matrix inversion
R=jvanverth@google.com, reed@google.com

Author: shawnsingh@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10836 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:15:24 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
scroggo@google.com
287068c37f Refer to the correct file for rebaselining benches.
The file has moved, so update the instructions in the
expectations file.

R=bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10799 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-19 18:51:32 +00:00
robertphillips@google.com
ece1a77aa5 Win7 performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10787 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 19:48:40 +00:00
robertphillips@google.com
c671497f51 Ubuntu flaky performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10770 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 15:01:03 +00:00
skia.committer@gmail.com
c9917c0545 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10764 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 07:01:49 +00:00
commit-bot@chromium.org
8f4269725b This bench attempts to recreate Chromium's Canvas_putImageData performance test to track down https://code.google.com/p/chromium/issues/detail?id=270649.
Cranking the repitition count up to 500 on a MacPro yields:

WITHOUT 10624:
running bench [640 480]            writepix_rgba_UPM  8888: cmsecs = 748.25   GPU: cmsecs = 225.95 gmsecs = 244.80
running bench [640 480]             writepix_rgba_PM  8888: cmsecs =  54.12   GPU: cmsecs = 225.77 gmsecs = 244.59

WITH 10624:
running bench [640 480]            writepix_rgba_UPM  8888: cmsecs = 747.70   GPU: cmsecs = 230.30 gmsecs = 249.51
running bench [640 480]             writepix_rgba_PM  8888: cmsecs =  55.05   GPU: cmsecs = 230.13 gmsecs = 249.38

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10761 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 00:40:34 +00:00
robertphillips@google.com
6ad3bb98f6 Performance trigger rebaselines
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-15 13:55:00 +00:00
bensong@google.com
04507b9fd9 Deletes warning on no graph outputs, since we don't output graphs anymore.
Review URL: https://codereview.chromium.org/23071002

git-svn-id: http://skia.googlecode.com/svn/trunk@10717 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 18:37:27 +00:00
robertphillips@google.com
b8d34542cd Nexus 7 performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10711 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 15:43:18 +00:00
robertphillips@google.com
459f57da84 Another Win7 performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10710 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 15:40:30 +00:00
robertphillips@google.com
531d8d120f Win7 performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10702 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 11:35:25 +00:00
robertphillips@google.com
fa5723a106 Nexus 7 performance trigger rebaselines
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10695 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-13 17:26:59 +00:00
epoger@google.com
e657a25df7 bench_util: allow optional whitespace in CSV format
BUG=https://code.google.com/p/skia/issues/detail?id=1500
R=bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-13 15:12:33 +00:00
robertphillips@google.com
36bb270c1e Revert of r10671 (Experiments on calculating reciprocal of square root) due to bots failures:
Win7: http://108.170.217.252:10117/builders/Build-Win7-VS2010-x86-Debug/builds/715/steps/BuildMost/logs/stdio
Win8: http://108.170.217.252:10117/builders/Build-Win8-VS2012-x86-Debug/builds/383/steps/BuildMost/logs/stdio
Mac10.6: http://108.170.217.252:10117/builders/Build-Mac10.6-GCC-x86-Debug/builds/1259/steps/BuildMost/logs/stdio



git-svn-id: http://skia.googlecode.com/svn/trunk@10672 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 12:02:28 +00:00
commit-bot@chromium.org
b3ecdc464e Experiments on calculating reciprocal of square root
BUG=
R=reed@google.com, rmistry@chromium.org, bsalomon@google.com, tomhudson@chromium.org, tomhudson@google.com

Author: yang.gu@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10671 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 08:37:51 +00:00
bensong@google.com
eac275932e r10473 introduced a space between bench values; adjusting the corresponding regexp. (SkipBuildbotRuns).
Review URL: https://codereview.chromium.org/22447004

git-svn-id: http://skia.googlecode.com/svn/trunk@10670 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-11 21:59:01 +00:00
commit-bot@chromium.org
cb62224996 Removing deprecated constructors and setDevice from SkDeferredCanvas
R=senorblanco@google.com, senorblanco@chromium.org
BUR=crbug.com/270143

Author: junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 14:24:59 +00:00
robertphillips@google.com
cbdcbd0b88 Nexus 7 Performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10653 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 12:43:02 +00:00
robertphillips@google.com
69cc600e10 N7 Performance Trigger rebaselines
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10557 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 12:20:38 +00:00
robertphillips@google.com
078dcf2c50 Ubuntu Performance trigger rebaseline
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10555 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 12:17:53 +00:00
robertphillips@google.com
75217ab1eb N7 Performance trigger rebaselines
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10525 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-04 15:00:58 +00:00
bsalomon@google.com
aade2e1e19 Add fullscreen rect bench
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10510 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-02 14:39:25 +00:00
commit-bot@chromium.org
7fb83c8c72 When skia run bench cases to test performance, it will run constructors for all cases one by one, then getName to skip unnecessary cases according to command line parameters, so these constructors should be lightweight enough to avoid redundant computing. Unfortunately, some constructors contain intensive computing/rendering. They are very heavy, maybe much heavier than need-to-run bench case itself. And these redundant computation will be run every time you run bench, even you just test a single simple case. Moreover, it will mislead the real hotspot/bottleneck of the case itself.
For example, run a lightweight case, say, region_intersectsrgn_16, the hot spots are gles operation, SuperBlitter, SkRTree... introduced by irrelevant cases' constructors. These redundant computation will mislead performance tuning. 
So we can move these intensive computation to onPreDraw() of these case. They will be executed only if this case should be run.

R=reed@google.com, robertphillips@google.com, humper@google.com, tomhudson@chromium.org

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10486 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 15:58:07 +00:00
senorblanco@chromium.org
350b4d50ea Remove SkBlendImageFilter, and all tests. Its functionality has been subsumed by SkXfermodeImageFilter.
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10482 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 14:59:05 +00:00
robertphillips@google.com
34a3e9b531 N7 performance trigger rebaselines
(SkipBuildbotRuns)



git-svn-id: http://skia.googlecode.com/svn/trunk@10478 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 12:08:58 +00:00
skia.committer@gmail.com
5d4b7733ae Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10477 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 07:01:05 +00:00
commit-bot@chromium.org
55fd612adf Committed: http://code.google.com/p/skia/source/detail?r=10372
R=borenet@google.com, bungeman@google.com, robertphillips@google.com, scroggo@google.com, sglez@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10473 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 20:00:56 +00:00
bsalomon@google.com
f3f2d1619e set nominmax on windows
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10470 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 18:52:31 +00:00
robertphillips@google.com
631a59b939 added drawVertices path to GameBench
https://codereview.chromium.org/21168006/



git-svn-id: http://skia.googlecode.com/svn/trunk@10459 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 14:57:53 +00:00