Index: cc/gl_renderer.h |
diff --git a/cc/gl_renderer.h b/cc/gl_renderer.h |
index 2e119334a12490aee423143d2878ca8df04a2f14..180b5acebf4c76c05f77039e29a141ec514f5ede 100644 |
--- a/cc/gl_renderer.h |
+++ b/cc/gl_renderer.h |
@@ -5,6 +5,9 @@ |
#ifndef CC_GL_RENDERER_H_ |
#define CC_GL_RENDERER_H_ |
+#include <queue> |
+#include <vector> |
+ |
#include "cc/cc_export.h" |
#include "cc/checkerboard_draw_quad.h" |
#include "cc/debug_border_draw_quad.h" |
@@ -45,6 +48,8 @@ public: |
virtual void viewportChanged() OVERRIDE; |
+ virtual void receiveCompositorFrameAck(const CompositorFrameAck&) OVERRIDE; |
+ |
// waits for rendering to finish |
virtual void finish() OVERRIDE; |
@@ -226,9 +231,30 @@ private: |
bool m_visible; |
bool m_isScissorEnabled; |
bool m_blendShadow; |
+ bool m_renderToMailbox; |
unsigned m_programShadow; |
TexturedQuadDrawCache m_drawCache; |
+ struct MailboxTexture |
danakj
2013/01/18 01:01:41
considering that we're going to have a TextureMail
no sievers
2013/02/06 23:36:00
Done.
|
+ { |
+ MailboxTexture() |
+ : textureId(0) {} |
+ |
+ MailboxTexture(uint32 textureId, |
+ const Mailbox& mailbox, |
+ const gfx::Size& size) |
+ : textureId(textureId), |
+ mailbox(mailbox), |
+ size(size) {} |
+ |
+ uint32 textureId; |
+ Mailbox mailbox; |
+ gfx::Size size; |
+ }; |
+ MailboxTexture m_currentBacking; |
+ std::vector<MailboxTexture> m_pendingFrames; |
+ std::queue<MailboxTexture> m_returnedTextures; |
+ |
scoped_ptr<ResourceProvider::ScopedWriteLockGL> m_currentFramebufferLock; |
DISALLOW_COPY_AND_ASSIGN(GLRenderer); |