skia2/gyp
commit-bot@chromium.org ef57b7e653 DM: make GPU tasks multithreaded again. Big refactor.
The main meat of things is in SkThreadPool.  We can now give SkThreadPool a
type for each thread to create and destroy on its local stack.  It's TLS
without going through SkTLS.

I've split the DM tasks into CpuTasks that run on threads with no TLS, and
GpuTasks that run on threads with a thread local GrContextFactory.

The old CpuTask and GpuTask have been renamed to CpuGMTask and GpuGMTask.

Upshot: default run of out/Debug/dm goes from ~45 seconds to ~20 seconds.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13632 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 20:31:31 +00:00
..
android_deps.gyp Reland "Gyp file changes for the android framework." 2014-02-05 16:35:12 +00:00
android_framework_lib.gyp Updates to gyp files for building Android.mk 2014-02-28 16:07:39 +00:00
android_system.gyp Update DEPS and GYP to use the copy of Android in platform_tools. 2013-05-02 12:27:21 +00:00
angle.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
animator.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
apptype_console.gypi Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
bench.gyp DM: also run benches once. 2014-02-26 23:01:57 +00:00
bench.gypi Add GrSet class built on top of RedBlackTree 2014-02-27 20:23:22 +00:00
chromeos_deps.gyp GYP Changes and Scripts for Compiling Skia for ChromeOS 2013-06-11 15:52:19 +00:00
common_conditions.gypi Updates to gyp files for building Android.mk 2014-02-28 16:07:39 +00:00
common_variables.gypi Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
common.gypi Reland "Gyp file changes for the android framework." 2014-02-05 16:35:12 +00:00
core.gyp Reland "Gyp file changes for the android framework." 2014-02-05 16:35:12 +00:00
core.gypi Collapse matrix & clip stack in PictureRecord 2014-02-11 15:10:40 +00:00
debugger.gyp Small tweaks to be able to build everything target: 2014-01-08 21:16:14 +00:00
dm.gyp DM: make GPU tasks multithreaded again. Big refactor. 2014-02-28 20:31:31 +00:00
edtaa.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
effects.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
effects.gypi fix bad gyp file move 2014-01-31 16:16:22 +00:00
everything.gyp Move DM from everything to most, to build it by default. 2014-01-08 16:52:42 +00:00
experimental.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
FileReaderApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
flags.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
fontconfig.gyp Roll fontconfig to 2.11.0 and reenable poppler on mac 2014-01-15 17:24:22 +00:00
freetype.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
freetype.gypi Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
giflib.gyp Sanitizing source files in Housekeeper-Nightly 2014-02-25 03:05:18 +00:00
gm.gyp Allow GMs to be used as benchmarks. Make convex_poly_clip opt in. 2014-02-03 14:48:17 +00:00
gmslides.gypi add SkCanvas::drawDRRect 2014-02-21 02:32:36 +00:00
gpu.gyp Modify how gpu.gyp includes angle.gyp. 2014-02-27 20:40:31 +00:00
gpu.gypi Add GrSet class built on top of RedBlackTree 2014-02-27 20:23:22 +00:00
gputest.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
iconv.gyp Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
images.gyp Fix ChromeOS build broken in f84722e477 2014-02-24 21:39:01 +00:00
jsoncpp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
libjpeg.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
libpng.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
libwebp.gyp Fix warnings on Ubuntu13 2014-02-21 20:11:42 +00:00
lua.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
most.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
nacl.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
opts.gyp Updates to gyp files for building Android.mk 2014-02-28 16:07:39 +00:00
pathops_unittest.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
pathops_unittest.gypi path ops work in progress 2013-10-02 14:49:34 +00:00
pathops.gypi path ops work in progress 2013-09-16 15:55:01 +00:00
pdf.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
pdf.gypi Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
pdfviewer_lib.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
pdfviewer.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
pixman_test.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
poppler.gyp Add extra warnings to match what Android uses. 2013-11-20 15:13:49 +00:00
ports.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
public_headers.gypi remove (now unused) Sk64 -- just use int64_t 2014-01-10 22:05:41 +00:00
SampleApp.gyp Fix SampleApp build 2014-02-26 18:12:11 +00:00
sfnt.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
shapeops_demo.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
shapeops_edge.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
shapeops_tool.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SimpleCocoaApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SimpleiOSApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
skflate.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
skia_for_chromium_defines.gypi remove SK_SUPPORT_DEEPCOPYTO_CONFIG 2014-02-28 16:30:45 +00:00
skia_lib.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
skpskgr_test.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
svg.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
tests.gyp Let DM run unit tests. 2014-02-26 16:31:22 +00:00
tests.gypi Add GrSet class built on top of RedBlackTree 2014-02-27 20:23:22 +00:00
tools.gyp Revert "Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org/180283004/)" 2014-02-26 20:22:32 +00:00
utils.gyp DM: make GPU tasks multithreaded again. Big refactor. 2014-02-28 20:31:31 +00:00
v8.gyp Rename Path to Path2D 2014-02-27 20:20:21 +00:00
views_animated.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
views.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
xml.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
xps.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
zlib.gyp Fix valgrind bot errors introduced in f84722e477. 2014-02-25 18:01:37 +00:00