summaryrefslogtreecommitdiffstats
path: root/cc/quads/render_pass.h
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-26 13:13:21 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-26 13:13:21 +0000
commit44e9a2fe0aa46ac1b8f2d7a861aa211bba252096 (patch)
treeda5994ca0ed4058d3aa259ea7851331000d29907 /cc/quads/render_pass.h
parenta23f62e6e57a92d3f75b5ff600d351f01b6b7d4b (diff)
downloadchromium_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.h10
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;