| Index: gpu/command_buffer/service/framebuffer_manager.h
|
| diff --git a/gpu/command_buffer/service/framebuffer_manager.h b/gpu/command_buffer/service/framebuffer_manager.h
|
| index bb0de013a807c5b251740072bfe69d96cdd1afd2..5b43acd7aa77db5d312188a051ea5f200446f96b 100644
|
| --- a/gpu/command_buffer/service/framebuffer_manager.h
|
| +++ b/gpu/command_buffer/service/framebuffer_manager.h
|
| @@ -235,14 +235,45 @@ class GPU_EXPORT Framebuffer : public base::RefCounted<Framebuffer> {
|
| struct DecoderFramebufferState {
|
| DecoderFramebufferState();
|
| ~DecoderFramebufferState();
|
| + bool is_draw_binding_dirty() const { return draw_binding_dirty_; }
|
| + bool is_read_binding_dirty() const { return read_binding_dirty_; }
|
| +
|
| + void set_draw_framebuffer_clear_state_dirty(bool flag) {
|
| + draw_framebuffer_clear_state_dirty_ = flag;
|
| + }
|
| + bool is_draw_framebuffer_clear_state_dirty() const {
|
| + return draw_framebuffer_clear_state_dirty_;
|
| + }
|
| +
|
| + void set_bound_draw_framebuffer(Framebuffer* framebuffer);
|
| + void set_bound_read_framebuffer(Framebuffer* framebuffer);
|
| + Framebuffer* bound_draw_framebuffer() const {
|
| + return bound_draw_framebuffer_.get();
|
| + }
|
| + Framebuffer* bound_read_framebuffer() const {
|
| + return bound_read_framebuffer_.get();
|
| + }
|
| + void SetBoundFramebuffer(GLenum target, Framebuffer* framebuffer);
|
| + bool IsBindingDirty(GLenum target) const;
|
| + void MarkBindingDirty(GLenum target);
|
| + void MarkBindingClean(GLenum target);
|
| +
|
| + void NotifyFramebufferChanged(Framebuffer* framebuffer);
|
| + void NotifyBoundFramebuffersChanged();
|
| +
|
| + private:
|
| + // OpenGL FBO bindings have been modified and do not reflect
|
| + // bound_read_framebuffer and bound_draw_framebuffer.
|
| + bool draw_binding_dirty_;
|
| + bool read_binding_dirty_;
|
|
|
| // State saved for clearing so we can clear render buffers and then
|
| // restore to these values.
|
| - bool clear_state_dirty;
|
| + bool draw_framebuffer_clear_state_dirty_;
|
|
|
| // The currently bound framebuffers
|
| - scoped_refptr<Framebuffer> bound_read_framebuffer;
|
| - scoped_refptr<Framebuffer> bound_draw_framebuffer;
|
| + scoped_refptr<Framebuffer> bound_read_framebuffer_;
|
| + scoped_refptr<Framebuffer> bound_draw_framebuffer_;
|
| };
|
|
|
| // This class keeps track of the frambebuffers and their attached renderbuffers
|
|
|