skia2/tools
mtklein 0b544ae222 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

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
2014-07-08 19:37:47 -07:00
..
bug_chomper Fix goauth path 2014-05-14 16:57:49 +00:00
chromium Cleanup of SSE optimization files. 2014-04-30 14:58:46 +00:00
copyright Script to automatically update copyright notices in C/C++ source code. 2011-07-28 14:29:58 +00:00
flags undefok -> bool 2014-06-20 08:24:56 -07:00
lua Cleanup: Delete sk_tools::make_filepath() in favor of SkOSPath::SkPathJoin(). 2014-06-12 08:50:56 -07:00
pyutils reland "rebaseline_server: download actual-results.json files from GCS instead of SVN" 2014-06-05 10:30:37 -07:00
skpdiff rebaseline_server: use just skpdiff, not Python Image Library 2014-07-02 07:43:04 -07:00
tests Drop --clone from commands in skia repo. 2014-06-27 17:09:39 -04:00
timer Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
add_codereview_message.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
bbh_shootout.cpp Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
bench_pictures_cfg_helper.py Fix bench_pictures.cfg 2013-03-07 20:18:27 +00:00
bench_pictures_main.cpp Deprecate SkPicture::clone(). 2014-06-27 12:34:44 -07:00
bench_pictures.cfg Removes Record configs from buildbot bench_pictures runs. 2014-06-18 05:59:55 -07:00
bench_playback.cpp Enable basic drawing with SkRecord-based pictures. 2014-06-23 15:13:26 -04:00
bench_record.cpp Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
buildbot_globals.py Fix submit_try 2014-06-05 07:32:15 -07:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CopyTilesRenderer.cpp Split SkPicturePlayback out of SkPictureData 2014-07-07 13:46:35 -07:00
CopyTilesRenderer.h Split SkPicturePlayback out of SkPictureData 2014-07-07 13:46:35 -07:00
coverage.sh increase coverage of SkPath.cpp, remove unused code 2013-11-14 16:53:22 +00:00
CrashHandler.cpp Gate CrashHandler with SK_CRASH_HANDLER. 2014-07-02 14:30:47 -07:00
CrashHandler.h Gate CrashHandler with SK_CRASH_HANDLER. 2014-07-02 14:30:47 -07:00
create_test_font.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
doxygen_footer.txt Fix update-doxygen, which fails when skia-autogen is reset 2012-09-26 16:09:43 +00:00
dump_record.cpp Remove SkRecorder's kWriteOnly mode. 2014-05-29 16:52:40 +00:00
DumpRecord.cpp Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
filtermain.cpp Rename SkPicturePlayback to SkPictureData 2014-07-01 08:47:04 -07:00
find_bad_images_in_skps.py Make image decoding more fault resistant, less verbose. 2013-10-04 12:46:45 +00:00
find_run_binary.py Create a common utility for finding and running binaries in out/ 2014-02-07 18:41:49 +00:00
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim add a way to get code coverage 2013-09-13 19:32:43 +00:00
gen_bench_expectations_from_codereview.py gen_bench_expectations: use subprocess instead of shell_utils due to buildbot-side name collision 2014-07-02 12:52:34 -07:00
generate_fir_coeff.py Fix metrics on Windows. 2013-07-27 20:37:56 +00:00
git-skia-verify Land http://codereview.appspot.com/6117046/ for Guanqun.Lu@gmail.com 2012-04-24 15:19:23 +00:00
git-sync-deps tools/git-sync-deps is a stand-alone program, not dependent on synced deps. 2014-06-25 13:28:30 -07:00
gpuveto.cpp Sanitizing source files in Housekeeper-Nightly 2014-04-29 03:05:14 +00:00
image_expectations.cpp make render_pictures properly handle empty expectations file 2014-05-19 15:25:10 +00:00
image_expectations.h make render_pictures properly handle empty expectations file 2014-05-19 15:25:10 +00:00
install_dependencies.sh Since we're only using it on Linux now, just require poppler as a system dependency. 2014-05-20 15:07:53 +00:00
jsondiff.py svndiff.py: properly handle empty expectations dictionary 2013-09-04 16:27:16 +00:00
LazyDecodeBitmap.cpp Rename SkPicturePlayback to SkPictureData 2014-07-01 08:47:04 -07:00
LazyDecodeBitmap.h Add the lazy decoder from PictureFlags to SkImageDecoder 2013-07-16 18:21:46 +00:00
lsan.supp Add a suppressions file for leak sanitizer. 2014-01-23 18:42:31 +00:00
merge_static_libs.py Build Skia as a static library 2012-10-10 19:45:51 +00:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
OverwriteLine.h Make tests output spin on the same line by default. 2014-01-02 16:19:53 +00:00
pathops_sorter.htm Fix last pathops skp bug 2014-06-18 07:24:19 -07:00
pathops_visualizer.htm Fix last pathops skp bug 2014-06-18 07:24:19 -07:00
PdfRenderer.cpp Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer) 2014-06-04 05:40:44 -07:00
PdfRenderer.h Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective. 2013-10-14 13:42:12 +00:00
picture_utils.cpp stop using SkBitmap::Config 2014-06-14 05:30:20 -07:00
picture_utils.h Minor cleanups in picture_utils header file. 2014-06-15 20:10:44 -07:00
PictureBenchmark.cpp Make SKP bench JSON ouput better 2014-06-26 11:26:41 -07:00
PictureBenchmark.h Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
PictureRenderer.cpp Split SkPicturePlayback out of SkPictureData 2014-07-07 13:46:35 -07:00
PictureRenderer.h Split SkPicturePlayback out of SkPictureData 2014-07-07 13:46:35 -07:00
PictureRenderingFlags.cpp Support using OpenGL ES context on desktop 2014-06-30 06:36:31 -07:00
PictureRenderingFlags.h Change the name of SkFlags to SkCommandLineFlags. 2013-03-21 19:43:15 +00:00
PictureResultsWriter.h Make SKP bench JSON ouput better 2014-06-26 11:26:41 -07:00
pinspect.cpp Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer) 2014-06-04 05:40:44 -07:00
RefCntIs.cpp Remove ability for Release code to call getRefCnt() or getWeakRefCnt(). 2014-07-08 06:48:17 -07:00
RefCntIs.h Remove ability for Release code to call getRefCnt() or getWeakRefCnt(). 2014-07-08 06:48:17 -07:00
reformat-json.py add reformat-json.py script 2013-07-19 15:45:22 +00:00
render_pdfs_main.cpp Cleanup: Delete sk_tools::make_filepath() in favor of SkOSPath::SkPathJoin(). 2014-06-12 08:50:56 -07:00
render_pictures_main.cpp Begin atlasing 2014-06-30 08:26:50 -07:00
Resources.cpp Refactor how we handle resources path in Tests. 2014-06-18 14:32:49 -07:00
Resources.h Refactor how we handle resources path in Tests. 2014-06-18 14:32:49 -07:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
roll_deps.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
sanitize_source_files.py Ignore the .git directory in sanitize_source_files, remove .git directory... 2013-09-11 13:01:27 +00:00
sk_tool_utils_font.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
sk_tool_utils.cpp use platform-independent font for gm 2014-06-23 11:25:00 -07:00
sk_tool_utils.h use platform-independent font for gm 2014-06-23 11:25:00 -07:00
skdiff_html.cpp fix warnings 2013-01-07 22:26:05 +00:00
skdiff_html.h Add newline at end of tools/skdiff_html.h to happify the housekeeping bot 2012-12-05 20:30:00 +00:00
skdiff_image.cpp Add stdio include to skdiff_image. 2013-10-11 19:19:10 +00:00
skdiff_main.cpp add a verbose flag to skdiff that shows the progress and status of 2014-05-28 18:26:00 +00:00
skdiff_utils.cpp hide Config in SkImageDecoder -- use SkColorType instead 2014-06-12 17:40:00 -07:00
skdiff_utils.h Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-06 02:01:25 +00:00
skdiff.cpp * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skdiff.h * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skhello.cpp deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
skimage_main.cpp hide Config in SkImageDecoder -- use SkColorType instead 2014-06-12 17:40:00 -07:00
skpinfo.cpp Rename SkPicturePlayback to SkPictureData 2014-07-01 08:47:04 -07:00
skpmaker.cpp Staging for cleanup of SkPicture-related headers 2014-04-18 18:04:41 +00:00
Stats.h Refine bench_record and bench_playback: 2014-06-16 14:04:34 -07:00
submit_try Fix submit_try 2014-06-05 07:32:15 -07:00
submit_try.bat Modify submit_try to work on windows 2013-01-24 21:38:51 +00:00
svn.py rebaseline_server: add actual_repo and actual_revision command line options 2014-03-10 18:09:25 +00:00
svndiff.py svndiff for the windows 2013-10-29 13:55:29 +00:00
test_all.py reland "rebaseline_server: download actual-results.json files from GCS instead of SVN" 2014-06-05 10:30:37 -07:00
test_gpuveto.py Remove dashing from gpu veto 2014-06-18 07:34:39 -07:00
test_image_decoder.cpp Runtime configuration setting for suppressing JPEG decoder errors. 2013-10-14 20:08:48 +00:00
test_pdfs.py Add an SKP to PDF rendered. test_pdfs.py will be hooked up in buildbot testing later. 2012-10-10 15:20:34 +00:00
tsan.supp Add SkRacy 2014-07-08 19:37:47 -07:00
valgrind.supp Add valgrind supp for NV driver. 2014-06-25 08:25:30 -07:00
win_dbghelp.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-09 07:01:15 +00:00
win_dbghelp.h Collect minidump and print callstack if an app chrashes. 2013-03-08 18:00:16 +00:00
win_lcid.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-03 07:01:14 +00:00
xsan_build simplify tools/xsan_build now that make runs ninja 2014-04-24 18:16:13 +00:00