Commit Graph

1013 Commits

Author SHA1 Message Date
reed
6be2aa9a25 wip for drawables
Idea:

1. in its mutable recording state, keep a table of drawables on the side, and store an index in the record list.

2. In "immediate-mode" draw, just call the clients drawable directly (need access to our private list to turn the stored index into a proc)

3. when we "snap", we replace the list of drawables with a list of (sub) pictures, and then during playback of the snapped picture, we invoke a private drawable which just calls "drawPicture" on the index'd subpicture.

Review URL: https://codereview.chromium.org/727363003
2014-11-18 11:08:05 -08:00
borenet
0f881c64a3 Remove bug_chomper
It has been moved into buildbot repo.

BUG=skia:

Review URL: https://codereview.chromium.org/731123003
2014-11-17 09:59:53 -08:00
mtklein
a918cd9fb7 Unsuppress freetype, which may be our gammatext problem.
BUG=skia:

Review URL: https://codereview.chromium.org/721333003
2014-11-13 12:54:35 -08:00
djsollen
0b17d6cb34 Cleanup public includes directory.
This CL updates various files in the includes directory to ensure that (1) they do
not depend on headers in /src and (2) that they minimize their dependence on external
headers.

To ensure that we don't regress this behavior a new build target has been added to
build a single cpp file that contains all* public includes and is compiled with
only those directories in the include path.

* The exception is those includes that depend on OS specific headers

BUG=skia:2941
NOTRY=true

Review URL: https://codereview.chromium.org/721903002
2014-11-13 12:52:35 -08:00
jcgregorio
3b27adef0a Revert of Make nanobench and dm be usable from Chromium build (patchset #5 id:80001 of https://codereview.chromium.org/657373002/)
Reason for revert:
Causing breakages on Mac build.

Original issue's description:
> Make nanobench and dm be usable from Chromium build
>
> Move the app logic for each app as follows:
>
> <app>.cpp -- the file which contains main(). Embedders that compile
> their own apps, such as ios shell, upcoming Chromium dm etc, do not use this.
>
> <app>_main.cpp -- the main logic of the Skia test application. This will be
> used by Skia -compiled apps as well as embedder -compiled apps.
>
> <app>_main.h -- the API for the main logic. This will be
> used by Skia -compiled apps as well as embedder -compiled apps.
>
> This way (the upcoming) Chromium dm can setup its Chromium-specific setup
> in custom main(), and then call dm_main(), without the need of any
> SK_BUILD_FOR_XXXX defines controlling whether the tool defines main or not.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/c092d3bdab5f723576cc0346cea3ee282a9cb444

TBR=mtklein@chromium.org,mtklein@google.com,borenet@google.com,kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992

Review URL: https://codereview.chromium.org/724073002
2014-11-13 08:06:40 -08:00
caryclark
65f553182a These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions.
The fixes include
- detect when finding the active top loops between two possible answers
- preflight chasing winding to ensure answer is consistent
- binary search more often when quadratic intersection fails
- add more failure paths when an intersect is missed

While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed.

TBR=
BUG=421132

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

Review URL: https://codereview.chromium.org/633393002
2014-11-13 06:58:52 -08:00
kkinnunen
c092d3bdab Make nanobench and dm be usable from Chromium build
Move the app logic for each app as follows:

<app>.cpp -- the file which contains main(). Embedders that compile
their own apps, such as ios shell, upcoming Chromium dm etc, do not use this.

<app>_main.cpp -- the main logic of the Skia test application. This will be
used by Skia -compiled apps as well as embedder -compiled apps.

<app>_main.h -- the API for the main logic. This will be
used by Skia -compiled apps as well as embedder -compiled apps.

This way (the upcoming) Chromium dm can setup its Chromium-specific setup
in custom main(), and then call dm_main(), without the need of any
SK_BUILD_FOR_XXXX defines controlling whether the tool defines main or not.

BUG=skia:2992

Review URL: https://codereview.chromium.org/657373002
2014-11-13 05:00:57 -08:00
bsalomon
4bf406a478 Generalize valgrind suppressions for NV driver.
Review URL: https://codereview.chromium.org/723603003
2014-11-12 10:51:19 -08:00
tfarina
a3d33c546f Cleanup: Remove submit_try script.
It is probably broken, and by now nobody should be using it really
anyway.

BUG=None
R=borenet@google.com

Review URL: https://codereview.chromium.org/720603002
2014-11-12 05:34:47 -08:00
robertphillips
81f71b6630 Change where layer hoisting data is gathered
This CL:
1) removes the EXPERIMENTAL_optimize on SkCanvas & SkDevice
2) moves the saveLayer gathering step to endRecording
3) Replaces GPUOptimize with SkRecordComputeLayers
4) Update bench_pictures & render_pictures to provide the new flag

