diff options
Diffstat (limited to 'chromium/gpu/command_buffer/service/framebuffer_manager.h')
-rw-r--r-- | chromium/gpu/command_buffer/service/framebuffer_manager.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/chromium/gpu/command_buffer/service/framebuffer_manager.h b/chromium/gpu/command_buffer/service/framebuffer_manager.h index eab5809d631..e4433cc045d 100644 --- a/chromium/gpu/command_buffer/service/framebuffer_manager.h +++ b/chromium/gpu/command_buffer/service/framebuffer_manager.h @@ -27,7 +27,6 @@ class FramebufferCompletenessCache; class FramebufferManager; class Renderbuffer; class RenderbufferManager; -class Texture; class TextureRef; class TextureManager; @@ -195,6 +194,11 @@ class GPU_EXPORT Framebuffer : public base::RefCounted<Framebuffer> { bool ValidateAndAdjustDrawBuffers(uint32_t fragment_output_type_mask, uint32_t fragment_output_written_mask); + // Filter out the draw buffers that have no images attached but are not NONE + // through DrawBuffers, to be on the safe side. + // This is applied before a clear call. + void AdjustDrawBuffers(); + bool ContainsActiveIntegerAttachments() const; // Return true if any draw buffers has an alpha channel. @@ -248,6 +252,9 @@ class GPU_EXPORT Framebuffer : public base::RefCounted<Framebuffer> { // This call is only valid on a complete fbo. void UpdateDrawBufferMasks(); + // Helper for ValidateAndAdjustDrawBuffers() and AdjustDrawBuffers(). + void AdjustDrawBuffersImpl(uint32_t desired_mask); + // The managers that owns this. FramebufferManager* manager_; |