aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
Commit message (Collapse)AuthorAge
* Fix assert in skimage test.Gravatar scroggo2014-07-25
| | | | | | | | | | | The width and height may not match expected width and height when sampleSize is not 1. R=djsollen@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/418363002
* Add auto purging for SkPicture-related Ganesh resources (esp. layers)Gravatar robertphillips2014-07-22
| | | | | | | | | | This is intended to lower the bookkeeping burden for the Layer Caching feature. Cached layers are now automatically purged when a picture is deleted. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/408923002
* share dm and command flagsGravatar caryclark2014-07-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* update pathops core and testsGravatar caryclark2014-07-18
| | | | | | | | | | split out skpclip (the test of 1M pictures) into its own project TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/400033002
* combine base_unittest.py modules from gm and toolsGravatar epoger2014-07-17
| | | | | | | | | | general cleanup, which will also help with http://skbug.com/2752 ('split existing "gpu" GM results into "gl" and "gles"') R=rmistry@google.com Author: epoger@google.com Review URL: https://codereview.chromium.org/397103003
* Use __rdtsc on Windows.Gravatar Mike Klein2014-07-16
| | | | | | | | | | | | | | | 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
* revert timer changesGravatar Mike Klein2014-07-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/397843002
* nanobench on Windows: try compiler barriers around timer instead.Gravatar Mike Klein2014-07-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/391193003
* Give windows boring bars and use 'us' for microseconds.Gravatar mtklein2014-07-15
| | | | | | | | | | | NOTREECHECKS=true BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/393673006
* nanobench: add --runOnce.Gravatar mtklein2014-07-14
| | | | | | | | | BUG=skia: R=egdaniel@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/392583005
* ios fixesGravatar caryclark2014-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | skia_ios.mm Get the app's Documents directory and pass use it to set the resource path. This is a quick hack which will be replaced by a new application that is a tiny shim around a command line tool. SkImageEncoder.h SkForceLinking.cpp SkImageDecoder_CG.cpp Add support for FORCE_LINKING so iOS sees the PNG encoder and others. SkFloatBits.cpp SkPoint.cpp Handle denormalized numbers that are floored by the iOS ARM processor. SkImageDecoder_iOS.mm Remove empty encoder factory. SkTouchGesture.cpp Return early on empty state on touch rather than aborting (crashing) JpegTest.cpp Hal via stackoverflow.com says partial jpegs can be gray as well. skia_test.cpp Remove crash handler call for now to avoid link failure. OverwriteLine.h Remove fancy line overwrite for iOS. Resources.cpp Add interface to set resource directory based on runtime query. BUG=skia:2736 skia:2737 skia:2738 R=reed@google.com, halcanary@google.com, mtklein@google.com, tfarina@chromium.org Author: caryclark@google.com Review URL: https://codereview.chromium.org/373383003
* nanobench: add a cute bar chartGravatar mtklein2014-07-11
| | | | | | | | | | | 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
* roll "common" DEPS, and replace tools/pyutils with itGravatar epoger2014-07-11
| | | | | | | | | BUG=skia:2682 R=borenet@google.com Author: epoger@google.com Review URL: https://codereview.chromium.org/385783002
* import google-api-python-client using DEPSGravatar epoger2014-07-10
| | | | | | | | | BUG=skia:2641 R=jcgregorio@google.com Author: epoger@google.com Review URL: https://codereview.chromium.org/381933002
* nanobench: add median and --cpu/--gpuGravatar mtklein2014-07-09
| | | | | | | | | BUG=skia: R=krajcevski@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/377283002
* Remove ability for Release code to call getRefCnt() or getWeakRefCnt().Gravatar mtklein2014-07-09
| | | | | | | | | | | | | | | | | | | | These getRefCnt() methods are not thread safe, so Skia code should not be calling them. unique() is fine. SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt(). This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in both debug and release modes. BUG=skia:2726 Committed: https://skia.googlesource.com/skia/+/4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443 R=senorblanco@chromium.org, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/378643003
* Revert "Remove ability for Release code to call getRefCnt() or getWeakRefCnt()."Gravatar Mike Klein2014-07-09
| | | | | | | | This reverts commit 4ae94ffce5ecf1b71cb5e295b68bf4ec9e697443. BUG=skia: Review URL: https://codereview.chromium.org/382523002
* Add SkRacyGravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 CQ_EXTRA_TRYBOTS=tryserver.skia:Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT-Trybot,Canary-Chrome-Win7-Ninja-x86-SharedLib_ToT-Trybot,Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
* Revert of Add SkRacy (https://codereview.chromium.org/371363004/)Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: hidden symbol 'AnnotateBenignRaceSized' in obj/base/third_party/dynamic_annotations/libdynamic_annotations.a(obj/base/third_party/dynamic_annotations/dynamic_annotations.dynamic_annotations.o) is referenced by DSO lib/libblink_platform.so Original issue's description: > Add SkRacy > > SkRacy<T> is a zero-overhead wrapper for a T, except it also > silences race warnings when TSAN is running. > > Here we apply in several classes. In SkMatrix and SkPathRef, > we use it to opportunistically cache some idempotent work. > > In SkPixelRef, we wrap the genIDs. We think the worst that > can happen here is we'll increment the global next-genID a > few times instead of once when we go to get another ID. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/d5e3e6ae1b3434ad1158f441902ff65f1eeaa3a7 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/377693005
* Add SkRacyGravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | | | SkRacy<T> is a zero-overhead wrapper for a T, except it also silences race warnings when TSAN is running. Here we apply in several classes. In SkMatrix and SkPathRef, we use it to opportunistically cache some idempotent work. In SkPixelRef, we wrap the genIDs. We think the worst that can happen here is we'll increment the global next-genID a few times instead of once when we go to get another ID. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/371363004
* Remove ability for Release code to call getRefCnt() or getWeakRefCnt().Gravatar mtklein2014-07-08
| | | | | | | | | | | | | | | | | These getRefCnt() methods are not thread safe, so Skia code should not be calling them. unique() is fine. SkDEBUG code (SkASSERTs) can still call getRefCnt() / getWeakRefCnt(). This adds tools/RefCntIs.{h,cpp}, which lets tests make their assertions in both debug and release modes. BUG=skia:2726 R=senorblanco@chromium.org, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/378643003
* Flesh out SkMatrix typemask suppressions.Gravatar mtklein2014-07-07
| | | | | | | | | BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/374763002
* Another suppression, this in SkMatrix caching the typemask.Gravatar mtklein2014-07-07
| | | | | | | | | BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/372103005
* Suppress race to cache SkPathRef bounds.Gravatar mtklein2014-07-07
| | | | | | | | | | | | This should be fixed naturally soon, and it's an innocuous race (some paths may have their bounds calculated more than once), so we can just quiet it for now. BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/376733003
* Suppress getRefCnt() calls from SkImageFilter.Gravatar mtklein2014-07-07
| | | | | | | | | BUG=skia:2726 R=jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/373863002
* Split SkPicturePlayback out of SkPictureDataGravatar robertphillips2014-07-07
| | | | | | | | | | | | | | | | | | | This splits the playback functionality out of SkPictureData. The old SkPictureData::draw method is pulled out along with its supporting functions as verbatim as possible. Some follow on CLs will be required to: re-enable profiling in the debugger (and remove the vestiges of SkTimedPicture) re-enable display of command offsets in the picture (this should probably wait until we've switched to SkRecord though) Clean up CachedOperationList (maybe fuse with SkPicture::OperationList) Split SkPicturePlayback into a base class and two derived classes Implement parallel version of GatherGPUInfo for SkRecord Landing this is blocked on removing Android's use of the abortPlayback entry point. R=mtklein@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/377623002
* Suppress new TSAN warnings from DMQuiltTask.Gravatar mtklein2014-07-07
| | | | | | | | | | | | | | | | We're racing to invalidate the genID of our pixel ref when multiple threads write into it, and also to call its genID-changed listeners. We install no listeners on this particular pixel ref, nor do we ever care about its genID at all. So these are benign races, races on data we never make a decision from. BUG=skia:2725 R=jcgregorio@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/370353004
* Gate CrashHandler with SK_CRASH_HANDLER.Gravatar mtklein2014-07-02
| | | | | | | | | BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/364033002
* gen_bench_expectations: use subprocess instead of shell_utils due to ↵Gravatar borenet2014-07-02
| | | | | | | | | | | | | buildbot-side name collision BUG=skia:2714 R=rmistry@google.com TBR=rmistry NOTRY=true Author: borenet@google.com Review URL: https://codereview.chromium.org/368043002
* Fix RecreateSkpsGravatar borenet2014-07-02
| | | | | | | | | | | | | | | - Use shell_utils to auto-print all subprocesses. - Only download bench_pictures data. - Skip or error out on bots which failed BenchPictures, PostBench, or UploadBenchResults. BUG=skia:2714 R=rmistry@google.com TBR=rmistry NOTRY=true Author: borenet@google.com Review URL: https://codereview.chromium.org/363833004
* rebaseline_server: use just skpdiff, not Python Image LibraryGravatar epoger2014-07-02
| | | | | | | | | BUG=skia:2414 R=djsollen@google.com, borenet@google.com Author: epoger@google.com Review URL: https://codereview.chromium.org/325413003
* Rename SkPicturePlayback to SkPictureDataGravatar robertphillips2014-07-01
| | | | | | | | | | This is in preparation for splitting the playback portion of the new SkPictureData class into a new SkPicturePlayback class. R=reed@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/362773002
* stop calling SkCanvas::getDeviceGravatar reed2014-06-30
| | | | | | | | | BUG=skia: R=bsalomon@google.com, robertphillips@google.com, junov@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/355193006
* Begin atlasingGravatar robertphillips2014-06-30
| | | | | | | | | | | | | | | | | | | This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled): 1) the atlased layers cannot be purged nor aged out 2) the texture backing the atlas is not pulled from (or returned to) the resource cache #1 is on hold until we have a recycling rectanizer A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents. Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/354533004
* Support using OpenGL ES context on desktopGravatar kkinnunen2014-06-30
| | | | | | | | | | | | | | 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
* Revert of Begin atlasing (https://codereview.chromium.org/354533004/)Gravatar robertphillips2014-06-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: Sigh Original issue's description: > Begin atlasing > > This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled): > > 1) the atlased layers cannot be purged nor aged out > 2) the texture backing the atlas is not pulled from (or returned to) the resource cache > > #1 is on hold until we have a recycling rectanizer > > A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents. > > Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b R=bsalomon@google.com TBR=bsalomon@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/359953002
* Begin atlasingGravatar robertphillips2014-06-29
| | | | | | | | | | | | | | | | | This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled): 1) the atlased layers cannot be purged nor aged out 2) the texture backing the atlas is not pulled from (or returned to) the resource cache #1 is on hold until we have a recycling rectanizer A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/354533004
* Drop --clone from commands in skia repo.Gravatar Mike Klein2014-06-27
| | | | | | | | | | | --clone, and SkPicture::clone(), are no longer. CQ_EXTRA_TRYBOTS=tryserver.skia:Housekeeper-PerCommit-Trybot BUG=skia: R=rmistry@google.com Review URL: https://codereview.chromium.org/343813006
* Deprecate SkPicture::clone().Gravatar mtklein2014-06-27
| | | | | | | | | | | | | | | | | | Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE. This removes the modes from our tools that use clone(). No bots run these. DM used clone() in a way that we can just share the picture now. I plan to bring back the ability to test multithreaded picture rendering soon. BUG=skia:2378 R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/338633011
* Make SKP bench JSON ouput betterGravatar kelvinly2014-06-26
| | | | | | | | | | 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
* tools/git-sync-deps is a stand-alone program, not dependent on synced deps.Gravatar halcanary2014-06-25
| | | | | | | | | | | Motivation: With common repo, we had a chicken-egg problem. BUG=skia: R=borenet@google.com, mtklein@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/351063003
* Whitespace fixes for Python toolsGravatar borenet2014-06-25
| | | | | | | | | BUG=skia: R=rmistry@google.com Author: borenet@google.com Review URL: https://codereview.chromium.org/353853003
* Add valgrind supp for NV driver.Gravatar bsalomon2014-06-25
| | | | | | | | R=mtklein@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/351053002
* Use new common tools in Python scriptsGravatar Eric Boren2014-06-25
| | | | | | | BUG=skia:2682 R=rmistry@google.com Review URL: https://codereview.chromium.org/330423004
* Enable basic drawing with SkRecord-based pictures.Gravatar Mike Klein2014-06-23
| | | | | | | | | | | | | | | | | I've tagged all the functions in SkPicture.cpp is // fRecord TODO or // fRecord OK, depending on whether or not they're totally broken when used from an SkRecord-based picture. Obviously next steps are to eliminate all the TODOs, then clean up the notes. I converted SkPicture over to smart pointers too. It's particularly helpful that the smart pointers initialize to NULL by default. For now I've got all the SkRecord-based code jammed in at the bottom of the file. I figure it'll help me keep things straight for a bit, then we can rearrange later. BUG=skia: R=robertphillips@google.com Review URL: https://codereview.chromium.org/333823007
* use platform-independent font for gmGravatar caryclark2014-06-23
| | | | | | | | | | | | | | Create a custom typeface and scaler to render simple paths the same on all platforms. GM tests are modified to explicitly select the custom typeface. R=reed@google.com, mtklein@google.com, bungeman@google.com TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/348323003
* Revert of Support using OpenGL ES context on desktop ↵Gravatar rmistry2014-06-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | (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
* Support using OpenGL ES context on desktopGravatar kkinnunen2014-06-22
| | | | | | | | | | | | | | 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
* Add GYP target for sk_tool_utils.* component.Gravatar tfarina2014-06-21
| | | | | | | | | | | | | | This declares a static library target in gyp/sk_tool_utils.gyp, so other targets can depend directly on it instead of including the source file in their source lists. BUG=None TEST=make all R=mtklein@google.com Author: tfarina@chromium.org Review URL: https://codereview.chromium.org/348623006
* Move BenchTimer to tools as TimerGravatar mtklein2014-06-20
| | | | | | | | | | | | | | | 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