| Index: gpu/command_buffer/service/framebuffer_manager.cc
|
| diff --git a/gpu/command_buffer/service/framebuffer_manager.cc b/gpu/command_buffer/service/framebuffer_manager.cc
|
| index 48e503cb45b3d1e64986d369edfe70d7f3557c16..7dfba400d24704d31a79cba36c62655b1c81bba8 100644
|
| --- a/gpu/command_buffer/service/framebuffer_manager.cc
|
| +++ b/gpu/command_buffer/service/framebuffer_manager.cc
|
| @@ -119,6 +119,9 @@ class RenderbufferAttachment
|
| renderbuffer_->AddToSignature(signature);
|
| }
|
|
|
| + virtual void OnWillRenderTo() const OVERRIDE {}
|
| + virtual void OnDidRenderTo() const OVERRIDE {}
|
| +
|
| protected:
|
| virtual ~RenderbufferAttachment() { }
|
|
|
| @@ -243,6 +246,14 @@ class TextureAttachment
|
| texture_ref_.get(), target_, level_, signature);
|
| }
|
|
|
| + virtual void OnWillRenderTo() const OVERRIDE {
|
| + texture_ref_->texture()->OnWillModifyPixels();
|
| + }
|
| +
|
| + virtual void OnDidRenderTo() const OVERRIDE {
|
| + texture_ref_->texture()->OnDidModifyPixels();
|
| + }
|
| +
|
| protected:
|
| virtual ~TextureAttachment() {}
|
|
|
| @@ -615,6 +626,20 @@ void Framebuffer::OnTextureRefDetached(TextureRef* texture) {
|
| manager_->OnTextureRefDetached(texture);
|
| }
|
|
|
| +void Framebuffer::OnWillRenderTo() const {
|
| + for (AttachmentMap::const_iterator it = attachments_.begin();
|
| + it != attachments_.end(); ++it) {
|
| + it->second->OnWillRenderTo();
|
| + }
|
| +}
|
| +
|
| +void Framebuffer::OnDidRenderTo() const {
|
| + for (AttachmentMap::const_iterator it = attachments_.begin();
|
| + it != attachments_.end(); ++it) {
|
| + it->second->OnDidRenderTo();
|
| + }
|
| +}
|
| +
|
| bool FramebufferManager::GetClientId(
|
| GLuint service_id, GLuint* client_id) const {
|
| // This doesn't need to be fast. It's only used during slow queries.
|
|
|