diff options
author | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-26 13:13:21 +0000 |
---|---|---|
committer | danakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-26 13:13:21 +0000 |
commit | 44e9a2fe0aa46ac1b8f2d7a861aa211bba252096 (patch) | |
tree | da5994ca0ed4058d3aa259ea7851331000d29907 /cc/quads/render_pass.h | |
parent | a23f62e6e57a92d3f75b5ff600d351f01b6b7d4b (diff) | |
download | chromium_src-44e9a2fe0aa46ac1b8f2d7a861aa211bba252096.zip chromium_src-44e9a2fe0aa46ac1b8f2d7a861aa211bba252096.tar.gz chromium_src-44e9a2fe0aa46ac1b8f2d7a861aa211bba252096.tar.bz2 |
cc: Async readback.
Provide a path to get a readback of a layer's subtree via an
asynchronous mechanism.
This path is used for all the cc pixel tests, to show that it
works. Also by some unit tests:
LayerTreeHostTestAsyncReadback.GLRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.GLRenderer_RunMultiThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunSingleThread
LayerTreeHostTestAsyncReadback.SoftwareRenderer_RunMultiThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunSingleThread
LayerTreeHostTestAsyncReadbackLayerDestroyed.RunMultiThread
BUG=179896
Review URL: https://chromiumcodereview.appspot.com/14060015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196713 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/quads/render_pass.h')
-rw-r--r-- | cc/quads/render_pass.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cc/quads/render_pass.h b/cc/quads/render_pass.h index bfd0d83..1fb011a 100644 --- a/cc/quads/render_pass.h +++ b/cc/quads/render_pass.h @@ -9,6 +9,8 @@ #include <vector> #include "base/basictypes.h" +#include "base/callback.h" +#include "base/hash_tables.h" #include "cc/base/cc_export.h" #include "cc/base/hash_pair.h" #include "cc/base/scoped_ptr_hash_map.h" @@ -97,6 +99,14 @@ class CC_EXPORT RenderPass { // complete, since they are occluded. bool has_occlusion_from_outside_target_surface; + // If non-empty, the renderer should produce a copy of the render pass' + // contents as a bitmap, and give a copy of the bitmap to each callback in + // this list. This property should not be serialized between compositors, as + // it only makes sense in the root compositor. + typedef base::Callback<void(scoped_ptr<SkBitmap>)> + RequestCopyAsBitmapCallback; + std::vector<RequestCopyAsBitmapCallback> copy_callbacks; + QuadList quad_list; SharedQuadStateList shared_quad_state_list; |