| 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 129d5f348ef65de63410a7cdf0635c0b872f4203..b68ab7d9f1209710bc994d02bc1ebb7c9344e2a5 100644
|
| --- a/gpu/command_buffer/service/framebuffer_manager.h
|
| +++ b/gpu/command_buffer/service/framebuffer_manager.h
|
| @@ -64,6 +64,7 @@ class GPU_EXPORT Framebuffer : public base::RefCounted<Framebuffer> {
|
| }
|
|
|
| bool HasUnclearedAttachment(GLenum attachment) const;
|
| + bool HasUnclearedColorAttachments() const;
|
|
|
| void MarkAttachmentAsCleared(
|
| RenderbufferManager* renderbuffer_manager,
|
| @@ -129,6 +130,14 @@ class GPU_EXPORT Framebuffer : public base::RefCounted<Framebuffer> {
|
|
|
| void SetDrawBuffers(GLsizei n, const GLenum* bufs);
|
|
|
| + // If a color buffer is attached to GL_COLOR_ATTACHMENTi, enable that
|
| + // draw buffer for glClear().
|
| + void PrepareDrawBuffersForClear() const;
|
| +
|
| + // Restore draw buffers states that have been changed in
|
| + // PrepareDrawBuffersForClear().
|
| + void RestoreDrawBuffersAfterClear() const;
|
| +
|
| // Return true if any draw buffers has an alpha channel.
|
| bool HasAlphaMRT() const;
|
|
|
| @@ -163,6 +172,10 @@ class GPU_EXPORT Framebuffer : public base::RefCounted<Framebuffer> {
|
| return framebuffer_complete_state_count_id_;
|
| }
|
|
|
| + // Helper function for PrepareDrawBuffersForClear() and
|
| + // RestoreDrawBuffersAfterClear().
|
| + void ChangeDrawBuffersHelper(bool recover) const;
|
| +
|
| // The managers that owns this.
|
| FramebufferManager* manager_;
|
|
|
|
|