Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1215)

Unified Diff: cc/texture_layer.h

Issue 11638028: Mailbox support for texture layers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Feedback, callback runs on main. Created 7 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/texture_layer.h
diff --git a/cc/texture_layer.h b/cc/texture_layer.h
index 2e7921e4bd33ca6a315ed224c1f462eebb3e945a..1aaf01ce6238e49b64efbbb1221a28e804e03c37 100644
--- a/cc/texture_layer.h
+++ b/cc/texture_layer.h
@@ -5,6 +5,9 @@
#ifndef CC_TEXTURE_LAYER_H_
#define CC_TEXTURE_LAYER_H_
+#include <string>
+
+#include "base/callback.h"
#include "cc/cc_export.h"
#include "cc/layer.h"
@@ -24,6 +27,9 @@ public:
// are driven by an external process.
static scoped_refptr<TextureLayer> create(TextureLayerClient*);
+ // Used when mailbox names are specified instead of texture ID's
+ static scoped_refptr<TextureLayer> createForMailbox();
+
void clearClient() { m_client = 0; }
virtual scoped_ptr<LayerImpl> createLayerImpl(LayerTreeImpl* treeImpl) OVERRIDE;
@@ -48,6 +54,9 @@ public:
// Code path for plugins which supply their own texture ID.
void setTextureId(unsigned);
+ // Code path for plugins which supply their own texture ID.
+ void setTextureMailbox(const std::string&, const base::Callback<void(unsigned)>&);
+
void willModifyTexture();
virtual void setNeedsDisplayRect(const gfx::RectF&) OVERRIDE;
@@ -59,11 +68,13 @@ public:
virtual bool blocksPendingCommit() const OVERRIDE;
protected:
- explicit TextureLayer(TextureLayerClient*);
+ TextureLayer(TextureLayerClient*, bool usesMailbox);
virtual ~TextureLayer();
private:
TextureLayerClient* m_client;
+ bool m_usesMailbox;
+ base::Callback<void(unsigned)> m_mailboxReleaseCallback;
bool m_flipped;
gfx::RectF m_uvRect;
@@ -75,6 +86,7 @@ private:
bool m_contentCommitted;
unsigned m_textureId;
+ std::string m_mailboxName;
};
}
« no previous file with comments | « cc/resource_provider.cc ('k') | cc/texture_layer.cc » ('j') | cc/texture_layer.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698