Commit Graph

1132 Commits

Author SHA1 Message Date
humper
5fc226641a Benchmark designed to exercise fractional image scale/translation
BUG=skia:
R=reed@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/491793003
2014-08-25 11:17:48 -07:00
reed
233c295980 fix numerical overflows in 565 blends
BUG=skia:2797
R=mtklein@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/474983007
2014-08-22 07:27:14 -07:00
tfarina
efafe9484f Cleanup: Remove BenchTool xcode project file.
BUG=None
TEST=None
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/491263003
2014-08-22 05:42:44 -07:00
mtklein
2084050a33 Add --bbh (default true) to nanobench.
Chrome's using a bounding box, so it's a good idea for our
bots to do so too.

When set, we'll create an SkTileGrid to match the
parameters of --clip, and so should always hit its fast
path.

This will impose a small overhead (querying the BBH) on all
SKPs, but make large SKPs render more quickly.  E.g. on
GPU desk_pokemonwiki should show about a 30% improvement,
tabl_mozilla about 40%, and one very long page from my
personal suite, askmefast.com, gets 5x faster.

(The performance changes are not the point of the CL, but
something we should be aware of.)

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/497493003
2014-08-21 15:51:22 -07:00
reed
04617139f7 expose generalized imagecache key
BUG=skia:
R=mtklein@google.com, halcanary@google.com, qiankun.miao@intel.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/483493003
2014-08-21 09:46:49 -07:00
mtklein
1915b62637 Add --properties for things like gitHash that describe the current nanobench run.
--key describes the type of run (describes the line on the chart), --properties
describes the run itself (describes the dot on the chart).

We'll pass --properties gitHash <git hash> build_number <build number>  --key
... to nanobench from the bots.

And... delete a whole lot of dead code.

Example: nanobench --properties gitHash foo build_number 1234 --key bar baz

