OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef GPU_COMMAND_BUFFER_SERVICE_FRAMEBUFFER_MANAGER_H_ | 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_FRAMEBUFFER_MANAGER_H_ |
6 #define GPU_COMMAND_BUFFER_SERVICE_FRAMEBUFFER_MANAGER_H_ | 6 #define GPU_COMMAND_BUFFER_SERVICE_FRAMEBUFFER_MANAGER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 | 67 |
68 bool HasUnclearedAttachment(GLenum attachment) const; | 68 bool HasUnclearedAttachment(GLenum attachment) const; |
69 bool HasUnclearedColorAttachments() const; | 69 bool HasUnclearedColorAttachments() const; |
70 | 70 |
71 void MarkAttachmentAsCleared( | 71 void MarkAttachmentAsCleared( |
72 RenderbufferManager* renderbuffer_manager, | 72 RenderbufferManager* renderbuffer_manager, |
73 TextureManager* texture_manager, | 73 TextureManager* texture_manager, |
74 GLenum attachment, | 74 GLenum attachment, |
75 bool cleared); | 75 bool cleared); |
76 | 76 |
| 77 // Unbinds all attachments from this framebuffer for workaround |
| 78 // 'unbind_attachments_on_bound_render_fbo_delete'. The Framebuffer must be |
| 79 // bound when calling this. |
| 80 void DoUnbindGLAttachmentsForWorkaround(GLenum target); |
| 81 |
77 // Attaches a renderbuffer to a particlar attachment. | 82 // Attaches a renderbuffer to a particlar attachment. |
78 // Pass null to detach. | 83 // Pass null to detach. |
79 void AttachRenderbuffer( | 84 void AttachRenderbuffer( |
80 GLenum attachment, Renderbuffer* renderbuffer); | 85 GLenum attachment, Renderbuffer* renderbuffer); |
81 | 86 |
82 // Attaches a texture to a particlar attachment. Pass null to detach. | 87 // Attaches a texture to a particlar attachment. Pass null to detach. |
83 void AttachTexture( | 88 void AttachTexture( |
84 GLenum attachment, TextureRef* texture_ref, GLenum target, | 89 GLenum attachment, TextureRef* texture_ref, GLenum target, |
85 GLint level, GLsizei samples); | 90 GLint level, GLsizei samples); |
86 | 91 |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 typedef std::vector<TextureDetachObserver*> TextureDetachObserverVector; | 314 typedef std::vector<TextureDetachObserver*> TextureDetachObserverVector; |
310 TextureDetachObserverVector texture_detach_observers_; | 315 TextureDetachObserverVector texture_detach_observers_; |
311 | 316 |
312 DISALLOW_COPY_AND_ASSIGN(FramebufferManager); | 317 DISALLOW_COPY_AND_ASSIGN(FramebufferManager); |
313 }; | 318 }; |
314 | 319 |
315 } // namespace gles2 | 320 } // namespace gles2 |
316 } // namespace gpu | 321 } // namespace gpu |
317 | 322 |
318 #endif // GPU_COMMAND_BUFFER_SERVICE_FRAMEBUFFER_MANAGER_H_ | 323 #endif // GPU_COMMAND_BUFFER_SERVICE_FRAMEBUFFER_MANAGER_H_ |
OLD | NEW |