#2 also necessitated moving the BBH computation (and record optimization) out of SkPicture's ctor (and into endRecording)

Review URL: https://codereview.chromium.org/718443002
2014-11-11 04:54:49 -08:00
jvanverth
4736e1434a Get gpudft support working in dm, gm, nanobench and bench_pictures
Adds a new config to test distance field text.
Clean up some flags and #defines to read "distance field text",
not "distance field fonts" to be consistent with Chromium

NOTREECHECKS=true

Committed: https://skia.googlesource.com/skia/+/06ba179838ba4fe187cf290750aeeb4a02a2960b

Review URL: https://codereview.chromium.org/699453005
2014-11-07 07:12:46 -08:00
jvanverth
aa30ab3079 Revert of Get gpudft support working in dm, gm, nanobench and bench_pictures (patchset #2 id:20001 of https://codereview.chromium.org/699453005/)
Reason for revert:
Not compiling in ANGLE build

Original issue's description:
> Get gpudft support working in dm, gm, nanobench and bench_pictures
>
> Adds a new config to test distance field text.
> Clean up some flags and #defines to read "distance field text",
> not "distance field fonts" to be consistent with Chromium
>
> NOTREECHECKS=true
>
> Committed: https://skia.googlesource.com/skia/+/06ba179838ba4fe187cf290750aeeb4a02a2960b

TBR=bsalomon@google.com,mtklein@google.com,reed@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/707723005
2014-11-06 13:52:45 -08:00
jvanverth
06ba179838 Get gpudft support working in dm, gm, nanobench and bench_pictures
Adds a new config to test distance field text.
Clean up some flags and #defines to read "distance field text",
not "distance field fonts" to be consistent with Chromium

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/699453005
2014-11-06 13:38:52 -08:00
mtklein
2ecf86e55e Revert of Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #1 id:1 of https://codereview.chromium.org/693933004/)
Reason for revert:
Try again with loops overflow fix landed.

Original issue's description:
> Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/)
>
> Reason for revert:
> Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
>
> Original issue's description:
> > Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
> >
> > This brings DM and nanobench's default configs in line with GM's.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
>
> TBR=bsalomon@google.com,mtklein@google.com,mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5cd4ee5b81b51e43be7ed13f3c0f0f6c1b3fe14

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

Review URL: https://codereview.chromium.org/685923003
2014-11-06 08:06:39 -08:00
egdaniel
d5cd4ee5b8 Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/)
Reason for revert:
Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.

Original issue's description:
> Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
>
> This brings DM and nanobench's default configs in line with GM's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739

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

Review URL: https://codereview.chromium.org/693933004
2014-11-05 14:21:33 -08:00
mtklein
31f8867571 Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
This brings DM and nanobench's default configs in line with GM's.

BUG=skia:

Review URL: https://codereview.chromium.org/704563003
2014-11-05 12:28:26 -08:00
bungeman
0737922ca2 Add suppression to valgrind.supp for fun:FcConfigEvaluate.
Any allocation under FcConfigValues will be 'lost'.
Update the valgrind suppression to reflect this.

Review URL: https://codereview.chromium.org/703893003
2014-11-05 06:44:11 -08:00
tfarina
89a9ecef9e Cleanup: Remove svn.py script.
We have moved on to a git world.

BUG=None
TEST=None
R=borenet@google.com

Review URL: https://codereview.chromium.org/691203002
2014-11-03 08:33:53 -08:00
rmistry
fec29ecce8 Increase wait time for spreadsheetdashed pageset
BUG=skia:3049
TBR=
NOTRY=true

Review URL: https://codereview.chromium.org/692843002
2014-10-30 05:52:26 -07:00
Ravi Mistry
0e50262767 Increase timeout of blogger pageset and re-enable weather pageset
BUG=skia:3049
2014-10-30 07:37:07 -04:00
Ravi Mistry
7cf0294d51 Increase timeouts of wowwiki and youtube 2014-10-29 17:39:15 -04:00
Ravi Mistry
2c8371aea7 Moving weather pageset since it is crashing 2014-10-29 17:03:22 -04:00
Ravi Mistry
d50bbc7c05 Moving wikipedia pageset since it is crashing 2014-10-29 14:36:15 -04:00
Ravi Mistry
e951189f77 Change extension of crashing page set 2014-10-29 13:55:23 -04:00
Ravi Mistry
645132406a Moving vnexpress pageset since it is crashing 2014-10-29 13:45:17 -04:00
Ravi Mistry
7b3afa646e Increase wait times for androidpolice and nytimes 2014-10-29 12:25:34 -04:00
rmistry
7aa4d349be pagesets are still crashing in RecreateSKPs bot, try adding waits to most pagesets
BUG=skia:3049
NOTRY=true
TBR=borenet

