aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/pipe
diff options
context:
space:
mode:
authorGravatar scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-31 16:15:22 +0000
committerGravatar scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-08-31 16:15:22 +0000
commit58b4ead36c62d8c0256ee4da554f3df2744d904c (patch)
treef06d09d531ee6b37df515ab83734111aad8cb5b0 /include/pipe
parentb1d47e211c95779ed283b78a85abbd0bd5668871 (diff)
Perform multi core rendering in bench_pictures.
Add a flag in SkGPipeWriter for threadsafe drawing. Add a deferred pipe controller to SamplePipeControllers, which can be called to play back in multiple threads. Depends on http://codereview.appspot.com/6459105/ Review URL: https://codereview.appspot.com/6482068 git-svn-id: http://skia.googlecode.com/svn/trunk@5371 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/pipe')
-rw-r--r--include/pipe/SkGPipe.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/pipe/SkGPipe.h b/include/pipe/SkGPipe.h
index bbe504aee6..f1fc4b0ede 100644
--- a/include/pipe/SkGPipe.h
+++ b/include/pipe/SkGPipe.h
@@ -95,12 +95,19 @@ public:
* (for example) we cannot put function pointers in the stream.
*/
kCrossProcess_Flag = 1 << 0,
+
/**
* Only meaningful if kCrossProcess_Flag is set. Tells the writer that
* in spite of being cross process, it will have shared address space
- * with the reader, so the two can share large objects (like SkBitmaps)
+ * with the reader, so the two can share large objects (like SkBitmaps).
+ */
+ kSharedAddressSpace_Flag = 1 << 1,
+
+ /**
+ * Tells the writer that there will be multiple threads reading the stream
+ * simultaneously.
*/
- kSharedAddressSpace_Flag = 1 << 1
+ kSimultaneousReaders_Flag = 1 << 2,
};
SkCanvas* startRecording(SkGPipeController*, uint32_t flags = 0,