{
   "build_number" : "1234",
   "gitHash" : "foo",
   "key" : {
      "bar" : "baz"
   },
   "results" : {
....

Friends with https://codereview.chromium.org/491943002
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/488213002
2014-08-20 11:45:00 -07:00
mtklein
753b870c62 Define NDEBUG instead of SK_DEBUG/SK_RELEASE.
This makes our builds more like Chrome's, and will make our builds fail
if we accidentally use if SK_DEBUG instead of ifdef SK_DEBUG.

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/481513004
2014-08-20 07:38:46 -07:00
mtklein
afb4379dbc Print max RSS in GM and nanobench too.
Everyone used MB, so update the API to just return that.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/483323002
2014-08-19 15:55:55 -07:00
mtklein
94e51567dd Add --options to nanobench, similar to --key but for non-identifying options.
Friends with https://codereview.chromium.org/487233003/

Example of out/Release/nanobench --options build_number 12374 --match patch_grid_texs_small

{
   "gitHash":"unknown-revision",
   "options":{
      "build_number":"12374",
      "system":"UNIX"
   },
   "results":{
      "patch_grid_texs_small_640_480":{
         "565":{
            "max_ms":0.268116,
            "mean_ms":0.2318529,
            "median_ms":0.235337,
            "min_ms":0.219158,
            "options":{
               "source_type":"bench"
            },
            "stddev_ms":0.01491263917658814
         },
         "8888":{
            "max_ms":0.231881,
            "mean_ms":0.2214668,
            "median_ms":0.219356,
            "min_ms":0.218887,
            "options":{
               "source_type":"bench"
            },
            "stddev_ms":0.004595541070791701
         },
         "gpu":{
            "max_ms":0.1398304782608696,
            "mean_ms":0.128833402173913,
            "median_ms":0.1316798695652174,
            "min_ms":0.1111915434782609,
            "options":{
               "GL_RENDERER":"Quadro 600/PCIe/SSE2",
               "GL_SHADING_LANGUAGE_VERSION":"4.40 NVIDIA via Cg compiler",
               "GL_VENDOR":"NVIDIA Corporation",
               "GL_VERSION":"4.4.0 NVIDIA 331.79",
               "source_type":"bench"
            },
            "stddev_ms":0.008923738937837156
         }
      }
   }
}

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/490683002
2014-08-19 12:41:56 -07:00
dandov
7e5598a004 Added bench for grid of patches.
It is on top of my previous cl to fix the mem leaks of the regular patch bench.

NOTREECHECKS=true
BUG=skia:
R=egdaniel@google.com, bsalomon@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/470543004
2014-08-15 13:30:47 -07:00
bsalomon
87c35adbda Remove aarects benchmark. Redundant with rotated_rects* bench and *much* slower.
NOTREECHECKS=true
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/469373003
2014-08-14 13:03:58 -07:00
bsalomon
a7f79b47fa remove internal repeat count from gradient benches
NOTREECHECKS=true
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/476923002
2014-08-14 12:24:46 -07:00
krajcevski
12b3544028 Add runtime flag to turn compressed alpha masks on
R=bsalomon@google.com, robertphillips@google.com, mtklein@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/468293002
2014-08-13 12:06:26 -07:00
krajcevski
69a5560ea5 Add entry point for passing options to the GrContextFactory
R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/465073002
2014-08-13 10:46:31 -07:00
mtklein
e556be7084 Don't leak the shader in PatchBench.
BUG=skia:
R=dandov@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/465083003
2014-08-13 10:41:16 -07:00
dandov
b3c9d1c33c SkCanvas::drawPatch param SkPoint[12]
drawPatch now receives as parameter const SkPoint cubics[12]

Adjusted derived classes and serialization.

Ajusted GM's and benches that take into account combinations of optional
parameters, the scale of the patch and 4 different types of patches.

Planning on adding the extra functionality of SkPatch in another CL.

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

Author: dandov@google.com

Review URL: https://codereview.chromium.org/463493002
2014-08-12 08:34:29 -07:00
joshualitt
5acfea789d 2D kernel initial wiring for Guassian
BUG=skia:
R=senorblanco@chromium.org, bsalomon@chromium.org, bsalomon@google.com

Author: joshualitt@chromium.org

Review URL: https://codereview.chromium.org/418223009
2014-08-11 13:55:34 -07:00
Mike Klein
e530eb370c Restore bench_util.py
BUG=skia:2819

Review URL: https://codereview.chromium.org/450253003
2014-08-08 17:28:53 -04:00
bsalomon
6563562cb6 Make the rotated rects bench allow more alpha/color variations and an arbitrary xfermode::mode.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/448253002
2014-08-08 07:43:29 -07:00
mtklein
b511042bb0 Fix iOS build by centralizing --writePath.
CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot

BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/452633002
2014-08-07 15:20:02 -07:00
bsalomon
6eb03cc06d Add option to dump images from nanobench.
Add option to set the repeat count to any number, replacs the --runOnce flag.

R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/450743002
2014-08-07 14:28:50 -07:00
bsalomon
3b4d077fba Add angle config to nanobench and make angle a default config for dm and nanobench.
NOTREECHECKS=true
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/441333003
2014-08-06 10:52:34 -07:00
mtklein
be21e3432e Bye bye bench.
NOTREECHECKS=true

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/442343004
2014-08-06 08:39:38 -07:00
mtklein
2069e22003 Fix calibration loop failure condition.
With the old logic, if the last attempt succeeded, we'd say we failed.

We also print two lines for loop calibration failures.  Quiet that down.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/431503004
2014-08-04 13:57:39 -07:00
mtklein
6e33e232df Skip all .skps in 565.
More SKPs are failing with a 565 target on other platforms:

http://108.170.220.120:10117/builders/Test-Win7-ShuttleA-HD2000-x86-Debug/builds/2938/steps/RunNanobench/logs/stdio

BUG=skia:2797
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/431983006
2014-08-01 08:23:39 -07:00
mtklein
92007583e4 SKPs-as-benches in nanobench
This is meant to replace bench_pictures.

CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Release-iOS-Trybot

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/425393004
2014-08-01 07:46:53 -07:00
mtklein
e714e75c72 nanobench: support GMs-as-benches
BUG=skia:
R=jcgregorio@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/438683002
2014-07-31 12:13:48 -07:00
bsalomon
3342ed55e1 Add rotated rects benchmarks
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/425263003
2014-07-30 08:58:20 -07:00
tfarina
a8e2e1504b Cleanup: Rename SkOSPath functions.
Mostly for brevity and matches better with Python:

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

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

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
bsalomon
2354f8432a Test abandoning GL context in dm/nanobench.
Rename GrContext::contextDestroyed to GrContext::abandonContext.

Remove GrContext::resetContext.

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/422903002
2014-07-28 13:48:36 -07:00
bungeman
d6aeb6dc8f Fix thread unsafe mutex initialization.
BUG=skia:2779
R=robertphillips@google.com, mtklein@google.com, reed@android.com, bsalomon@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/419113002
2014-07-25 11:52:48 -07:00
bsalomon
6d3fe022d6 Rename GrGpuObject to GrGpuResource
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/418143004
2014-07-25 08:35:45 -07:00
kelvinly
570c392a00 Fix the other microbench schema
BUG=skia:
R=bensong@google.com, jcgregorio@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/420723004
2014-07-25 08:30:11 -07:00
bsalomon
c44be0e9e4 Merge GrGpuObject and GrCacheable.
We want to create a new base class for "meta" gr resources as part of the GrResourceCache rewrite and this is an iterim step towards that goal.s

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/414013005
2014-07-25 07:32:33 -07:00
bsalomon
c2553373ee Make nanobench setup configs outside of loop over benchmarks
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/410683005
2014-07-22 13:09:05 -07:00
caryclark
17f0b6df72 share dm and command flags
Share command flags between dm and unit tests.
Also, allow dm's core to be included by itself and iOSShell.

Command line flags that are the same (or nearly the same) in DM
and in skia_tests have been moved to common_flags. Authors,
please check to see that the shared common flag is correct for
the tool.

For iOS, the 'tool_main' entry point has a wrapper to allow multiple
tools to be statically linked in the iOSShell.
Since SkCommandLineFlags::Parse can only be called once, these calls
are disabled in the IOS build.

Since the iOS app directory is dynamically assigned a name, use '@' to
select it. (This is the same convention chosen by the Mobile Harness
iOS file system utilities.)

Move the heart of dm.gyp into dm.gypi so that it can be included by
itself and iOSShell.gyp.

Add tools/flags/SkCommonFlags.* to define and declare common
command line flags.

Add support for dm to iOSShell.

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

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/389653004
2014-07-22 10:15:35 -07:00
egdaniel
02cafcc1bf Remove gpu shader optimatization for solid white or trans black colors
Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths.

With optimization in (ms):
         White       Blue        Checkered
Linux    ~80         ~80         ~160
N7       ~800        ~1100       ~1500
Moto-e   ~830        ~1100       ~2500

Without optimization in (ms):
         White       Blue        Checkered
Linux    ~80         ~80         ~80
N7       ~1100       ~1100       ~1100
Moto-e   ~1100       ~1100       ~1500

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/5f78d2251a440443c9eaa321dad058d7a32bfef7

R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/375823005
2014-07-21 11:37:28 -07:00
jcgregorio
05c4560ab3 Fix GLubyte to GrGLubyte.
BUG=skia:
R=mtklein@google.com

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/405433008
2014-07-17 13:54:36 -07:00
jcgregorio
bf5e5237b8 Change JSON output of nanobench.
We're moving away from BigQuery for storing results so the output doens't have to conform to BQ requirements, which allows simplifying the format. Also stop parsing the filename for information and pass in buildbot parameters explicitly.

Adds the following flags to nanobench:

  --key
  --gitHash

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

Author: jcgregorio@google.com

Review URL: https://codereview.chromium.org/392393002
2014-07-17 13:14:17 -07:00
mtklein
04d53a5cd5 Revert of nanobench: --veryVerbose for more Win7 debugging (https://codereview.chromium.org/401663002/)
Reason for revert:
Shouldn't be needed anymore.

Original issue's description:
> nanobench: --veryVerbose for more Win7 debugging
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/e57452d

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/404543004
2014-07-17 11:23:07 -07:00
Mike Klein
e57452debd nanobench: --veryVerbose for more Win7 debugging
BUG=skia:

Review URL: https://codereview.chromium.org/401663002
2014-07-17 13:19:22 -04:00
mtklein
55b0ffc486 nanobench: Protect more against infinite loops.
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/404543002
2014-07-17 08:38:23 -07:00
halcanary
805ef159d1 Set maximum output size for scaled-image-cache images
Accessable via:
  SkScaledImageCache::{G,S}etMaximumOutputSizeForHighQualityFilter

Also, a unit test.

BUG=389439
R=humper@google.com, tomhudson@google.com, reveman@chromium.org, vangelis@chromium.org, reed@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/394003003
2014-07-17 06:58:01 -07:00
Mike Klein
3f376a5500 (temporarily?) disable no-oped benches
BUG=skia:

Review URL: https://codereview.chromium.org/391343007
2014-07-16 20:23:43 -04:00
Mike Klein
912947737a Use __rdtsc on Windows.
This seems to be ~100x higher resolution than QueryPerformanceCounter.  AFAIK, all our Windows perf bots have constant_tsc, so we can be a bit more direct about using rdtsc directly: it'll always tick at the max CPU frequency.

Now, the question remains, what is the max CPU frequency to divide through by?  It looks like QueryPerformanceFrequency actually gives the CPU frequency in kHz, suspiciously exactly what we need to divide through to get elapsed milliseconds.  That was a freebie.

I did some before/after comparison on slow benchmarks.  Timings look the same.  Going to land this without review tonight to see what happens on the bots; happy to review carefully tomorrow.

R=mtklein@google.com
TBR=bungeman

BUG=skia:

Review URL: https://codereview.chromium.org/394363003
2014-07-16 19:59:32 -04:00
Mike Klein
e3631364e9 Try to debug Windows infinite loops in nanobench.
NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/396753004
2014-07-15 17:56:37 -04:00
Mike Klein
3944a1d237 destroyContexts after each bench instead of before
BUG=skia:

Review URL: https://codereview.chromium.org/394893002
2014-07-15 13:40:19 -04:00
mtklein
6238688af0 Give windows boring bars and use 'us' for microseconds.
NOTREECHECKS=true

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/393673006
2014-07-15 10:30:31 -07:00
mtklein
1e319f7342 Add --resetGpuContext to both DM and nanobench.
Defaulting to true to be conservative for now.

BUG=skia:

NOTREECHECKS=true
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/398483005
2014-07-15 08:27:06 -07:00
mtklein
a189ccdb4d nanobench: add --runOnce.
BUG=skia:
R=egdaniel@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/392583005
2014-07-14 12:28:48 -07:00
mtklein
60317d0ffb nanobench: support --outResultsFile
BUG=skia:
R=kelvinly@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/390933002
2014-07-14 11:30:37 -07:00
mtklein
5d9d10e821 nanobench: add a cute bar chart
Give this a try?  Helpful, or gets in the way?

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/390483002
2014-07-11 11:57:07 -07:00
scroggo
fa04776d3a Use unpremul for premul_and_unpremul_alpha_ bench.
Using the wrong color type resulted in invalid colors.

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

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/382243005
2014-07-11 10:45:11 -07:00
egdaniel
c855ca0c94 Revert of Remove gpu shader optimatization for solid white or trans black colors (https://codereview.chromium.org/375823005/)
Reason for revert:
possible test and gm failures

Original issue's description:
> Remove gpu shader optimatization for solid white or trans black colors
>
> Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths.
>
> With optimization in (ms):
>          White       Blue        Checkered
> Linux    ~80         ~80         ~160
> N7       ~800        ~1100       ~1500
> Moto-e   ~830        ~1100       ~2500
>
> Without optimization in (ms):
>          White       Blue        Checkered
> Linux    ~80         ~80         ~80
> N7       ~1100       ~1100       ~1100
> Moto-e   ~1100       ~1100       ~1500
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/5f78d2251a440443c9eaa321dad058d7a32bfef7

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

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/385163004
2014-07-11 09:13:37 -07:00
egdaniel
5f78d2251a Remove gpu shader optimatization for solid white or trans black colors
Running test on the added bench which draws a grid of all white paths, all blue paths, or alternating checkered white/blue paths.

With optimization in (ms):
         White       Blue        Checkered
Linux    ~80         ~80         ~160
N7       ~800        ~1100       ~1500
Moto-e   ~830        ~1100       ~2500

Without optimization in (ms):
         White       Blue        Checkered
Linux    ~80         ~80         ~80
N7       ~1100       ~1100       ~1100
Moto-e   ~1100       ~1100       ~1500

BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/375823005
2014-07-11 08:57:40 -07:00
bsalomon
00a8fae0ce Add support for 64bit atomic inc/dec/cas
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/377073002
2014-07-11 08:42:11 -07:00
mtklein
67a3271f0d Slim Skia down to just one murmur3 implementation.
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/6ac0037b70410ff7d5ce5788bc89314223e1a587

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/376183004
2014-07-10 06:03:46 -07:00
mtklein
1feac79203 Revert of Slim Skia down to just one murmur3 implementation. (https://codereview.chromium.org/376183004/)
Reason for revert:
Valgrind unhappy.  skia:2735

Original issue's description:
> Slim Skia down to just one murmur3 implementation.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/6ac0037b70410ff7d5ce5788bc89314223e1a587

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/378413002
2014-07-09 14:18:52 -07:00
kelvinly
762c718824 Remove useless options from bench
BUG=skia:
R=jcgregorio@google.com, bensong@google.com, bsalomon@google.com, robertphillips@google.com, reed@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/375863006
2014-07-09 12:25:27 -07:00
mtklein
6ac0037b70 Slim Skia down to just one murmur3 implementation.
BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/376183004
2014-07-09 08:49:08 -07:00
mtklein
40b32be371 nanobench: add median and --cpu/--gpu
BUG=skia:
R=krajcevski@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/377283002
2014-07-09 08:46:50 -07:00
bsalomon
69456186f7 gpu and cpu flags for gm and bench.
BUG=skia:2074
R=borenet@google.com, mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/376643002
2014-07-07 10:46:59 -07:00
tfarina
c846f4a96b Cleanup usage of GetResourcePath() after commit bcbc1788b4.
There was a clean up opportunity left over after
https://skia.googlesource.com/skia/+/bcbc1788b478b1e54079318ad073e8490aa66fae, that could make use of the default parameter of GetResourcePath() function to make some call sites cleaner.

We decided to make it in a separate CL to make reviewer's and author's life easier, so we could catch errors and/or mistakes easily.

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

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/351133003
2014-07-01 12:35:49 -07:00
mtklein
9bc86ed052 Hey, maybe we should _call_ glFinish.
BUG=skia:

CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-x86-Debug-Trybot
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/345063004
2014-07-01 10:02:43 -07:00
mtklein
bb6a028239 draft gpu support in nanobench
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/359473004
2014-07-01 08:43:42 -07:00
mtklein
170e00d640 Have Clang builders build in C++11 mode.
This ought to get us a little ahead on the transition.  Only minor fixes
are needed.  The one in MemoryBench is the most interesting: what used
to unambiguously be interpreted as concatenating two string literals is
now also ambiguously a user-defined literal; adding a space
disambiguates.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/361723002
2014-06-30 12:33:11 -07:00
reed
52d9ac6c92 stop calling SkCanvas::getDevice
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/355193006
2014-06-30 09:05:34 -07:00
kkinnunen
80549fcdd5 Support using OpenGL ES context on desktop
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.

Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/319043005
2014-06-30 06:36:31 -07:00
reed
bae704b050 add rowbytes option to allocPixels
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/345263005
2014-06-28 14:26:36 -07:00
reed
8c0c7b0bcd remove unnecessary bitmapdevice references
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/354143004
2014-06-27 05:49:54 -07:00
kelvinly
f8364155c6 Fix scale type in JSON format
BUG=skia:
R=bensong@google.com, jcgregorio@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/354953007
2014-06-26 15:39:31 -07:00
kelvinly
4d1a364e39 Make SKP bench JSON ouput better
BUG=skia:
NOTREECHECKS=true
R=bensong@google.com, jcgregorio@google.com, bsalomon@google.com, robertphillips@google.com, rmistry@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/329993008
2014-06-26 11:26:41 -07:00
senorblanco
7bf1068473 Remove SkBicubicImageFilter, and all related tests.
Now that we have SkResizeImageFilter, and the bicubic
resizing is part of skia proper, there's no need for a
specialized image filter.

BUG=skia:
R=bsalomon@google.com

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/357793002
2014-06-25 14:39:06 -07:00
mtklein
f372321de3 Add nanobench, a fresh look at our microbenchmark harness.
out/Release/nanobench runs 4-5x faster on my Z620 and ~2x faster on my N5 than out/Release/bench with the same configs.

(Debug isn't really comparable.  I haven't added the Debug -> single loop check.)

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/347443002
2014-06-25 14:08:00 -07:00
mtklein
474cef4c55 Disable bogus _scaled benches until we can figure out why they're bogus.
BUG=skia:
R=halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/357513006
2014-06-24 15:19:26 -07:00
mtklein
32492e8204 delete disabled bench
BUG=skia:
R=tomhudson@google.com, mtklein@google.com, junov@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/354693003
2014-06-24 14:16:50 -07:00
borenet
332600fb43 Bench: Change default maxMs from 4s to 1s.
Speculative fix for Android crashes.

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

Author: borenet@google.com

Review URL: https://codereview.chromium.org/346263011
2014-06-24 12:40:01 -07:00
kelvinly
b0203e5b22 Add schemas to Skia repo
BUG=skia:
R=bensong@google.com, jcgregorio@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/332663005
2014-06-23 09:02:38 -07:00
rmistry
05ead8afe5 Revert of Support using OpenGL ES context on desktop (https://codereview.chromium.org/319043005/)
Reason for revert:
Caused segmentation fault on many builders. Please see reverted CL's msg #21 for details.

Original issue's description:
> Support using OpenGL ES context on desktop
>
> Support using OpenGL ES context on desktop for unix and Android platforms. This
> is mainly useful in development.
>
> Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
> possible parameters for the flag are "gl" and "gles".
>
> Committed: https://skia.googlesource.com/skia/+/74fc727dc88ee24d89f88cb1709f963e9073aeb3

R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com, kkinnunen@nvidia.com
TBR=bsalomon@google.com, kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/351583002
2014-06-23 06:13:46 -07:00
kkinnunen
74fc727dc8 Support using OpenGL ES context on desktop
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.

Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".

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

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/319043005
2014-06-22 22:56:54 -07:00
reed
bbf3e8982d optimize circularclips to act as a bench, fix null-check bug in etcbench
BUG=skia:
R=krajcevski@google.com, rmistry@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/345183003
2014-06-20 11:33:59 -07:00
mtklein
9ac68ee259 Move BenchTimer to tools as Timer
This breaks a bunch of circular dependencies between tools and gm and bench.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/4ed75287aed6371c6e4a41ffcc78c8a49c9810ed

CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot,Test-Ubuntu12-ShuttleA-GTX660-x86-Debug-Trybot
R=tfarina@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/344213003
2014-06-20 11:29:21 -07:00
mtklein
9e64b78ff6 Revert of Move BenchTimer to tools as Timer (https://codereview.chromium.org/344213003/)
Reason for revert:
GpuTimer broken

Original issue's description:
> Move BenchTimer to tools as Timer
>
> This breaks a bunch of circular dependencies between tools and gm and bench.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4ed75287aed6371c6e4a41ffcc78c8a49c9810ed

R=tfarina@chromium.org, mtklein@chromium.org
TBR=mtklein@chromium.org, tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/346753003
2014-06-20 10:43:07 -07:00
mtklein
4ed75287ae Move BenchTimer to tools as Timer
This breaks a bunch of circular dependencies between tools and gm and bench.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/344213003
2014-06-20 10:31:49 -07:00
krajcevski
f461a8fdf6 Simple GPU based dithering:
If dithering is turned on, apply an effect that filters the pixel through
the following pipeline:

for each channel c:
  1. Compute quantized colors [low, high] that c is between
  2. Pick high by flipping a coin weighted by (c - low)

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

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/321253002
2014-06-19 14:14:06 -07:00
tfarina
f168b86d7f Remove Sk prefix from some bench classes.
This idea came while commenting on
https://codereview.chromium.org/343583005/

Since SkBenchmark, SkBenchLogger and SkGMBench are not part of the Skia library,
they should not have the Sk prefix.

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

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/347823004
2014-06-19 12:32:29 -07:00
tfarina
bcbc1788b4 Refactor how we handle resources path in Tests.
This idea emerged while doing https://codereview.chromium.org/321723002/
(commit 880914c35c).

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

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/346453002
2014-06-18 14:32:49 -07:00
mtklein
30e6e2af14 Add basic stacktrace handler using libunwind.
This means we will all have to apt-get install libunwind8-dev on Linux.  Mac comes with everything we need already.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/343583005
2014-06-18 11:44:18 -07:00
scroggo
f01a6c3663 In Android framework, make tools depend on jsoncpp
Always build the tools with JSON, but either build our own
or use the system's.

Rename skia_build_json_writer to skia_use_system_jsoncpp,
since we now always build with JSON.

Remove SK_BUILD_JSON_WRITER, which was only there so
we could build without JSON it in the framework.

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

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/303913002
2014-06-18 10:31:40 -07:00
mtklein
683e90611c Remove SkBenchmark::postDraw.
Only one bench used this feature, and it's for things that'd be done by the
destructor anyway.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/329853007
2014-06-18 07:15:49 -07:00
mtklein
4c07b6b58f BenchSysTimer_mach drops all sub-ms precision. Fix that!
BUG=skia:
R=bungeman@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/336903005
2014-06-17 07:06:29 -07:00
mtklein
90c471e73f Refine bench_record and bench_playback:
- use high-precision wall timer only
  - warm caches once before measuring
  - measure independent samples, calculating statistics
  - add --verbose to control how much data we output

Also removed some unloved features from bench_record.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/338203002
2014-06-16 14:04:34 -07:00
reed
bfefc7c95f hide Config in SkImageDecoder -- use SkColorType instead
patch from issue 334613003

TBR=scroggo

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/334793002
2014-06-12 17:40:00 -07:00
kelvinly
fa1eaaa843 Added in framework to get more bench data
BUG=skia:
NOTRY=true
R=jcgregorio@google.com, bensong@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/331683003
2014-06-12 11:27:40 -07:00
bensong
e8433c36e0 Really revert bench trigger changes.
BUG=skia:
NOTRY=true
R=kelvinly@google.com
TBR=kelvinly@google.com

Author: bensong@google.com

Review URL: https://codereview.chromium.org/324403009
2014-06-12 08:05:43 -07:00
kelvinly
607953200d Revert trigger changes
BUG=skia:
NOTRY=true
R=robertphillips@google.com, bensong@google.com, jcgregorio@google.com

Author: kelvinly@google.com

Review URL: https://codereview.chromium.org/334673002
2014-06-12 06:40:58 -07:00
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