Review URL: https://codereview.chromium.org/682573004
2014-10-29 08:19:05 -07:00
rmistry
6eea9e7871 Add wait to amazon page set to avoid tab crashes
BUG=skia:3049
TBR=borenet
NOTRY=true

Review URL: https://codereview.chromium.org/686133002
2014-10-29 06:40:27 -07:00
bsalomon
f2703d83da rename GrTextureDesc->GrSurfaceDesc, GrTextureFlags->GrSurfaceFlags
Review URL: https://codereview.chromium.org/682223002
2014-10-28 14:33:06 -07:00
rmistry
0ec28af1a7 Updated all page sets to capture new set of webpage archives.
Fixed the record_wpr retry mechanism in webpages_playback.py.

Updated all page sets to remove the no longer needed RunSmoothness and RunNavigateSteps.

Updated the key_silk_cases pagesets to point to a non svn location:
* skia_fontwipe_desktop.py
* skia_silkfinance_desktop.py

Removed mercurynews, record_wpr was timing out because of a popup.

Added back the following pagesets which were previously disabled but are now working again:
* skia_cnn_nexus10.py
* skia_wordpress_desktop.py
* skia_transformice_nexus10.py

BUG=skia:3049

Review URL: https://codereview.chromium.org/684863002
2014-10-28 14:25:17 -07:00
hcm
27c46a08a9 Revert of harden pathops for pathological test (patchset #19 id:410001 of https://codereview.chromium.org/633393002/)
Reason for revert:
Compile errors on bots

Original issue's description:
> These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions.
>
> The fixes include
> - detect when finding the active top loops between two possible answers
> - preflight chasing winding to ensure answer is consistent
> - binary search more often when quadratic intersection fails
> - add more failure paths when an intersect is missed
>
> While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed.
>
> TBR=
> BUG=421132
>
> Committed: https://skia.googlesource.com/skia/+/6f726addf3178b01949bb389ef83cf14a1d7b6b2

TBR=caryclark@google.com
NOTREECHECKS=true
NOTRY=true
BUG=421132

Review URL: https://codereview.chromium.org/686843002
2014-10-28 10:55:54 -07:00
caryclark
6f726addf3 These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions.
The fixes include
- detect when finding the active top loops between two possible answers
- preflight chasing winding to ensure answer is consistent
- binary search more often when quadratic intersection fails
- add more failure paths when an intersect is missed

While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed.

TBR=
BUG=421132

Review URL: https://codereview.chromium.org/633393002
2014-10-28 10:33:09 -07:00
rmistry
7620bf0658 Fix ability to capture archives in webpages_playback.py
Updated all page sets to match the file name. This is to make it easier to call record_wpr with the page set class name.
Also updated the wait time for baidu to 60 seconds.

BUG=skia:3049

Review URL: https://codereview.chromium.org/683473002
2014-10-27 06:42:11 -07:00
halcanary
30b83d45a3 add gm: colorwheel
BUG=skia:3061

Review URL: https://codereview.chromium.org/680533002
2014-10-26 05:23:53 -07:00
Thiago Farina
a15893ac41 tools: Remove reference to svndiff.
svndiff script was archived by commit
https://skia.googlesource.com/skia/+/70242ace3b2ed06b33ee5ea5c9ac3aedea89b194

R=borenet@google.com

Review URL: https://codereview.chromium.org/658923002
2014-10-24 17:21:41 -02:00
bsalomon
24234fe777 Build gpu stats tracking in dev builds.
Fix cache stats, add more info.

BUG=skia:2889

Review URL: https://codereview.chromium.org/655263005
2014-10-24 09:34:41 -07:00
scroggo
11ed6b8140 Add flag to skimage for decoding into unpremul.
Review URL: https://codereview.chromium.org/666073006
2014-10-23 15:42:11 -07:00
rmistry
22b5ab644e Add back page_sets/skia_googlespreadsheet_desktop
Absolutely could not get the old page to work so I just created a new page.

NOTRY=true
BUG=skia:3008

Review URL: https://codereview.chromium.org/671883002
2014-10-22 06:19:51 -07:00
rmistry
f802f326f4 Update webpages_playback script and all page_sets to use new skpicture_printer benchmark
The purpose of this CL is to turn the RecreateSKPs bot green after
https://codereview.chromium.org/665193002/ lands.

Description of changes in this CL:
* After https://codereview.chromium.org/665193002/ lands we will no longer need to copy the archives and pagesets to telemetry's data directory, I removed the code that did this in https://codereview.chromium.org/655313003/
* page_sets now need unique class names. Updated all page_sets to have unique class names.
* Using the new --page_set_name and --page_set_base_dir and --also-run-disabled-tests parameters

BUG=skia:3046

Review URL: https://codereview.chromium.org/671513009
2014-10-22 05:04:43 -07:00
mtklein
9abf4f82a8 Implement maxrss for Windows
No more -1 in the first column on Windows!

E.g. http://build.chromium.org/p/client.skia/builders/Perf-Win8-ShuttleA-HD7770-x86_64-Release-Trybot/builds/0/steps/nanobench/logs/stdio

BUG=skia:

Review URL: https://codereview.chromium.org/661413004
2014-10-21 12:23:12 -07:00
bungeman
a4c4a2d8cd Replace SkTypeface::Style with SkFontStyle.
Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

Review URL: https://codereview.chromium.org/488143002
2014-10-20 13:33:19 -07:00
mtklein
802ad83dca Revert of Replace SkTypeface::Style with SkFontStyle. (patchset #9 id:160001 of https://codereview.chromium.org/488143002/)
Reason for revert:
CrOS GM failures:

[*] 2 ExpectationsMismatch: fontmgr_iter_565.png fontmgr_iter_8888.png

Original issue's description:
> Replace SkTypeface::Style with SkFontStyle.
>
> Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

TBR=reed@google.com,bungeman@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/667023002
2014-10-20 12:54:31 -07:00
bungeman
43b8b36b20 Replace SkTypeface::Style with SkFontStyle.
Review URL: https://codereview.chromium.org/488143002
2014-10-20 12:33:59 -07:00
robertphillips
4a36d9ab5e Fix clearing issue in render_pictures
This bug only crops up when using the "--writeWholeImage" option in tile mode

Review URL: https://codereview.chromium.org/664103003
2014-10-20 08:45:58 -07:00
tfarina
3f752205a5 bug_chomper: Cleanup template initialization.
Use the same tricks used by webtry and perf. Code seems more robust and
easier to check for errors this way.

BUG=None
TEST=./run_server.sh, then navigate to 127.0.0.1:8000 and
127.0.0.1:8000/res
R=borenet@google.com

Review URL: https://codereview.chromium.org/661613004
2014-10-17 14:25:07 -07:00
borenet
25956ce430 Fix RecreateSKPs bot (again)
It's killing its own process...

BUG=skia:3008
TBR=rmistry
NOTRY=true

Review URL: https://codereview.chromium.org/661203002
2014-10-17 14:17:18 -07:00
borenet
783991585b Fix recreate_skps?
run_measurement was removed in https://codereview.chromium.org/655563007.
Based on the comments, I think the right thing to do is replace it with
run_benchmark.  Hopefully this fixes the bot.

BUG=skia:
TBR=rmistry
NOTRY=true

Review URL: https://codereview.chromium.org/658513004
2014-10-17 12:15:46 -07:00
borenet
dc89ca56e6 Add recreate_skps script
BUG=skia:3008

Review URL: https://codereview.chromium.org/655313003
2014-10-17 07:37:05 -07:00
halcanary
5bb9700b7e render_pdfs cull rect output formated better
Review URL: https://codereview.chromium.org/657353004
2014-10-16 10:32:52 -07:00
kkinnunen
30bc88ccd5 Refactor SkGLContext to be actually extendable
Refactor SkGLContext to be actually extendable. Before, non-trivial subclass
would need to destroy the GL connection upon running the destructor. However,
the base class would run GL commands in its own destructor (with destroyed GL
connection)

Refactor so that SkGLContext subclass object creation is completely done by
the factory function. If the factory function returns a non-NULL ptr, it means the context
is usable.

The destruction is done with the destructor instead of virtual function called
upon destruction. Make the destructors not to call virtual functions, for
clarity.

Remove custom 1x1 FBO setup code from the base class. It appears not to be used
anymore.

BUG=skia:2992

Review URL: https://codereview.chromium.org/640283004
2014-10-15 23:03:54 -07:00